合并此前 stash 的 developer-apps:免登录列表、popadmin 管理与 0027 迁移。 Co-authored-by: Cursor <cursoragent@cursor.com>
52 lines
4.4 KiB
SQL
52 lines
4.4 KiB
SQL
-- 同开发者应用(应用墙):popadmin 可配,客户端 Discover / 福利页展示。
|
||
|
||
CREATE TABLE IF NOT EXISTS t_developer_apps (
|
||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '自增 id',
|
||
source_app_code VARCHAR(64) NOT NULL DEFAULT 'spark' COMMENT '来源 App 编码(spark|sleepheart|…)',
|
||
target_app_name VARCHAR(128) NOT NULL DEFAULT '' COMMENT '展示名称',
|
||
target_package_name VARCHAR(256) NOT NULL DEFAULT '' COMMENT '包名 / Bundle ID',
|
||
subtitle VARCHAR(256) NOT NULL DEFAULT '' COMMENT '副标题',
|
||
icon_url VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '图标 URL',
|
||
store_url VARCHAR(1024) NOT NULL DEFAULT '' COMMENT 'App Store / 下载链接',
|
||
fallback_url VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '备用跳转链接',
|
||
schema_url VARCHAR(512) NOT NULL DEFAULT '' COMMENT 'URL Scheme / 深链',
|
||
sort_order INT NOT NULL DEFAULT 0 COMMENT '越小越靠前',
|
||
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '1=上架',
|
||
updated_at DATETIME(3) NOT NULL COMMENT '更新时间',
|
||
UNIQUE KEY uk_dev_apps_source_pkg (source_app_code, target_package_name),
|
||
KEY idx_dev_apps_source (source_app_code, enabled, sort_order)
|
||
) COMMENT='同开发者推荐应用列表';
|
||
|
||
INSERT INTO t_developer_apps
|
||
(source_app_code, target_app_name, target_package_name, subtitle, icon_url, store_url, fallback_url, schema_url, sort_order, enabled, updated_at)
|
||
VALUES
|
||
('spark', 'Flipclock桌面翻页时钟', 'com.wyrs.flipclock', '桌面翻页时钟小组件', 'https://www.wyrs365.com/assets/logo-flipclock.png',
|
||
'https://www.wyrs365.com/flipclock', 'https://www.wyrs365.com/flipclock', '', 10, 1, CURRENT_TIMESTAMP(3)),
|
||
('spark', '手指测心率', 'com.wyrs.heartrate', '指尖 PPG 测心率', 'https://www.wyrs365.com/assets/logo-heartrate.png',
|
||
'https://www.wyrs365.com/heartrate', 'https://www.wyrs365.com/heartrate', '', 20, 1, CURRENT_TIMESTAMP(3)),
|
||
('spark', '猪咪记账记事本', 'com.wyrs.piggy', '记账 · 倒数日 · 小组件', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/piggy-account', 'https://www.wyrs365.com/piggy-account', '', 30, 1, CURRENT_TIMESTAMP(3)),
|
||
('spark', '鼾声分贝仪', 'com.wyrs.snore', '鼾声检测与分贝测量', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/decibel', 'https://www.wyrs365.com/decibel', '', 40, 1, CURRENT_TIMESTAMP(3)),
|
||
('spark', '微雨LedBanner', 'com.wyrs.ledbanner', 'LED 滚动灯牌', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/led-banner', 'https://www.wyrs365.com/led-banner', '', 50, 1, CURRENT_TIMESTAMP(3)),
|
||
('sleepheart', 'Flipclock桌面翻页时钟', 'com.wyrs.flipclock', '桌面翻页时钟小组件', 'https://www.wyrs365.com/assets/logo-flipclock.png',
|
||
'https://www.wyrs365.com/flipclock', 'https://www.wyrs365.com/flipclock', '', 10, 1, CURRENT_TIMESTAMP(3)),
|
||
('sleepheart', '手指测心率', 'com.wyrs.heartrate', '指尖 PPG 测心率', 'https://www.wyrs365.com/assets/logo-heartrate.png',
|
||
'https://www.wyrs365.com/heartrate', 'https://www.wyrs365.com/heartrate', '', 20, 1, CURRENT_TIMESTAMP(3)),
|
||
('sleepheart', '猪咪记账记事本', 'com.wyrs.piggy', '记账 · 倒数日 · 小组件', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/piggy-account', 'https://www.wyrs365.com/piggy-account', '', 30, 1, CURRENT_TIMESTAMP(3)),
|
||
('sleepheart', '鼾声分贝仪', 'com.wyrs.snore', '鼾声检测与分贝测量', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/decibel', 'https://www.wyrs365.com/decibel', '', 40, 1, CURRENT_TIMESTAMP(3)),
|
||
('sleepheart', '微雨LedBanner', 'com.wyrs.ledbanner', 'LED 滚动灯牌', 'https://www.wyrs365.com/assets/logo-piggy-account.png',
|
||
'https://www.wyrs365.com/led-banner', 'https://www.wyrs365.com/led-banner', '', 50, 1, CURRENT_TIMESTAMP(3))
|
||
ON DUPLICATE KEY UPDATE
|
||
target_app_name = VALUES(target_app_name),
|
||
subtitle = VALUES(subtitle),
|
||
icon_url = IF(icon_url = '' OR icon_url IS NULL, VALUES(icon_url), icon_url),
|
||
store_url = IF(store_url = '' OR store_url IS NULL, VALUES(store_url), store_url),
|
||
fallback_url = IF(fallback_url = '' OR fallback_url IS NULL, VALUES(fallback_url), fallback_url),
|
||
sort_order = VALUES(sort_order),
|
||
enabled = VALUES(enabled),
|
||
updated_at = CURRENT_TIMESTAMP(3);
|