Update WBBR frontend template collection
This commit is contained in:
108
app/data/anime-detail.json
Normal file
108
app/data/anime-detail.json
Normal file
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"work": {
|
||||
"title": "星海回响",
|
||||
"titleEn": "ECHOES ACROSS THE STARS",
|
||||
"subtitle": "当最后一颗人造星辰熄灭,他们决定把真正的星空带回城市。",
|
||||
"status": "连载中",
|
||||
"year": "2026",
|
||||
"region": "原创动画",
|
||||
"age": "13+",
|
||||
"episodes": 12,
|
||||
"updatedEpisode": 8,
|
||||
"rating": 9.3,
|
||||
"ratingCount": 18342,
|
||||
"watchCount": "126.8万",
|
||||
"followCount": "48.2万",
|
||||
"rank": "本季口碑榜 No.2",
|
||||
"tags": ["科幻", "青春", "治愈", "原创"],
|
||||
"studio": "Lumen Frame",
|
||||
"director": "川原澄",
|
||||
"release": "2026-07-04",
|
||||
"schedule": "每周六 20:00 更新",
|
||||
"description": "海平面上升后的新港市,真正的星空被人造穹顶遮蔽。天文部少女澪在废弃观测站收到一段来自十二年前的星际讯号,并与转学生遥组成临时观测队。他们沿着讯号留下的坐标寻找失落的天文台,也逐渐发现城市穹顶背后被隐藏的秘密。",
|
||||
"copyright": "© 2026 Project Star Echoes",
|
||||
"announcement": "第 9 话将于本周六 20:00 准时更新"
|
||||
},
|
||||
"episodes": [
|
||||
{ "id": 1, "title": "看不见星星的城市", "duration": "24:12", "date": "07-04", "progress": 100, "released": true, "summary": "澪在废弃天文台意外接收到未知讯号。" },
|
||||
{ "id": 2, "title": "十二年前的坐标", "duration": "23:48", "date": "07-11", "progress": 42, "released": true, "summary": "遥辨认出讯号中属于旧港区的坐标。" },
|
||||
{ "id": 3, "title": "雨停之前", "duration": "24:05", "date": "07-18", "progress": 0, "released": true, "summary": "两人在暴雨中寻找第一座地面信标。" },
|
||||
{ "id": 4, "title": "潮汐电台", "duration": "23:56", "date": "07-25", "progress": 0, "released": true, "summary": "一段夜间广播连接起被遗忘的记忆。" },
|
||||
{ "id": 5, "title": "光的背面", "duration": "24:20", "date": "08-01", "progress": 0, "released": true, "summary": "穹顶维护记录第一次出现人为删改痕迹。" },
|
||||
{ "id": 6, "title": "无人观测站", "duration": "23:51", "date": "08-08", "progress": 0, "released": true, "summary": "观测队在海上风场发现第二台接收器。" },
|
||||
{ "id": 7, "title": "零点之后", "duration": "24:03", "date": "08-15", "progress": 0, "released": true, "summary": "城市短暂停电,真正的银河显露了十一秒。" },
|
||||
{ "id": 8, "title": "我们仰望的方向", "duration": "24:16", "date": "08-22", "progress": 0, "released": true, "summary": "澪决定公开观测数据,却面临意外阻力。" },
|
||||
{ "id": 9, "title": "彗星抵达之夜", "duration": "--:--", "date": "本周六", "progress": 0, "released": false, "summary": "彗星将穿过穹顶开放窗口。" },
|
||||
{ "id": 10, "title": "尚未命名", "duration": "--:--", "date": "待更新", "progress": 0, "released": false, "summary": "内容将在播出后解锁。" },
|
||||
{ "id": 11, "title": "尚未命名", "duration": "--:--", "date": "待更新", "progress": 0, "released": false, "summary": "内容将在播出后解锁。" },
|
||||
{ "id": 12, "title": "尚未命名", "duration": "--:--", "date": "待更新", "progress": 0, "released": false, "summary": "内容将在播出后解锁。" }
|
||||
],
|
||||
"products": [
|
||||
{ "id": "SE-FIG-01", "name": "澪·观星时刻 1/7 手办", "category": "收藏手办", "price": 699, "originalPrice": 759, "badge": "预售", "stock": "剩余 86 件", "imagePosition": "left", "rating": 4.9 },
|
||||
{ "id": "SE-BOOK-01", "name": "星海回响 设定集礼盒", "category": "画集 / 亚克力", "price": 189, "originalPrice": 219, "badge": "新品", "stock": "现货", "imagePosition": "center", "rating": 4.8 },
|
||||
{ "id": "SE-JKT-01", "name": "天文观测部刺绣夹克", "category": "服饰", "price": 329, "originalPrice": 369, "badge": "限定", "stock": "部分尺码紧张", "imagePosition": "right", "rating": 4.7 }
|
||||
],
|
||||
"ratingDistribution": [
|
||||
{ "stars": 5, "percent": 78 },
|
||||
{ "stars": 4, "percent": 16 },
|
||||
{ "stars": 3, "percent": 4 },
|
||||
{ "stars": 2, "percent": 1 },
|
||||
{ "stars": 1, "percent": 1 }
|
||||
],
|
||||
"comments": [
|
||||
{
|
||||
"id": 101,
|
||||
"author": "北纬三十度",
|
||||
"initial": "北",
|
||||
"tone": "violet",
|
||||
"score": 5,
|
||||
"time": "2 小时前",
|
||||
"episode": "看到第 8 话",
|
||||
"content": "第七话停电后那十一秒的银河太震撼了。没有刻意煽情,角色只是安静地站在那里,反而把前面所有铺垫都接住了。美术和配乐都值得反复看。",
|
||||
"likes": 328,
|
||||
"spoiler": false,
|
||||
"replies": [
|
||||
{ "id": 1001, "author": "玻璃汽水", "initial": "汽", "content": "同感,环境音慢慢消失的处理尤其好。", "time": "1 小时前", "likes": 24 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"author": "纸飞机研究社",
|
||||
"initial": "纸",
|
||||
"tone": "blue",
|
||||
"score": 4,
|
||||
"time": "昨天 22:14",
|
||||
"episode": "看到第 8 话",
|
||||
"content": "设定很浪漫,主线推进也稳。希望后四集能多解释一点穹顶系统和遥的过去,现在伏笔已经很多了。",
|
||||
"likes": 146,
|
||||
"spoiler": false,
|
||||
"replies": []
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"author": "折射率",
|
||||
"initial": "折",
|
||||
"tone": "coral",
|
||||
"score": 5,
|
||||
"time": "昨天 18:40",
|
||||
"episode": "看到第 7 话",
|
||||
"content": "镜头语言非常克制,观测站、潮汐和广播这些意象形成了很完整的呼应。第七话结尾已经加入我的年度画面候选。",
|
||||
"likes": 97,
|
||||
"spoiler": false,
|
||||
"replies": []
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"author": "午后睡不醒",
|
||||
"initial": "午",
|
||||
"tone": "green",
|
||||
"score": 4,
|
||||
"time": "08-20",
|
||||
"episode": "看到第 6 话",
|
||||
"content": "人物相处很自然,小机器人每次出现都很可爱。节奏偏慢,但正好适合每周追一集慢慢消化。",
|
||||
"likes": 61,
|
||||
"spoiler": false,
|
||||
"replies": []
|
||||
}
|
||||
]
|
||||
}
|
||||
73
app/data/content-templates.json
Normal file
73
app/data/content-templates.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"listItems": [
|
||||
{ "id": "DOC-2048", "title": "世界观设定总览", "description": "新港市、穹顶系统与海上风场的核心设定汇总", "category": "世界观", "status": "已发布", "tags": ["核心设定", "公开"], "owner": "林知夏", "initial": "林", "updated": "10 分钟前", "favorite": true },
|
||||
{ "id": "DOC-2047", "title": "第 09 话分镜评审记录", "description": "彗星抵达之夜 · 第二轮分镜意见与修改清单", "category": "制作资料", "status": "评审中", "tags": ["分镜", "S1E09"], "owner": "周砚", "initial": "周", "updated": "今天 14:32", "favorite": true },
|
||||
{ "id": "DOC-2046", "title": "角色语言风格指南", "description": "主要角色语气、习惯用词与情绪表达边界", "category": "角色", "status": "已发布", "tags": ["角色设定", "编剧"], "owner": "唐可", "initial": "唐", "updated": "今天 11:08", "favorite": false },
|
||||
{ "id": "DOC-2045", "title": "观测站场景资产清单", "description": "旧港观测站内外景模型、道具及材质完成度", "category": "制作资料", "status": "草稿", "tags": ["场景", "资产"], "owner": "许原", "initial": "许", "updated": "昨天 18:20", "favorite": false },
|
||||
{ "id": "DOC-2044", "title": "澪 · 角色完整档案", "description": "角色经历、人物关系、服装变化与关键转折", "category": "角色", "status": "已发布", "tags": ["主角", "重要"], "owner": "林知夏", "initial": "林", "updated": "昨天 16:45", "favorite": true },
|
||||
{ "id": "DOC-2043", "title": "穹顶维护局组织架构", "description": "维护局各部门职责、权限层级及主要人物", "category": "世界观", "status": "已发布", "tags": ["组织", "关系图"], "owner": "陈默", "initial": "陈", "updated": "08-20", "favorite": false },
|
||||
{ "id": "DOC-2042", "title": "第一季音乐主题说明", "description": "角色主题、环境动机与配器方向备忘", "category": "音乐", "status": "评审中", "tags": ["原声", "主题动机"], "owner": "白川", "initial": "白", "updated": "08-20", "favorite": false },
|
||||
{ "id": "DOC-2041", "title": "官方周边视觉规范", "description": "商品标识、色彩、图案及包装应用规则", "category": "品牌", "status": "已发布", "tags": ["周边", "VI"], "owner": "顾言", "initial": "顾", "updated": "08-19", "favorite": false },
|
||||
{ "id": "DOC-2040", "title": "第 08 话配音修改单", "description": "最终混音前的台词重录与气口调整说明", "category": "制作资料", "status": "已归档", "tags": ["配音", "S1E08"], "owner": "周砚", "initial": "周", "updated": "08-18", "favorite": false },
|
||||
{ "id": "DOC-2039", "title": "社区剧透管理规则", "description": "评论区剧透标记、折叠与举报处理规范", "category": "运营", "status": "已发布", "tags": ["社区", "规则"], "owner": "叶青", "initial": "叶", "updated": "08-17", "favorite": false }
|
||||
],
|
||||
"character": {
|
||||
"name": "天野澪",
|
||||
"nameEn": "MIO AMANO",
|
||||
"code": "CHARACTER / SE-001",
|
||||
"role": "天文部部长 · 第一主角",
|
||||
"age": 17,
|
||||
"birthday": "9 月 17 日",
|
||||
"height": "161 cm",
|
||||
"voice": "水濑遥",
|
||||
"affiliation": "新港第一高校 · 天文观测部",
|
||||
"quote": "就算看不见,星星也没有消失。",
|
||||
"bio": "生活在被人造穹顶遮蔽的新港市。外表安静克制,对未知事物却有近乎固执的好奇心。十二年前的一场停电让她第一次看见真正的银河,也促使她加入濒临废部的天文观测部。故事开始时,她在旧观测站接收到一段来源不明的星际讯号。",
|
||||
"tags": ["第一主角", "天文部", "观测者", "理性型", "隐藏往事", "星之继承者"],
|
||||
"traits": [
|
||||
{ "label": "观察力", "value": 92 },
|
||||
{ "label": "行动力", "value": 68 },
|
||||
{ "label": "共情力", "value": 81 },
|
||||
{ "label": "表达力", "value": 55 }
|
||||
],
|
||||
"skills": [
|
||||
{ "name": "星图记忆", "description": "能够快速辨认星图与观测坐标", "level": "S" },
|
||||
{ "name": "信号解码", "description": "熟悉旧式短波设备与基础编码", "level": "A" },
|
||||
{ "name": "夜间摄影", "description": "擅长长曝光与天体影像处理", "level": "A" }
|
||||
],
|
||||
"relations": [
|
||||
{ "name": "朝仓遥", "initial": "遥", "relation": "搭档 / 转学生", "tone": "blue" },
|
||||
{ "name": "佐仓奈奈", "initial": "奈", "relation": "好友 / 副部长", "tone": "coral" },
|
||||
{ "name": "天野诚一", "initial": "诚", "relation": "父亲 / 失踪", "tone": "gray" }
|
||||
],
|
||||
"timeline": [
|
||||
{ "episode": "EP.01", "title": "接收到十二年前的讯号", "type": "初登场" },
|
||||
{ "episode": "EP.03", "title": "在暴雨中启动地面信标", "type": "关键行动" },
|
||||
{ "episode": "EP.07", "title": "第一次向遥说起父亲", "type": "关系转折" },
|
||||
{ "episode": "EP.08", "title": "决定公开穹顶观测数据", "type": "人物成长" }
|
||||
]
|
||||
},
|
||||
"documents": [
|
||||
{
|
||||
"id": "md-001",
|
||||
"title": "第 09 话创作说明",
|
||||
"category": "制作笔记",
|
||||
"updated": "刚刚",
|
||||
"content": "# 第 09 话:彗星抵达之夜\n\n> 本集的核心不是彗星,而是角色终于决定一起面对真相。\n\n## 本集目标\n\n- 完成澪与遥的关系转折\n- 揭示穹顶开放窗口的真实用途\n- 回收第 01 话的短波讯号伏笔\n\n## 情绪曲线\n\n从**平静等待**逐步走向*不可逆的选择*。前半段保持低饱和与长镜头,彗星出现后切换为高对比画面。\n\n### 关键场景\n\n1. 天台上的最后一次设备校准\n2. 维护局封锁旧港观测站\n3. 全城第一次主动关闭穹顶照明\n\n---\n\n## 制作提醒\n\n请在最终混音中保留 11 秒完全无配乐的城市环境音。\n\n`signal.open(20:00)` 是本集反复出现的视觉符号。"
|
||||
},
|
||||
{
|
||||
"id": "md-002",
|
||||
"title": "角色台词风格指南",
|
||||
"category": "角色设定",
|
||||
"updated": "昨天 16:45",
|
||||
"content": "# 角色台词风格指南\n\n## 天野澪\n\n语言简洁,优先陈述观察结果,很少直接表达情绪。\n\n- 避免连续使用感叹句\n- 紧张时会重复确认时间\n- 用「也许」代替没有依据的判断\n\n> 角色不是冷漠,只是不擅长把感受翻译成语言。"
|
||||
},
|
||||
{
|
||||
"id": "md-003",
|
||||
"title": "世界观名词表",
|
||||
"category": "世界观",
|
||||
"updated": "08-20",
|
||||
"content": "# 世界观名词表\n\n## 人造穹顶\n\n覆盖新港市上空的气候调节设施,正式编号为 `NC-DOME-03`。\n\n## 地面信标\n\n旧时代天文观测网络的定位装置,目前仅发现三座。\n\n## 潮汐电台\n\n每晚零点在短波频段出现的无人广播。"
|
||||
}
|
||||
]
|
||||
}
|
||||
39
app/data/image-host.json
Normal file
39
app/data/image-host.json
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"categories": ["全部", "动漫", "星空", "角色", "周边", "壁纸"],
|
||||
"images": [
|
||||
{ "id": "img-01", "title": "星海屋顶的约定", "src": "/anime/star-echoes-hero.png", "category": "壁纸", "ratio": "16 / 10", "position": "center", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-10", "views": 1284, "tags": ["星空", "双人", "城市"] },
|
||||
{ "id": "img-02", "title": "彗星划过观测台", "src": "/anime/star-echoes-hero.png", "category": "星空", "ratio": "4 / 5", "position": "24% center", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-09", "views": 986, "tags": ["彗星", "银河", "观测台"] },
|
||||
{ "id": "img-03", "title": "天野澪角色立绘", "src": "/anime/star-echoes-merch.png", "category": "角色", "ratio": "3 / 4", "position": "12% center", "width": 2048, "height": 1024, "size": "2.07 MB", "format": "PNG", "uploadedAt": "2026-08-08", "views": 2150, "tags": ["角色", "蓝发", "立绘"] },
|
||||
{ "id": "img-04", "title": "星轨设定集封面", "src": "/anime/star-echoes-merch.png", "category": "周边", "ratio": "1 / 1", "position": "50% center", "width": 2048, "height": 1024, "size": "2.07 MB", "format": "PNG", "uploadedAt": "2026-08-08", "views": 733, "tags": ["设定集", "封面", "周边"] },
|
||||
{ "id": "img-05", "title": "深蓝飞行夹克", "src": "/anime/star-echoes-merch.png", "category": "周边", "ratio": "4 / 5", "position": "88% center", "width": 2048, "height": 1024, "size": "2.07 MB", "format": "PNG", "uploadedAt": "2026-08-07", "views": 621, "tags": ["服饰", "夹克", "星轨"] },
|
||||
{ "id": "img-06", "title": "城市日落与星河", "src": "/anime/star-echoes-hero.png", "category": "壁纸", "ratio": "3 / 2", "position": "center 76%", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-06", "views": 1672, "tags": ["日落", "城市", "宽屏"] },
|
||||
{ "id": "img-07", "title": "观测台机器人", "src": "/anime/star-echoes-hero.png", "category": "动漫", "ratio": "3 / 4", "position": "94% center", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-05", "views": 804, "tags": ["机器人", "观测台", "夜景"] },
|
||||
{ "id": "img-08", "title": "月光下的两人", "src": "/anime/star-echoes-hero.png", "category": "动漫", "ratio": "4 / 5", "position": "68% center", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-04", "views": 1493, "tags": ["双人", "月光", "剧情"] },
|
||||
{ "id": "img-09", "title": "星海亚克力立牌", "src": "/anime/star-echoes-merch.png", "category": "周边", "ratio": "2 / 3", "position": "62% center", "width": 2048, "height": 1024, "size": "2.07 MB", "format": "PNG", "uploadedAt": "2026-08-03", "views": 445, "tags": ["立牌", "角色", "收藏"] },
|
||||
{ "id": "img-10", "title": "银河与星座连线", "src": "/anime/star-echoes-hero.png", "category": "星空", "ratio": "5 / 4", "position": "40% 18%", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-02", "views": 1118, "tags": ["银河", "星座", "蓝色"] },
|
||||
{ "id": "img-11", "title": "观测站远景", "src": "/anime/star-echoes-hero.png", "category": "壁纸", "ratio": "1 / 1", "position": "90% center", "width": 2048, "height": 1152, "size": "2.08 MB", "format": "PNG", "uploadedAt": "2026-08-01", "views": 758, "tags": ["建筑", "远景", "星空"] },
|
||||
{ "id": "img-12", "title": "星轨纪念明信片", "src": "/anime/star-echoes-merch.png", "category": "周边", "ratio": "16 / 11", "position": "54% 82%", "width": 2048, "height": 1024, "size": "2.07 MB", "format": "PNG", "uploadedAt": "2026-07-30", "views": 390, "tags": ["明信片", "纪念品", "插画"] }
|
||||
],
|
||||
"albums": [
|
||||
{ "id": "album-01", "title": "《星海回响》官方壁纸", "description": "动画第一季公开的横屏、竖屏与角色壁纸合集。", "category": "壁纸", "coverId": "img-01", "imageIds": ["img-01", "img-02", "img-06", "img-08", "img-10", "img-11"], "updatedAt": "2026-08-10", "tags": ["官方", "壁纸", "第一季"] },
|
||||
{ "id": "album-02", "title": "角色与场景设定", "description": "主要角色、天文台和城市概念设计整理。", "category": "动漫", "coverId": "img-03", "imageIds": ["img-03", "img-07", "img-08", "img-10", "img-11"], "updatedAt": "2026-08-08", "tags": ["设定", "角色", "场景"] },
|
||||
{ "id": "album-03", "title": "星轨周边产品图", "description": "设定集、服饰、立牌与纪念明信片展示图。", "category": "周边", "coverId": "img-05", "imageIds": ["img-04", "img-05", "img-09", "img-12"], "updatedAt": "2026-08-07", "tags": ["周边", "产品", "收藏"] }
|
||||
],
|
||||
"feed": [
|
||||
{ "kind": "album", "id": "album-01" },
|
||||
{ "kind": "image", "id": "img-03" },
|
||||
{ "kind": "image", "id": "img-10" },
|
||||
{ "kind": "image", "id": "img-02" },
|
||||
{ "kind": "album", "id": "album-02" },
|
||||
{ "kind": "image", "id": "img-05" },
|
||||
{ "kind": "image", "id": "img-06" },
|
||||
{ "kind": "image", "id": "img-07" },
|
||||
{ "kind": "album", "id": "album-03" },
|
||||
{ "kind": "image", "id": "img-08" },
|
||||
{ "kind": "image", "id": "img-04" },
|
||||
{ "kind": "image", "id": "img-11" },
|
||||
{ "kind": "image", "id": "img-09" },
|
||||
{ "kind": "image", "id": "img-01" },
|
||||
{ "kind": "image", "id": "img-12" }
|
||||
]
|
||||
}
|
||||
15
app/data/maps/aus-adm1.geojson
Normal file
15
app/data/maps/aus-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
33
app/data/maps/bra-adm1.geojson
Normal file
33
app/data/maps/bra-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
15
app/data/maps/can-adm1.geojson
Normal file
15
app/data/maps/can-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
40
app/data/maps/chn-adm1.geojson
Normal file
40
app/data/maps/chn-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
22
app/data/maps/deu-adm1.geojson
Normal file
22
app/data/maps/deu-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
42
app/data/maps/ind-adm1.geojson
Normal file
42
app/data/maps/ind-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
53
app/data/maps/jpn-adm1.geojson
Normal file
53
app/data/maps/jpn-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
23
app/data/maps/kor-adm1.geojson
Normal file
23
app/data/maps/kor-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
17
app/data/maps/prk-adm1.geojson
Normal file
17
app/data/maps/prk-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
89
app/data/maps/rus-adm1.geojson
Normal file
89
app/data/maps/rus-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
19
app/data/maps/sau-adm1.geojson
Normal file
19
app/data/maps/sau-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
83
app/data/maps/tha-adm1.geojson
Normal file
83
app/data/maps/tha-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
62
app/data/maps/usa-adm1.geojson
Normal file
62
app/data/maps/usa-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
15
app/data/maps/zaf-adm1.geojson
Normal file
15
app/data/maps/zaf-adm1.geojson
Normal file
File diff suppressed because one or more lines are too long
112
app/data/media-player.json
Normal file
112
app/data/media-player.json
Normal file
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"videos": [
|
||||
{
|
||||
"id": "video-flower",
|
||||
"title": "晨光中的花",
|
||||
"subtitle": "HTML5 视频播放器演示片段",
|
||||
"src": "https://developer.mozilla.org/shared-assets/videos/flower.mp4",
|
||||
"poster": "/anime/star-echoes-hero.png",
|
||||
"durationLabel": "00:30",
|
||||
"quality": "1080P",
|
||||
"views": "1.2 万次播放"
|
||||
},
|
||||
{
|
||||
"id": "video-morning",
|
||||
"title": "清晨微距练习",
|
||||
"subtitle": "自然光与微距镜头示例",
|
||||
"src": "https://developer.mozilla.org/shared-assets/videos/flower.mp4#t=2",
|
||||
"poster": "/anime/star-echoes-merch.png",
|
||||
"durationLabel": "00:28",
|
||||
"quality": "720P",
|
||||
"views": "8,620 次播放"
|
||||
},
|
||||
{
|
||||
"id": "video-color",
|
||||
"title": "夏日色彩片段",
|
||||
"subtitle": "短视频色彩与节奏演示",
|
||||
"src": "https://developer.mozilla.org/shared-assets/videos/flower.mp4#t=5",
|
||||
"poster": "/anime/star-echoes-hero.png",
|
||||
"durationLabel": "00:25",
|
||||
"quality": "1080P",
|
||||
"views": "6,438 次播放"
|
||||
}
|
||||
],
|
||||
"tracks": [
|
||||
{
|
||||
"id": "track-01",
|
||||
"title": "Starlight Drift",
|
||||
"artist": "SoundHelix · Ambient Session",
|
||||
"album": "Orbit Night Radio",
|
||||
"src": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3",
|
||||
"cover": "/anime/star-echoes-merch.png",
|
||||
"position": "12% center",
|
||||
"durationLabel": "06:13",
|
||||
"lyrics": [
|
||||
{ "time": 0, "text": "星光落在安静的窗边", "translation": "Starlight rests beside the quiet window" },
|
||||
{ "time": 14, "text": "城市还没有醒来", "translation": "The city has not awakened yet" },
|
||||
{ "time": 30, "text": "我沿着昨夜留下的轨迹", "translation": "I follow the trail left by last night" },
|
||||
{ "time": 47, "text": "寻找你说过的那片海", "translation": "Searching for the sea you once described" },
|
||||
{ "time": 65, "text": "风把遥远的回声带来", "translation": "The wind carries a distant echo" },
|
||||
{ "time": 84, "text": "像一颗缓慢靠近的星", "translation": "Like a star slowly drawing near" },
|
||||
{ "time": 104, "text": "如果时间此刻停下来", "translation": "If time could stop right here" },
|
||||
{ "time": 126, "text": "就让我们漂流在光里", "translation": "Let us drift inside the light" },
|
||||
{ "time": 149, "text": "越过沉睡的天文台", "translation": "Beyond the sleeping observatory" },
|
||||
{ "time": 173, "text": "穿过没有名字的云海", "translation": "Through the nameless sea of clouds" },
|
||||
{ "time": 198, "text": "你在银河尽头等待", "translation": "You wait at the end of the galaxy" },
|
||||
{ "time": 224, "text": "而我循着微光回来", "translation": "And I return following the faint glow" },
|
||||
{ "time": 252, "text": "星光落在安静的窗边", "translation": "Starlight rests beside the quiet window" },
|
||||
{ "time": 282, "text": "我们的故事仍在盛开", "translation": "Our story is still in bloom" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "track-02",
|
||||
"title": "Moon Observatory",
|
||||
"artist": "SoundHelix · Electronic Session",
|
||||
"album": "Orbit Night Radio",
|
||||
"src": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-2.mp3",
|
||||
"cover": "/anime/star-echoes-merch.png",
|
||||
"position": "50% center",
|
||||
"durationLabel": "07:05",
|
||||
"lyrics": [
|
||||
{ "time": 0, "text": "月光绕过旧观测站", "translation": "Moonlight circles the old observatory" },
|
||||
{ "time": 16, "text": "银色屋顶写满答案", "translation": "Silver rooftops are filled with answers" },
|
||||
{ "time": 34, "text": "有人把愿望藏进星盘", "translation": "Someone hid a wish inside the star chart" },
|
||||
{ "time": 53, "text": "等待下一次夜晚", "translation": "Waiting for the next night" },
|
||||
{ "time": 73, "text": "让所有钟声变得缓慢", "translation": "Let every bell begin to slow" },
|
||||
{ "time": 94, "text": "让云层停在山峦", "translation": "Let the clouds rest over the mountains" },
|
||||
{ "time": 116, "text": "你说宇宙并不孤单", "translation": "You said the universe is not alone" },
|
||||
{ "time": 139, "text": "每颗星都有同伴", "translation": "Every star has a companion" },
|
||||
{ "time": 164, "text": "我们在月光里交换晚安", "translation": "We exchange goodnight in the moonlight" },
|
||||
{ "time": 190, "text": "把明天交给夜航的帆", "translation": "Leave tomorrow to the sails of night" },
|
||||
{ "time": 218, "text": "当天空再次变蓝", "translation": "When the sky turns blue again" },
|
||||
{ "time": 248, "text": "我会记得这一晚", "translation": "I will remember this night" },
|
||||
{ "time": 280, "text": "月光绕过旧观测站", "translation": "Moonlight circles the old observatory" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "track-03",
|
||||
"title": "Afterglow City",
|
||||
"artist": "SoundHelix · Dream Session",
|
||||
"album": "Orbit Night Radio",
|
||||
"src": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-3.mp3",
|
||||
"cover": "/anime/star-echoes-hero.png",
|
||||
"position": "center",
|
||||
"durationLabel": "05:48",
|
||||
"lyrics": [
|
||||
{ "time": 0, "text": "日落把街道染成金色", "translation": "Sunset paints the streets in gold" },
|
||||
{ "time": 15, "text": "晚风翻过城市的歌", "translation": "The evening wind turns the city's song" },
|
||||
{ "time": 32, "text": "我们站在高楼的边缘", "translation": "We stand at the edge of the rooftop" },
|
||||
{ "time": 50, "text": "看最后一束光经过", "translation": "Watching the final ray pass by" },
|
||||
{ "time": 69, "text": "别急着说再见", "translation": "Do not hurry to say goodbye" },
|
||||
{ "time": 89, "text": "夜色才刚刚出现", "translation": "The night has only just appeared" },
|
||||
{ "time": 110, "text": "霓虹会替我们点亮", "translation": "Neon lights will shine for us" },
|
||||
{ "time": 132, "text": "回家的那条地平线", "translation": "The horizon that leads us home" },
|
||||
{ "time": 156, "text": "当余晖留在你的侧脸", "translation": "When afterglow rests upon your face" },
|
||||
{ "time": 181, "text": "所有喧闹都听不见", "translation": "All the noise begins to disappear" },
|
||||
{ "time": 208, "text": "只剩心跳一遍一遍", "translation": "Only heartbeats remain, again and again" },
|
||||
{ "time": 238, "text": "陪我们走向明天", "translation": "Walking with us into tomorrow" },
|
||||
{ "time": 270, "text": "日落之后星光重现", "translation": "After sunset, starlight returns" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
147
app/data/produce-map.json
Normal file
147
app/data/produce-map.json
Normal file
@@ -0,0 +1,147 @@
|
||||
{
|
||||
"tabs": [
|
||||
{
|
||||
"id": "china", "label": "中国", "country": "中国", "iso": "CHN", "map": "/maps/chn-adm1.geojson", "accent": "#d66b45",
|
||||
"description": "从东北粮仓到西南高原,展示中国主要特色农产区。",
|
||||
"regions": [
|
||||
{ "name": "Shandong Province", "localName": "山东省", "crops": ["苹果", "花生", "大蒜", "冬小麦"], "season": "5月—10月", "summary": "温带季风气候与广阔平原形成果品、油料和粮食复合产区。" },
|
||||
{ "name": "Hebei Province", "localName": "河北省", "crops": ["小麦", "玉米", "梨", "板栗"], "season": "6月—10月", "summary": "点击可继续下钻到河北省 11 个地级市,查看市级行政区及代表产物。" },
|
||||
{ "name": "Shanghai Municipality", "localName": "上海市", "crops": ["崇明大米", "水蜜桃", "翠冠梨", "青浦茭白"], "season": "5月—10月", "summary": "长江入海口的冲积平原和都市近郊农业,形成稻米、水果及特色水生蔬菜产区。" },
|
||||
{ "name": "Chongqing Municipality", "localName": "重庆市", "crops": ["柑橘", "榨菜", "花椒", "茶叶"], "season": "7月—次年3月", "summary": "山地立体气候与长江河谷共同形成柑橘、花椒、榨菜和茶叶特色产区。" },
|
||||
{ "name": "Yunnan Province", "localName": "云南省", "crops": ["咖啡", "鲜花", "普洱茶", "蓝莓"], "season": "全年分批", "summary": "立体气候明显,不同海拔形成多样化热带与高原特色作物。" },
|
||||
{ "name": "Heilongjiang Province", "localName": "黑龙江省", "crops": ["大豆", "玉米", "水稻", "马铃薯"], "season": "9月—10月", "summary": "黑土地集中连片,是重要的大豆、玉米与优质粳稻产地。" },
|
||||
{ "name": "Xinjiang Uyghur Autonomous Region", "localName": "新疆维吾尔自治区", "crops": ["棉花", "葡萄", "哈密瓜", "番茄"], "season": "7月—10月", "summary": "日照时间长、昼夜温差大,适合棉花和高糖度瓜果生长。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "japan", "label": "日本", "country": "日本", "iso": "JPN", "map": "/maps/jpn-adm1.geojson", "accent": "#cf5f72",
|
||||
"description": "按都道府县查看日本稻米、茶叶、果品与南方作物。",
|
||||
"regions": [
|
||||
{ "name": "Hokkaido", "localName": "北海道", "crops": ["马铃薯", "甜玉米", "甜菜", "乳制品"], "season": "7月—10月", "summary": "冷凉气候与大规模农场形成薯类、旱作和乳畜产品优势。" },
|
||||
{ "name": "Aomori", "localName": "青森县", "crops": ["苹果", "大蒜", "牛蒡", "樱桃"], "season": "8月—11月", "summary": "日本代表性苹果产区,凉爽气候有利于果实着色和糖分积累。" },
|
||||
{ "name": "Shizuoka", "localName": "静冈县", "crops": ["绿茶", "柑橘", "山葵", "草莓"], "season": "4月—12月", "summary": "丘陵茶园与温暖沿海共同塑造茶叶和园艺作物产区。" },
|
||||
{ "name": "Kagoshima Prefecture", "localName": "鹿儿岛县", "crops": ["甘薯", "黑猪", "茶叶", "甘蔗"], "season": "全年分批", "summary": "温暖湿润,火山土壤适合甘薯、茶叶和亚热带作物。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "southeast-asia", "label": "东南亚", "country": "泰国", "iso": "THA", "map": "/maps/tha-adm1.geojson", "accent": "#3c9788",
|
||||
"description": "以泰国为代表地图,展示东南亚稻米、热带水果与高地作物产区。",
|
||||
"regions": [
|
||||
{ "name": "Chiang Mai Province", "localName": "清迈府", "crops": ["龙眼", "咖啡", "草莓", "高山蔬菜"], "season": "11月—3月", "summary": "北部高地昼夜温差明显,形成咖啡、龙眼和冷凉蔬菜产区。" },
|
||||
{ "name": "Chanthaburi Province", "localName": "尖竹汶府", "crops": ["榴莲", "山竹", "红毛丹", "胡椒"], "season": "4月—7月", "summary": "泰国东部热带水果核心产区,以榴莲和山竹集中上市著名。" },
|
||||
{ "name": "Nakhon Ratchasima Province", "localName": "呵叻府", "crops": ["木薯", "甘蔗", "水稻", "玉米"], "season": "11月—4月", "summary": "东北部高原农业区,大田经济作物和香米生产规模较大。" },
|
||||
{ "name": "Surat Thani Province", "localName": "素叻他尼府", "crops": ["椰子", "橡胶", "油棕", "红毛丹"], "season": "全年分批", "summary": "南部湿热气候适合椰子、橡胶、油棕和热带水果。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "india", "label": "印度地区", "country": "印度", "iso": "IND", "map": "/maps/ind-adm1.geojson", "accent": "#d2863c",
|
||||
"description": "按邦和中央直辖区查看印度香料、茶叶、棉花与稻米产区。",
|
||||
"regions": [
|
||||
{ "name": "Punjab", "localName": "旁遮普邦", "crops": ["小麦", "水稻", "棉花", "甘蔗"], "season": "4月及10月—11月", "summary": "灌溉体系完善,是印度重要的粮食和棉花生产区。" },
|
||||
{ "name": "Mahārāshtra", "localName": "马哈拉施特拉邦", "crops": ["棉花", "甘蔗", "葡萄", "芒果"], "season": "1月—5月", "summary": "黑棉土和灌溉区共同支持棉花、甘蔗与园艺作物。" },
|
||||
{ "name": "Kerala", "localName": "喀拉拉邦", "crops": ["椰子", "黑胡椒", "橡胶", "豆蔻"], "season": "全年分批", "summary": "西高止山和热带海岸形成印度代表性香料与种植园农业区。" },
|
||||
{ "name": "Assam", "localName": "阿萨姆邦", "crops": ["红茶", "水稻", "黄麻", "柑橘"], "season": "3月—11月", "summary": "布拉马普特拉河谷湿润温暖,是世界重要红茶产区之一。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "south-korea", "label": "韩国", "country": "韩国", "iso": "KOR", "map": "/maps/kor-adm1.geojson", "accent": "#5278ba",
|
||||
"description": "按特别市、广域市和道查看韩国稻米、果品与岛屿特色作物。",
|
||||
"regions": [
|
||||
{ "name": "Jeju", "localName": "济州特别自治道", "crops": ["柑橘", "绿茶", "萝卜", "荞麦"], "season": "10月—3月", "summary": "火山土壤和海洋性气候形成韩国代表性柑橘与茶叶产区。" },
|
||||
{ "name": "Gyeonggi", "localName": "京畿道", "crops": ["大米", "葡萄", "梨", "设施蔬菜"], "season": "8月—11月", "summary": "首都圈近郊农业发达,优质稻米、果园和设施园艺集中。" },
|
||||
{ "name": "North Gyeongsang", "localName": "庆尚北道", "crops": ["苹果", "葡萄", "桃", "辣椒"], "season": "7月—11月", "summary": "内陆盆地日照充足,是韩国苹果和葡萄的重要产区。" },
|
||||
{ "name": "South Jeolla", "localName": "全罗南道", "crops": ["水稻", "洋葱", "大蒜", "海藻"], "season": "5月—10月", "summary": "温暖西南沿海兼具粮食、蔬菜与海洋养殖产品。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "north-korea", "label": "朝鲜地区", "country": "朝鲜", "iso": "PRK", "map": "/maps/prk-adm1.geojson", "accent": "#a65757",
|
||||
"description": "按直辖市和道查看朝鲜西部平原、山区与北部高原作物。",
|
||||
"regions": [
|
||||
{ "name": "South Hwanghae", "localName": "黄海南道", "crops": ["水稻", "玉米", "大豆", "小麦"], "season": "8月—10月", "summary": "西部平原较为开阔,是重要的粮食生产区域。" },
|
||||
{ "name": "South Pyongan", "localName": "平安南道", "crops": ["水稻", "玉米", "苹果", "蔬菜"], "season": "8月—10月", "summary": "河谷和平原农业并存,粮食与城市周边蔬菜生产突出。" },
|
||||
{ "name": "Ryanggang", "localName": "两江道", "crops": ["马铃薯", "大麦", "豆类", "蓝莓"], "season": "7月—9月", "summary": "北部高原气候冷凉,适合薯类、杂粮和耐寒浆果。" },
|
||||
{ "name": "Kangwon", "localName": "江原道", "crops": ["玉米", "马铃薯", "大豆", "苹果"], "season": "8月—10月", "summary": "山地较多,以旱作粮食、薯类和耐寒果树为主。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "middle-east", "label": "中东地区", "country": "沙特阿拉伯", "iso": "SAU", "map": "/maps/sau-adm1.geojson", "accent": "#b58a3f",
|
||||
"description": "以沙特阿拉伯为示例,展示绿洲农业与沿海渔农产品。",
|
||||
"regions": [
|
||||
{ "name": "Eastern Region", "localName": "东部省", "crops": ["椰枣", "番茄", "黄瓜", "水产"], "season": "10月—5月", "summary": "绿洲与海湾沿岸农业并存,椰枣、设施蔬菜和水产突出。" },
|
||||
{ "name": "Riyadh Region", "localName": "利雅得省", "crops": ["小麦", "椰枣", "苜蓿", "甜瓜"], "season": "冬春季", "summary": "以灌溉农业为主,粮食、饲草和果园集中在可利用水源周边。" },
|
||||
{ "name": "Al Madinah Region", "localName": "麦地那省", "crops": ["阿吉瓦椰枣", "柑橘", "葡萄", "香草"], "season": "7月—10月", "summary": "历史悠久的绿洲果园,以特色椰枣和耐旱果树闻名。" },
|
||||
{ "name": "Al-Qassim Region", "localName": "卡西姆省", "crops": ["椰枣", "小麦", "葡萄", "蔬菜"], "season": "8月—10月", "summary": "大型椰枣市场和灌溉农场集中,是中部重要农业区。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "africa", "label": "非洲地区", "country": "南非", "iso": "ZAF", "map": "/maps/zaf-adm1.geojson", "accent": "#c47d35",
|
||||
"description": "以南非为示例,展示葡萄酒、柑橘和热带水果产区。",
|
||||
"regions": [
|
||||
{ "name": "Western Cape", "localName": "西开普省", "crops": ["酿酒葡萄", "苹果", "梨", "橄榄"], "season": "12月—4月", "summary": "地中海气候显著,是南非葡萄酒和温带水果核心产区。" },
|
||||
{ "name": "Limpopo", "localName": "林波波省", "crops": ["芒果", "牛油果", "柑橘", "坚果"], "season": "10月—3月", "summary": "温暖亚热带气候形成芒果、牛油果和柑橘优势带。" },
|
||||
{ "name": "KwaZulu-Natal", "localName": "夸祖鲁-纳塔尔省", "crops": ["甘蔗", "香蕉", "菠萝", "夏威夷果"], "season": "全年分批", "summary": "湿润沿海地带适合甘蔗与热带、亚热带经济作物。" },
|
||||
{ "name": "Mpumalanga", "localName": "普马兰加省", "crops": ["柑橘", "香蕉", "荔枝", "甘蔗"], "season": "3月—9月", "summary": "低地温暖、日照充足,是出口柑橘和热带水果产区。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "usa", "label": "美国", "country": "美国", "iso": "USA", "map": "/maps/usa-adm1.geojson", "accent": "#4674b8",
|
||||
"description": "按州查看美国果蔬、谷物和特色经济作物带。",
|
||||
"regions": [
|
||||
{ "name": "California", "localName": "加利福尼亚州", "crops": ["杏仁", "葡萄", "草莓", "牛油果"], "season": "全年分批", "summary": "中央谷地和沿海气候带形成高价值果蔬与坚果农业。" },
|
||||
{ "name": "Iowa", "localName": "艾奥瓦州", "crops": ["玉米", "大豆", "猪肉", "燕麦"], "season": "9月—11月", "summary": "肥沃草原土壤,是美国玉米和大豆带的重要核心州。" },
|
||||
{ "name": "Florida", "localName": "佛罗里达州", "crops": ["橙子", "葡萄柚", "甘蔗", "番茄"], "season": "10月—6月", "summary": "亚热带气候适合柑橘、甘蔗与冬春季蔬菜生产。" },
|
||||
{ "name": "Washington", "localName": "华盛顿州", "crops": ["苹果", "樱桃", "啤酒花", "小麦"], "season": "6月—11月", "summary": "山地雨影和灌溉河谷构成世界级苹果、樱桃与啤酒花产区。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "australia", "label": "澳大利亚", "country": "澳大利亚", "iso": "AUS", "map": "/maps/aus-adm1.geojson", "accent": "#3c9989",
|
||||
"description": "展示澳大利亚热带园艺、谷物和葡萄酒产区。",
|
||||
"regions": [
|
||||
{ "name": "Queensland", "localName": "昆士兰州", "crops": ["甘蔗", "香蕉", "芒果", "菠萝"], "season": "全年分批", "summary": "热带和亚热带海岸带是甘蔗与热带水果主要产区。" },
|
||||
{ "name": "Victoria", "localName": "维多利亚州", "crops": ["葡萄", "乳制品", "苹果", "小麦"], "season": "2月—5月", "summary": "温和气候兼具葡萄酒、乳业、果园和谷物生产。" },
|
||||
{ "name": "Western Australia", "localName": "西澳大利亚州", "crops": ["小麦", "油菜", "葡萄", "牛油果"], "season": "10月—1月", "summary": "西南部地中海气候区集中生产谷物、油籽和葡萄酒。" },
|
||||
{ "name": "Tasmania", "localName": "塔斯马尼亚州", "crops": ["樱桃", "苹果", "啤酒花", "马铃薯"], "season": "12月—4月", "summary": "冷凉海洋性气候适合高品质温带水果和种薯。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "russia", "label": "俄罗斯", "country": "俄罗斯", "iso": "RUS", "map": "/maps/rus-adm1.geojson", "accent": "#667eaa",
|
||||
"description": "展示俄罗斯南部粮食带与内陆特色农产区。",
|
||||
"regions": [
|
||||
{ "name": "Krasnodar Krai", "localName": "克拉斯诺达尔边疆区", "crops": ["小麦", "向日葵", "水稻", "葡萄"], "season": "6月—10月", "summary": "黑海沿岸和肥沃平原构成俄罗斯最重要的农业区域之一。" },
|
||||
{ "name": "Stavropol Krai", "localName": "斯塔夫罗波尔边疆区", "crops": ["冬小麦", "玉米", "向日葵", "甜菜"], "season": "6月—9月", "summary": "草原地带日照充足,以冬小麦和油料作物为主。" },
|
||||
{ "name": "Rostov Oblast", "localName": "罗斯托夫州", "crops": ["小麦", "大麦", "向日葵", "蔬菜"], "season": "7月—10月", "summary": "顿河流域是俄罗斯南部粮食与油料作物核心产区。" },
|
||||
{ "name": "Altai Krai", "localName": "阿尔泰边疆区", "crops": ["荞麦", "小麦", "燕麦", "蜂蜜"], "season": "8月—10月", "summary": "西西伯利亚农牧交错区,以荞麦、谷物和蜂产品著名。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "europe", "label": "欧洲", "country": "德国", "iso": "DEU", "map": "/maps/deu-adm1.geojson", "accent": "#6d63b5",
|
||||
"description": "以德国为示例,展示欧洲谷物、啤酒花与葡萄产区。",
|
||||
"regions": [
|
||||
{ "name": "Bayern", "localName": "巴伐利亚州", "crops": ["啤酒花", "大麦", "甜菜", "乳制品"], "season": "7月—10月", "summary": "啤酒花、酿造大麦和乳畜业共同构成典型南德农业景观。" },
|
||||
{ "name": "Niedersachsen", "localName": "下萨克森州", "crops": ["马铃薯", "甜菜", "芦笋", "苹果"], "season": "4月—10月", "summary": "北德平原农业发达,是马铃薯、甜菜和园艺作物重要产区。" },
|
||||
{ "name": "Rheinland-Pfalz", "localName": "莱茵兰-普法尔茨州", "crops": ["葡萄", "樱桃", "苹果", "芦笋"], "season": "4月—10月", "summary": "莱茵河与摩泽尔河谷以优质酿酒葡萄和果园闻名。" },
|
||||
{ "name": "Baden-Württemberg", "localName": "巴登-符腾堡州", "crops": ["葡萄", "苹果", "啤酒花", "玉米"], "season": "8月—10月", "summary": "山谷和湖区形成葡萄、苹果与特色啤酒花产区。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "canada", "label": "加拿大", "country": "加拿大", "iso": "CAN", "map": "/maps/can-adm1.geojson", "accent": "#c85855",
|
||||
"description": "按省查看加拿大草原粮油、果园和枫糖产区。",
|
||||
"regions": [
|
||||
{ "name": "Saskatchewan", "localName": "萨斯喀彻温省", "crops": ["油菜籽", "小麦", "扁豆", "豌豆"], "season": "8月—10月", "summary": "加拿大草原农业核心省份,粮食、油籽和豆类规模化生产突出。" },
|
||||
{ "name": "Ontario", "localName": "安大略省", "crops": ["玉米", "大豆", "苹果", "葡萄"], "season": "8月—11月", "summary": "五大湖调节气候,粮油作物与尼亚加拉果园、葡萄园并存。" },
|
||||
{ "name": "British Columbia", "localName": "不列颠哥伦比亚省", "crops": ["蓝莓", "樱桃", "葡萄", "苹果"], "season": "6月—10月", "summary": "沿海低地与奥肯那根谷地形成浆果、核果和葡萄酒产区。" },
|
||||
{ "name": "Quebec", "localName": "魁北克省", "crops": ["枫糖", "蓝莓", "玉米", "蔓越莓"], "season": "3月及夏秋季", "summary": "春季枫糖与夏秋浆果、谷物共同构成鲜明季节农业。" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "south-america", "label": "南美洲", "country": "巴西", "iso": "BRA", "map": "/maps/bra-adm1.geojson", "accent": "#3c9462",
|
||||
"description": "以巴西为示例,展示咖啡、大豆、可可与南方温带作物。",
|
||||
"regions": [
|
||||
{ "name": "Sao Paulo", "localName": "圣保罗州", "crops": ["甘蔗", "橙子", "咖啡", "花生"], "season": "全年分批", "summary": "产业链完善,是甘蔗、橙汁与咖啡生产加工的重要中心。" },
|
||||
{ "name": "Minas Gerais", "localName": "米纳斯吉拉斯州", "crops": ["咖啡", "乳制品", "大豆", "玉米"], "season": "5月—9月", "summary": "高地气候适合阿拉比卡咖啡,也是重要的乳畜与粮食产区。" },
|
||||
{ "name": "Bahia", "localName": "巴伊亚州", "crops": ["可可", "芒果", "木薯", "椰子"], "season": "全年分批", "summary": "热带海岸与内陆灌溉区生产可可、热带水果和木薯。" },
|
||||
{ "name": "Rio Grande do Sul", "localName": "南里奥格兰德州", "crops": ["大豆", "水稻", "葡萄", "烟草"], "season": "1月—5月", "summary": "南部温带农业区,以大豆、水稻和葡萄酒产业著名。" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
101
app/data/repeatable-forms.json
Normal file
101
app/data/repeatable-forms.json
Normal file
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"templates": ["项目交付清单", "门店巡检记录", "采购物料明细"],
|
||||
"forms": [
|
||||
{
|
||||
"id": "FORM-202608-018",
|
||||
"title": "官网改版交付资料",
|
||||
"code": "DELIVERY-2026-08",
|
||||
"status": "编辑中",
|
||||
"updatedAt": "今天 16:42",
|
||||
"createdBy": "林知夏",
|
||||
"tags": ["官网改版", "产品中心"],
|
||||
"items": [
|
||||
{
|
||||
"id": "ITEM-001",
|
||||
"title": "首页视觉与响应式页面",
|
||||
"category": "页面交付",
|
||||
"owner": "林知夏",
|
||||
"status": "已完成",
|
||||
"quantity": 1,
|
||||
"unit": "套",
|
||||
"dueDate": "2026-08-12",
|
||||
"description": "包含桌面端、平板端和移动端页面,已完成产品与设计验收。",
|
||||
"images": [
|
||||
{ "id": "IMG-001", "name": "首页视觉预览.png", "size": "638 KB", "url": "/og.png" }
|
||||
],
|
||||
"files": [
|
||||
{ "id": "FILE-001", "name": "首页验收说明.pdf", "size": "1.2 MB", "type": "PDF", "url": "" },
|
||||
{ "id": "FILE-002", "name": "切图资源清单.xlsx", "size": "286 KB", "type": "XLSX", "url": "" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ITEM-002",
|
||||
"title": "动漫作品详情页",
|
||||
"category": "页面交付",
|
||||
"owner": "周砚",
|
||||
"status": "待确认",
|
||||
"quantity": 1,
|
||||
"unit": "页",
|
||||
"dueDate": "2026-08-14",
|
||||
"description": "作品资料、剧集、商品和评论区的完整交互页面。",
|
||||
"images": [
|
||||
{ "id": "IMG-002", "name": "星海回响主视觉.jpg", "size": "2.1 MB", "url": "/anime/star-echoes-hero.png" },
|
||||
{ "id": "IMG-003", "name": "周边商品陈列.jpg", "size": "2.1 MB", "url": "/anime/star-echoes-merch.png" }
|
||||
],
|
||||
"files": [
|
||||
{ "id": "FILE-003", "name": "页面字段说明.md", "size": "18 KB", "type": "MD", "url": "" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "ITEM-003",
|
||||
"title": "前端部署与使用说明",
|
||||
"category": "说明文档",
|
||||
"owner": "陈默",
|
||||
"status": "进行中",
|
||||
"quantity": 2,
|
||||
"unit": "份",
|
||||
"dueDate": "2026-08-16",
|
||||
"description": "整理本地启动、JSON 数据替换和页面配置方式。",
|
||||
"images": [],
|
||||
"files": [
|
||||
{ "id": "FILE-004", "name": "本地运行说明.docx", "size": "94 KB", "type": "DOCX", "url": "" }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "FORM-202608-012",
|
||||
"title": "体验店每周巡检记录",
|
||||
"code": "STORE-W32",
|
||||
"status": "已提交",
|
||||
"updatedAt": "昨天 18:20",
|
||||
"createdBy": "唐可",
|
||||
"tags": ["巡检", "第 32 周"],
|
||||
"items": [
|
||||
{
|
||||
"id": "ITEM-101",
|
||||
"title": "入口展示区域",
|
||||
"category": "空间检查",
|
||||
"owner": "唐可",
|
||||
"status": "已完成",
|
||||
"quantity": 1,
|
||||
"unit": "处",
|
||||
"dueDate": "2026-08-08",
|
||||
"description": "灯箱、海报和入口动线均符合陈列标准。",
|
||||
"images": [{ "id": "IMG-101", "name": "入口陈列.jpg", "size": "638 KB", "url": "/og.png" }],
|
||||
"files": [{ "id": "FILE-101", "name": "巡检签字表.pdf", "size": "420 KB", "type": "PDF", "url": "" }]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "FORM-202608-006",
|
||||
"title": "秋季活动物料采购",
|
||||
"code": "PURCHASE-AUTUMN",
|
||||
"status": "草稿",
|
||||
"updatedAt": "08-06 11:30",
|
||||
"createdBy": "顾言",
|
||||
"tags": ["采购", "秋季活动"],
|
||||
"items": []
|
||||
}
|
||||
]
|
||||
}
|
||||
122
app/data/seasonal-calendar.json
Normal file
122
app/data/seasonal-calendar.json
Normal file
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"title": "时令与事件日历",
|
||||
"subtitle": "用一张日历查看食材应季期、采购窗口与阶段性安排",
|
||||
"defaultDate": "2026-08-12",
|
||||
"categories": [
|
||||
{ "id": "fruit", "name": "应季水果", "icon": "果", "color": "#e36a48", "soft": "#fff0e9" },
|
||||
{ "id": "seafood", "name": "应季海鲜", "icon": "鲜", "color": "#287ca8", "soft": "#e8f5fb" },
|
||||
{ "id": "activity", "name": "事项安排", "icon": "事", "color": "#6659c7", "soft": "#f0edff" }
|
||||
],
|
||||
"events": [
|
||||
{
|
||||
"id": "fruit-peach",
|
||||
"title": "水蜜桃赏味期",
|
||||
"category": "fruit",
|
||||
"start": "2026-06-15",
|
||||
"end": "2026-08-25",
|
||||
"region": "江浙产区",
|
||||
"bestTime": "7月中旬至8月中旬",
|
||||
"summary": "果香与甜度较好的集中上市阶段,适合鲜食、甜品与礼盒采购。",
|
||||
"tips": "表皮完整、香气自然且轻按微弹的成熟度更合适。"
|
||||
},
|
||||
{
|
||||
"id": "fruit-grape",
|
||||
"title": "阳光玫瑰葡萄",
|
||||
"category": "fruit",
|
||||
"start": "2026-08-01",
|
||||
"end": "2026-09-30",
|
||||
"region": "云南 / 浙江 / 山东",
|
||||
"bestTime": "8月下旬至9月",
|
||||
"summary": "进入集中供应期,可用于记录不同产区的到货与价格变化。",
|
||||
"tips": "优先选择果粒紧实、果梗青绿、整串着色均匀的果品。"
|
||||
},
|
||||
{
|
||||
"id": "fruit-fig",
|
||||
"title": "无花果应季期",
|
||||
"category": "fruit",
|
||||
"start": "2026-07-10",
|
||||
"end": "2026-10-10",
|
||||
"region": "四川 / 山东",
|
||||
"bestTime": "8月至9月",
|
||||
"summary": "成熟后不耐久放,适合在日历中安排短周期采购和快速消耗。",
|
||||
"tips": "果皮无破损、果颈略弯且手感柔软时适合尽快食用。"
|
||||
},
|
||||
{
|
||||
"id": "fruit-pear",
|
||||
"title": "秋月梨预售窗口",
|
||||
"category": "fruit",
|
||||
"start": "2026-08-20",
|
||||
"end": "2026-09-18",
|
||||
"region": "山东 / 河北",
|
||||
"bestTime": "9月上旬",
|
||||
"summary": "从产区预售到集中到货的阶段性窗口,可作为采购提醒示例。",
|
||||
"tips": "查看果形、糖度和冷链发货方式后再确定采购批次。"
|
||||
},
|
||||
{
|
||||
"id": "seafood-crab",
|
||||
"title": "梭子蟹肥美期",
|
||||
"category": "seafood",
|
||||
"start": "2026-08-01",
|
||||
"end": "2026-11-15",
|
||||
"region": "东海沿岸",
|
||||
"bestTime": "8月下旬至10月",
|
||||
"summary": "进入集中上市季,可同步安排采购、菜单上新和库存提醒。",
|
||||
"tips": "选择活力好、蟹壳坚硬、足部完整且分量压手的个体。"
|
||||
},
|
||||
{
|
||||
"id": "seafood-urchin",
|
||||
"title": "海胆品鲜季",
|
||||
"category": "seafood",
|
||||
"start": "2026-05-01",
|
||||
"end": "2026-09-05",
|
||||
"region": "大连 / 福建沿海",
|
||||
"bestTime": "6月至8月",
|
||||
"summary": "不同产区供应期可分别建档,本条作为跨月事件展示。",
|
||||
"tips": "冷藏运输并尽快食用,来源与保存条件应优先确认。"
|
||||
},
|
||||
{
|
||||
"id": "seafood-bass",
|
||||
"title": "海鲈鱼供应旺季",
|
||||
"category": "seafood",
|
||||
"start": "2026-08-08",
|
||||
"end": "2026-10-28",
|
||||
"region": "沿海产区",
|
||||
"bestTime": "8月至10月",
|
||||
"summary": "适合家庭清蒸或餐饮菜单规划,可记录每周报价和规格。",
|
||||
"tips": "鲜鱼以眼睛清亮、鱼鳃鲜红、鱼身有弹性为宜。"
|
||||
},
|
||||
{
|
||||
"id": "seafood-shrimp",
|
||||
"title": "第二季皮皮虾",
|
||||
"category": "seafood",
|
||||
"start": "2026-09-01",
|
||||
"end": "2026-11-10",
|
||||
"region": "渤海 / 黄海",
|
||||
"bestTime": "9月至10月",
|
||||
"summary": "秋季供应时段,用于演示尚未开始但即将在日历中出现的事件。",
|
||||
"tips": "按活力、完整度和运输时间安排到货后的食用顺序。"
|
||||
},
|
||||
{
|
||||
"id": "activity-buy",
|
||||
"title": "周末鲜品集中采购",
|
||||
"category": "activity",
|
||||
"start": "2026-08-14",
|
||||
"end": "2026-08-16",
|
||||
"region": "线下市场",
|
||||
"bestTime": "08:00—10:30",
|
||||
"summary": "对比本周水果与海鲜价格,补充下周菜单所需食材。",
|
||||
"tips": "提前建立采购清单,并为冷藏食材准备保温袋。"
|
||||
},
|
||||
{
|
||||
"id": "activity-menu",
|
||||
"title": "九月菜单试做",
|
||||
"category": "activity",
|
||||
"start": "2026-08-24",
|
||||
"end": "2026-08-28",
|
||||
"region": "测试厨房",
|
||||
"bestTime": "每日 14:00",
|
||||
"summary": "结合葡萄、梨与海鲜旺季,完成下一阶段菜单的小批量试做。",
|
||||
"tips": "每次试做记录用量、成本、口感与成品图片。"
|
||||
}
|
||||
]
|
||||
}
|
||||
41
app/data/star-graph.json
Normal file
41
app/data/star-graph.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"title": "星海创作关系网络",
|
||||
"subtitle": "本地 JSON 演示数据",
|
||||
"nodeTypes": [
|
||||
{ "id": "project", "name": "项目", "color": "#8b7cff" },
|
||||
{ "id": "character", "name": "角色", "color": "#55d7ff" },
|
||||
{ "id": "world", "name": "世界观", "color": "#45e6a8" },
|
||||
{ "id": "organization", "name": "组织", "color": "#ffb45c" },
|
||||
{ "id": "event", "name": "事件", "color": "#ff6f91" }
|
||||
],
|
||||
"nodes": [
|
||||
{ "id": "project-starsea", "label": "星海回响", "type": "project", "x": 0, "y": 0, "color": "#8b7cff", "size": 30, "description": "围绕失落星港展开的原创动画项目。", "tags": ["核心项目", "2026"] },
|
||||
{ "id": "character-mio", "label": "天野澪", "type": "character", "x": -210, "y": -115, "color": "#55d7ff", "size": 23, "description": "能够读取星尘记忆的见习导航员。", "tags": ["主角", "导航员"] },
|
||||
{ "id": "character-ren", "label": "陆沉舟", "type": "character", "x": 205, "y": -120, "color": "#60c5ff", "size": 22, "description": "远航舰队的机械师,负责修复古代航道。", "tags": ["伙伴", "机械师"] },
|
||||
{ "id": "character-aya", "label": "绫音", "type": "character", "x": 250, "y": 105, "color": "#7ce7ff", "size": 20, "description": "来自月背城市的情报交换员。", "tags": ["情报", "月背"] },
|
||||
{ "id": "world-harbor", "label": "第七码头", "type": "world", "x": -235, "y": 120, "color": "#45e6a8", "size": 24, "description": "漂浮在星云边缘的中立贸易港。", "tags": ["地点", "星港"] },
|
||||
{ "id": "world-gate", "label": "静默星门", "type": "world", "x": 30, "y": 205, "color": "#3ed8b0", "size": 22, "description": "沉睡百年的跨星系通道。", "tags": ["遗迹", "航道"] },
|
||||
{ "id": "org-fleet", "label": "白帆舰队", "type": "organization", "x": 410, "y": -20, "color": "#ffb45c", "size": 23, "description": "负责维护外环航线的民间舰队。", "tags": ["组织", "舰队"] },
|
||||
{ "id": "org-observer", "label": "观星议会", "type": "organization", "x": -415, "y": -15, "color": "#ffc36c", "size": 22, "description": "保存旧时代星图的研究机构。", "tags": ["组织", "研究"] },
|
||||
{ "id": "event-blackout", "label": "长夜停航", "type": "event", "x": -125, "y": -285, "color": "#ff6f91", "size": 20, "description": "主航道突然熄灭引发的大规模停航事件。", "tags": ["事件", "序章"] },
|
||||
{ "id": "event-signal", "label": "深空信号", "type": "event", "x": 155, "y": -275, "color": "#ff829e", "size": 20, "description": "来自静默星门另一侧的重复脉冲。", "tags": ["事件", "谜题"] },
|
||||
{ "id": "world-moon", "label": "月背城", "type": "world", "x": 405, "y": 215, "color": "#66dfb5", "size": 21, "description": "建在永夜陨石坑中的地下都市。", "tags": ["地点", "城市"] },
|
||||
{ "id": "event-memory", "label": "星尘记忆", "type": "event", "x": -385, "y": 250, "color": "#ff7d9d", "size": 19, "description": "散落在航道中的古代记录碎片。", "tags": ["线索", "记忆"] }
|
||||
],
|
||||
"edges": [
|
||||
{ "id": "edge-1", "source": "project-starsea", "target": "character-mio", "label": "主角", "type": "角色关系" },
|
||||
{ "id": "edge-2", "source": "project-starsea", "target": "character-ren", "label": "伙伴", "type": "角色关系" },
|
||||
{ "id": "edge-3", "source": "project-starsea", "target": "world-harbor", "label": "故事起点", "type": "地点关系" },
|
||||
{ "id": "edge-4", "source": "project-starsea", "target": "world-gate", "label": "核心谜题", "type": "剧情关系" },
|
||||
{ "id": "edge-5", "source": "character-mio", "target": "event-memory", "label": "能够读取", "type": "能力关系" },
|
||||
{ "id": "edge-6", "source": "character-ren", "target": "org-fleet", "label": "所属", "type": "组织关系" },
|
||||
{ "id": "edge-7", "source": "character-aya", "target": "world-moon", "label": "来自", "type": "地点关系" },
|
||||
{ "id": "edge-8", "source": "character-aya", "target": "org-fleet", "label": "提供情报", "type": "协作关系" },
|
||||
{ "id": "edge-9", "source": "org-observer", "target": "event-memory", "label": "收集", "type": "研究关系" },
|
||||
{ "id": "edge-10", "source": "org-observer", "target": "event-blackout", "label": "调查", "type": "事件关系" },
|
||||
{ "id": "edge-11", "source": "event-blackout", "target": "event-signal", "label": "同时发生", "type": "时间关系" },
|
||||
{ "id": "edge-12", "source": "event-signal", "target": "world-gate", "label": "信号来源", "type": "线索关系" },
|
||||
{ "id": "edge-13", "source": "world-harbor", "target": "org-fleet", "label": "补给基地", "type": "组织关系" },
|
||||
{ "id": "edge-14", "source": "world-gate", "target": "world-moon", "label": "旧航线", "type": "地点关系" }
|
||||
]
|
||||
}
|
||||
195
app/data/web-icons.json
Normal file
195
app/data/web-icons.json
Normal file
@@ -0,0 +1,195 @@
|
||||
{
|
||||
"categories": [
|
||||
{ "id": "all", "name": "全部图标" },
|
||||
{ "id": "navigation", "name": "导航与方向" },
|
||||
{ "id": "actions", "name": "常用操作" },
|
||||
{ "id": "status", "name": "状态提示" },
|
||||
{ "id": "media", "name": "媒体控制" },
|
||||
{ "id": "files", "name": "文件内容" },
|
||||
{ "id": "business", "name": "业务界面" },
|
||||
{ "id": "communication", "name": "沟通联系" },
|
||||
{ "id": "identity", "name": "性别与人物" },
|
||||
{ "id": "biology", "name": "生物与自然" },
|
||||
{ "id": "breeding", "name": "繁殖行为提示" },
|
||||
{ "id": "pets", "name": "宠物标识" }
|
||||
],
|
||||
"icons": [
|
||||
{ "id": "home", "name": "Home", "cn": "首页", "symbol": "⌂", "category": "navigation", "keywords": ["home", "首页", "主页"] },
|
||||
{ "id": "menu", "name": "Menu", "cn": "菜单", "symbol": "☰", "category": "navigation", "keywords": ["menu", "菜单", "导航"] },
|
||||
{ "id": "grid", "name": "Grid", "cn": "网格", "symbol": "▦", "category": "navigation", "keywords": ["grid", "网格", "应用"] },
|
||||
{ "id": "list", "name": "List", "cn": "列表", "symbol": "☷", "category": "navigation", "keywords": ["list", "列表", "目录"] },
|
||||
{ "id": "search", "name": "Search", "cn": "搜索", "symbol": "⌕", "category": "navigation", "keywords": ["search", "find", "搜索", "查找"] },
|
||||
{ "id": "arrow-left", "name": "Arrow left", "cn": "向左", "symbol": "←", "category": "navigation", "keywords": ["left", "back", "左", "返回"] },
|
||||
{ "id": "arrow-right", "name": "Arrow right", "cn": "向右", "symbol": "→", "category": "navigation", "keywords": ["right", "next", "右", "下一步"] },
|
||||
{ "id": "arrow-up", "name": "Arrow up", "cn": "向上", "symbol": "↑", "category": "navigation", "keywords": ["up", "上", "顶部"] },
|
||||
{ "id": "arrow-down", "name": "Arrow down", "cn": "向下", "symbol": "↓", "category": "navigation", "keywords": ["down", "下", "展开"] },
|
||||
{ "id": "chevron-left", "name": "Chevron left", "cn": "左箭头", "symbol": "‹", "category": "navigation", "keywords": ["chevron", "previous", "上一页"] },
|
||||
{ "id": "chevron-right", "name": "Chevron right", "cn": "右箭头", "symbol": "›", "category": "navigation", "keywords": ["chevron", "next", "下一页"] },
|
||||
{ "id": "external", "name": "External link", "cn": "外部链接", "symbol": "↗", "category": "navigation", "keywords": ["external", "open", "外链", "打开"] },
|
||||
{ "id": "location", "name": "Location", "cn": "定位", "symbol": "⌖", "category": "navigation", "keywords": ["location", "position", "定位", "位置"] },
|
||||
{ "id": "fullscreen", "name": "Fullscreen", "cn": "全屏", "symbol": "⛶", "category": "navigation", "keywords": ["fullscreen", "expand", "全屏", "放大"] },
|
||||
|
||||
{ "id": "add", "name": "Add", "cn": "添加", "symbol": "+", "category": "actions", "keywords": ["add", "plus", "添加", "新增"] },
|
||||
{ "id": "remove", "name": "Remove", "cn": "减少", "symbol": "−", "category": "actions", "keywords": ["remove", "minus", "减少", "移除"] },
|
||||
{ "id": "close", "name": "Close", "cn": "关闭", "symbol": "×", "category": "actions", "keywords": ["close", "cancel", "关闭", "取消"] },
|
||||
{ "id": "check", "name": "Check", "cn": "确认", "symbol": "✓", "category": "actions", "keywords": ["check", "done", "确认", "完成"] },
|
||||
{ "id": "edit", "name": "Edit", "cn": "编辑", "symbol": "✎", "category": "actions", "keywords": ["edit", "write", "编辑", "修改"] },
|
||||
{ "id": "delete", "name": "Delete", "cn": "删除", "symbol": "⌫", "category": "actions", "keywords": ["delete", "trash", "删除", "清除"] },
|
||||
{ "id": "copy", "name": "Copy", "cn": "复制", "symbol": "▣", "category": "actions", "keywords": ["copy", "duplicate", "复制", "副本"] },
|
||||
{ "id": "download", "name": "Download", "cn": "下载", "symbol": "⇩", "category": "actions", "keywords": ["download", "save", "下载", "保存"] },
|
||||
{ "id": "upload", "name": "Upload", "cn": "上传", "symbol": "⇧", "category": "actions", "keywords": ["upload", "上传", "导入"] },
|
||||
{ "id": "refresh", "name": "Refresh", "cn": "刷新", "symbol": "↻", "category": "actions", "keywords": ["refresh", "reload", "刷新", "重载"] },
|
||||
{ "id": "undo", "name": "Undo", "cn": "撤销", "symbol": "↶", "category": "actions", "keywords": ["undo", "撤销", "返回"] },
|
||||
{ "id": "redo", "name": "Redo", "cn": "重做", "symbol": "↷", "category": "actions", "keywords": ["redo", "重做", "恢复"] },
|
||||
{ "id": "filter", "name": "Filter", "cn": "筛选", "symbol": "▽", "category": "actions", "keywords": ["filter", "筛选", "过滤"] },
|
||||
{ "id": "settings", "name": "Settings", "cn": "设置", "symbol": "⚙", "category": "actions", "keywords": ["settings", "config", "设置", "配置"] },
|
||||
{ "id": "link", "name": "Link", "cn": "链接", "symbol": "⌁", "category": "actions", "keywords": ["link", "链接", "关联"] },
|
||||
{ "id": "bookmark", "name": "Bookmark", "cn": "书签", "symbol": "⌑", "category": "actions", "keywords": ["bookmark", "save", "书签", "收藏"] },
|
||||
{ "id": "heart", "name": "Heart", "cn": "喜欢", "symbol": "♡", "category": "actions", "keywords": ["heart", "like", "喜欢", "收藏"] },
|
||||
{ "id": "star", "name": "Star", "cn": "星标", "symbol": "☆", "category": "actions", "keywords": ["star", "favorite", "星标", "收藏"] },
|
||||
|
||||
{ "id": "success", "name": "Success", "cn": "成功", "symbol": "◉", "category": "status", "keywords": ["success", "ok", "成功", "在线"] },
|
||||
{ "id": "info", "name": "Information", "cn": "信息", "symbol": "ⓘ", "category": "status", "keywords": ["info", "help", "信息", "提示"] },
|
||||
{ "id": "warning", "name": "Warning", "cn": "警告", "symbol": "△", "category": "status", "keywords": ["warning", "alert", "警告", "注意"] },
|
||||
{ "id": "error", "name": "Error", "cn": "错误", "symbol": "⊗", "category": "status", "keywords": ["error", "failed", "错误", "失败"] },
|
||||
{ "id": "pending", "name": "Pending", "cn": "等待", "symbol": "◷", "category": "status", "keywords": ["pending", "time", "等待", "处理中"] },
|
||||
{ "id": "online", "name": "Online", "cn": "在线", "symbol": "●", "category": "status", "keywords": ["online", "active", "在线", "启用"] },
|
||||
{ "id": "offline", "name": "Offline", "cn": "离线", "symbol": "○", "category": "status", "keywords": ["offline", "inactive", "离线", "停用"] },
|
||||
{ "id": "locked", "name": "Locked", "cn": "锁定", "symbol": "⊠", "category": "status", "keywords": ["lock", "private", "锁定", "私密"] },
|
||||
|
||||
{ "id": "play", "name": "Play", "cn": "播放", "symbol": "▶", "category": "media", "keywords": ["play", "播放", "开始"] },
|
||||
{ "id": "pause", "name": "Pause", "cn": "暂停", "symbol": "Ⅱ", "category": "media", "keywords": ["pause", "暂停"] },
|
||||
{ "id": "stop", "name": "Stop", "cn": "停止", "symbol": "■", "category": "media", "keywords": ["stop", "停止", "结束"] },
|
||||
{ "id": "previous", "name": "Previous", "cn": "上一个", "symbol": "◀", "category": "media", "keywords": ["previous", "back", "上一个"] },
|
||||
{ "id": "next", "name": "Next", "cn": "下一个", "symbol": "▶", "category": "media", "keywords": ["next", "forward", "下一个"] },
|
||||
{ "id": "record", "name": "Record", "cn": "录制", "symbol": "◎", "category": "media", "keywords": ["record", "录制", "录像"] },
|
||||
{ "id": "volume", "name": "Volume", "cn": "音量", "symbol": "◖", "category": "media", "keywords": ["volume", "sound", "音量", "声音"] },
|
||||
{ "id": "image", "name": "Image", "cn": "图片", "symbol": "▧", "category": "media", "keywords": ["image", "photo", "图片", "照片"] },
|
||||
|
||||
{ "id": "file", "name": "File", "cn": "文件", "symbol": "□", "category": "files", "keywords": ["file", "文件", "附件"] },
|
||||
{ "id": "folder", "name": "Folder", "cn": "文件夹", "symbol": "▱", "category": "files", "keywords": ["folder", "目录", "文件夹"] },
|
||||
{ "id": "document", "name": "Document", "cn": "文档", "symbol": "▤", "category": "files", "keywords": ["document", "文档", "文章"] },
|
||||
{ "id": "table", "name": "Table", "cn": "表格", "symbol": "▦", "category": "files", "keywords": ["table", "sheet", "表格", "数据"] },
|
||||
{ "id": "archive", "name": "Archive", "cn": "归档", "symbol": "▰", "category": "files", "keywords": ["archive", "box", "归档", "压缩包"] },
|
||||
{ "id": "code", "name": "Code", "cn": "代码", "symbol": "‹/›", "category": "files", "keywords": ["code", "developer", "代码", "开发"] },
|
||||
|
||||
{ "id": "user", "name": "User", "cn": "用户", "symbol": "♙", "category": "business", "keywords": ["user", "person", "用户", "人员"] },
|
||||
{ "id": "team", "name": "Team", "cn": "团队", "symbol": "♙♙", "category": "business", "keywords": ["team", "users", "团队", "成员"] },
|
||||
{ "id": "calendar", "name": "Calendar", "cn": "日历", "symbol": "▦", "category": "business", "keywords": ["calendar", "date", "日历", "日期"] },
|
||||
{ "id": "clock", "name": "Clock", "cn": "时间", "symbol": "◷", "category": "business", "keywords": ["clock", "time", "时间", "定时"] },
|
||||
{ "id": "tag", "name": "Tag", "cn": "标签", "symbol": "◇", "category": "business", "keywords": ["tag", "label", "标签", "分类"] },
|
||||
{ "id": "cart", "name": "Cart", "cn": "购物车", "symbol": "♧", "category": "business", "keywords": ["cart", "shop", "购物车", "商品"] },
|
||||
{ "id": "chart", "name": "Chart", "cn": "图表", "symbol": "▥", "category": "business", "keywords": ["chart", "analytics", "图表", "统计"] },
|
||||
{ "id": "layers", "name": "Layers", "cn": "图层", "symbol": "▱", "category": "business", "keywords": ["layers", "stack", "图层", "层级"] },
|
||||
{ "id": "briefcase", "name": "Briefcase", "cn": "工作", "symbol": "▣", "category": "business", "keywords": ["briefcase", "work", "工作", "项目"] },
|
||||
|
||||
{ "id": "mail", "name": "Mail", "cn": "邮件", "symbol": "✉", "category": "communication", "keywords": ["mail", "email", "邮件", "消息"] },
|
||||
{ "id": "phone", "name": "Phone", "cn": "电话", "symbol": "☎", "category": "communication", "keywords": ["phone", "call", "电话", "联系"] },
|
||||
{ "id": "comment", "name": "Comment", "cn": "评论", "symbol": "◰", "category": "communication", "keywords": ["comment", "review", "评论", "回复"] },
|
||||
{ "id": "chat", "name": "Chat", "cn": "聊天", "symbol": "▱", "category": "communication", "keywords": ["chat", "message", "聊天", "会话"] },
|
||||
{ "id": "send", "name": "Send", "cn": "发送", "symbol": "➤", "category": "communication", "keywords": ["send", "发送", "提交"] },
|
||||
{ "id": "at", "name": "At sign", "cn": "提及", "symbol": "@", "category": "communication", "keywords": ["at", "mention", "提及", "账号"] },
|
||||
{ "id": "notification", "name": "Notification", "cn": "通知", "symbol": "♢", "category": "communication", "keywords": ["notification", "bell", "通知", "提醒"] },
|
||||
|
||||
{ "id": "male", "name": "Male", "cn": "男性", "symbol": "♂", "category": "identity", "keywords": ["male", "man", "boy", "男性", "男生", "男"] },
|
||||
{ "id": "female", "name": "Female", "cn": "女性", "symbol": "♀", "category": "identity", "keywords": ["female", "woman", "girl", "女性", "女生", "女"] },
|
||||
{ "id": "gender-combined", "name": "Gender combined", "cn": "男女组合", "symbol": "⚥", "category": "identity", "keywords": ["gender", "male", "female", "性别", "男女", "组合"] },
|
||||
{ "id": "female-pair", "name": "Female pair", "cn": "女性组合", "symbol": "⚢", "category": "identity", "keywords": ["female", "pair", "women", "女性", "组合"] },
|
||||
{ "id": "male-pair", "name": "Male pair", "cn": "男性组合", "symbol": "⚣", "category": "identity", "keywords": ["male", "pair", "men", "男性", "组合"] },
|
||||
{ "id": "transgender", "name": "Transgender", "cn": "跨性别", "symbol": "⚧", "category": "identity", "keywords": ["transgender", "gender", "跨性别", "性别"] },
|
||||
{ "id": "gender-neutral", "name": "Gender neutral", "cn": "中性标识", "symbol": "⚲", "category": "identity", "keywords": ["neutral", "gender", "中性", "性别"] },
|
||||
{ "id": "person-outline", "name": "Person outline", "cn": "人物", "symbol": "♙", "category": "identity", "keywords": ["person", "people", "人物", "用户", "人员"] },
|
||||
{ "id": "woman-profile", "name": "Woman profile", "cn": "女性人物", "symbol": "◯♀", "category": "identity", "keywords": ["woman", "profile", "女性", "人物", "头像"] },
|
||||
{ "id": "man-profile", "name": "Man profile", "cn": "男性人物", "symbol": "◯♂", "category": "identity", "keywords": ["man", "profile", "男性", "人物", "头像"] },
|
||||
{ "id": "couple", "name": "Couple", "cn": "男女人物", "symbol": "♀♂", "category": "identity", "keywords": ["couple", "people", "男女", "人物", "伴侣"] },
|
||||
{ "id": "family", "name": "Family", "cn": "家庭成员", "symbol": "♀♂♙", "category": "identity", "keywords": ["family", "people", "家庭", "成员", "人物"] },
|
||||
|
||||
{ "id": "atom", "name": "Atom", "cn": "原子", "symbol": "⚛", "category": "biology", "keywords": ["atom", "science", "原子", "科学", "生物"] },
|
||||
{ "id": "biohazard", "name": "Biohazard", "cn": "生物安全", "symbol": "☣", "category": "biology", "keywords": ["biohazard", "safety", "生物", "安全", "危险"] },
|
||||
{ "id": "medical", "name": "Medical", "cn": "医疗", "symbol": "⚕", "category": "biology", "keywords": ["medical", "health", "医疗", "健康", "生命"] },
|
||||
{ "id": "laboratory", "name": "Laboratory", "cn": "实验室", "symbol": "⚗", "category": "biology", "keywords": ["laboratory", "chemistry", "实验室", "化学", "研究"] },
|
||||
{ "id": "cell", "name": "Cell", "cn": "细胞", "symbol": "◉", "category": "biology", "keywords": ["cell", "biology", "细胞", "生物", "生命"] },
|
||||
{ "id": "molecule", "name": "Molecule", "cn": "分子结构", "symbol": "⬡", "category": "biology", "keywords": ["molecule", "structure", "分子", "结构", "化学"] },
|
||||
{ "id": "gene", "name": "Gene", "cn": "基因链", "symbol": "⌁⌁", "category": "biology", "keywords": ["gene", "dna", "基因", "遗传", "生物"] },
|
||||
{ "id": "microbe", "name": "Microbe", "cn": "微生物", "symbol": "✣", "category": "biology", "keywords": ["microbe", "bacteria", "微生物", "细菌"] },
|
||||
{ "id": "heartbeat", "name": "Heartbeat", "cn": "生命波形", "symbol": "∿", "category": "biology", "keywords": ["heartbeat", "life", "心跳", "生命", "波形"] },
|
||||
{ "id": "health-cross", "name": "Health cross", "cn": "健康标识", "symbol": "✚", "category": "biology", "keywords": ["health", "cross", "健康", "医疗", "急救"] },
|
||||
{ "id": "flower", "name": "Flower", "cn": "花朵", "symbol": "✿", "category": "biology", "keywords": ["flower", "nature", "花朵", "植物", "自然"] },
|
||||
{ "id": "blossom", "name": "Blossom", "cn": "花纹", "symbol": "❀", "category": "biology", "keywords": ["blossom", "pattern", "花纹", "花朵", "图案"] },
|
||||
{ "id": "leaf", "name": "Leaf", "cn": "叶片", "symbol": "❧", "category": "biology", "keywords": ["leaf", "plant", "叶片", "植物", "绿色"] },
|
||||
{ "id": "tree", "name": "Tree", "cn": "树木", "symbol": "♣", "category": "biology", "keywords": ["tree", "forest", "树木", "森林", "植物"] },
|
||||
{ "id": "seed", "name": "Seed", "cn": "种子", "symbol": "◇", "category": "biology", "keywords": ["seed", "grow", "种子", "成长", "植物"] },
|
||||
{ "id": "sun", "name": "Sun", "cn": "太阳", "symbol": "☼", "category": "biology", "keywords": ["sun", "light", "太阳", "阳光", "自然"] },
|
||||
{ "id": "moon", "name": "Moon", "cn": "月亮", "symbol": "☾", "category": "biology", "keywords": ["moon", "night", "月亮", "夜晚", "自然"] },
|
||||
{ "id": "earth", "name": "Earth", "cn": "生态地球", "symbol": "⊕", "category": "biology", "keywords": ["earth", "ecology", "地球", "生态", "环境"] },
|
||||
{ "id": "water", "name": "Water", "cn": "水波", "symbol": "≋", "category": "biology", "keywords": ["water", "wave", "水", "水波", "自然"] },
|
||||
{ "id": "butterfly", "name": "Butterfly", "cn": "蝴蝶图案", "symbol": "ƸӜƷ", "category": "biology", "keywords": ["butterfly", "insect", "蝴蝶", "昆虫", "图案"] },
|
||||
{ "id": "fish", "name": "Fish", "cn": "鱼类图案", "symbol": "><>", "category": "biology", "keywords": ["fish", "animal", "鱼", "动物", "水生"] },
|
||||
{ "id": "cat", "name": "Cat", "cn": "猫咪图案", "symbol": "=^·^=", "category": "biology", "keywords": ["cat", "animal", "猫", "宠物", "动物"] },
|
||||
{ "id": "ecology", "name": "Ecology", "cn": "生态循环", "symbol": "♻", "category": "biology", "keywords": ["ecology", "recycle", "生态", "循环", "环保"] },
|
||||
|
||||
{ "id": "courtship", "name": "Courtship", "cn": "求偶行为", "symbol": "♂♡♀", "category": "breeding", "keywords": ["courtship", "求偶", "繁殖", "交配", "动物"] },
|
||||
{ "id": "breeding-pair", "name": "Breeding pair", "cn": "配对繁殖", "symbol": "♂♀", "category": "breeding", "keywords": ["pair", "breeding", "配对", "繁殖", "交配"] },
|
||||
{ "id": "reverse-pair", "name": "Reverse pair", "cn": "反向配对", "symbol": "♀♂", "category": "breeding", "keywords": ["pair", "direction", "反向", "配对", "姿势提示"] },
|
||||
{ "id": "pair-bond", "name": "Pair bond", "cn": "配偶关系", "symbol": "♂⌁♀", "category": "breeding", "keywords": ["bond", "pair", "配偶", "关系", "繁殖"] },
|
||||
{ "id": "mating-symbol", "name": "Mating symbol", "cn": "繁殖行为", "symbol": "⚥", "category": "breeding", "keywords": ["mating", "breeding", "繁殖", "交配", "行为"] },
|
||||
{ "id": "breeding-season", "name": "Breeding season", "cn": "繁殖期", "symbol": "⚥◷", "category": "breeding", "keywords": ["season", "time", "繁殖期", "发情期", "时间"] },
|
||||
{ "id": "breeding-location", "name": "Breeding location", "cn": "繁殖区域", "symbol": "⚥⌖", "category": "breeding", "keywords": ["location", "zone", "繁殖区", "配种区", "位置"] },
|
||||
{ "id": "breeding-ready", "name": "Breeding ready", "cn": "可进行繁殖", "symbol": "⚥✓", "category": "breeding", "keywords": ["ready", "available", "可繁殖", "准备", "配种"] },
|
||||
{ "id": "breeding-observe", "name": "Observe breeding", "cn": "繁殖观察", "symbol": "⚥◉", "category": "breeding", "keywords": ["observe", "monitor", "繁殖观察", "监测", "记录"] },
|
||||
{ "id": "do-not-disturb", "name": "Do not disturb", "cn": "繁殖勿扰", "symbol": "⚥⊘", "category": "breeding", "keywords": ["do not disturb", "quiet", "勿扰", "繁殖", "警示"] },
|
||||
{ "id": "separate-pair", "name": "Separate pair", "cn": "分开饲养", "symbol": "♂│♀", "category": "breeding", "keywords": ["separate", "apart", "分开", "隔离", "饲养"] },
|
||||
{ "id": "safe-distance", "name": "Safe distance", "cn": "保持距离", "symbol": "♂↔♀", "category": "breeding", "keywords": ["distance", "space", "距离", "观察", "提示"] },
|
||||
{ "id": "one-male-group", "name": "One male group", "cn": "一雄多雌", "symbol": "♂♀♀", "category": "breeding", "keywords": ["group", "male", "female", "一雄多雌", "配种组合"] },
|
||||
{ "id": "one-female-group", "name": "One female group", "cn": "多雄一雌", "symbol": "♂♂♀", "category": "breeding", "keywords": ["group", "male", "female", "多雄一雌", "配种组合"] },
|
||||
{ "id": "genetic-match", "name": "Genetic match", "cn": "遗传匹配", "symbol": "♂⌁♀", "category": "breeding", "keywords": ["genetic", "match", "遗传", "配对", "选育"] },
|
||||
{ "id": "breeding-health", "name": "Breeding health", "cn": "繁殖健康检查", "symbol": "⚕⚥", "category": "breeding", "keywords": ["health", "check", "健康检查", "繁殖", "兽医"] },
|
||||
{ "id": "pregnancy", "name": "Pregnancy", "cn": "妊娠期", "symbol": "♀○", "category": "breeding", "keywords": ["pregnancy", "gestation", "妊娠", "孕期", "繁殖"] },
|
||||
{ "id": "nesting", "name": "Nesting", "cn": "筑巢期", "symbol": "⚥⌂", "category": "breeding", "keywords": ["nest", "nesting", "筑巢", "繁殖", "鸟类"] },
|
||||
{ "id": "eggs", "name": "Eggs", "cn": "产卵记录", "symbol": "○○○", "category": "breeding", "keywords": ["eggs", "spawn", "产卵", "繁殖", "记录"] },
|
||||
{ "id": "offspring", "name": "Offspring", "cn": "后代出生", "symbol": "⚥·", "category": "breeding", "keywords": ["offspring", "birth", "后代", "出生", "幼体"] },
|
||||
{ "id": "breeding-complete", "name": "Breeding complete", "cn": "繁殖完成", "symbol": "⚥✓", "category": "breeding", "keywords": ["complete", "success", "繁殖完成", "成功", "记录"] },
|
||||
{ "id": "breeding-failed", "name": "Breeding failed", "cn": "繁殖未成功", "symbol": "⚥×", "category": "breeding", "keywords": ["failed", "unsuccessful", "繁殖失败", "未成功", "记录"] },
|
||||
{ "id": "breeding-rest", "name": "Breeding rest", "cn": "繁殖休息期", "symbol": "⚥Ⅱ", "category": "breeding", "keywords": ["rest", "pause", "休息期", "间隔", "繁殖"] },
|
||||
{ "id": "breeding-record", "name": "Breeding record", "cn": "繁殖记录", "symbol": "⚥▤", "category": "breeding", "keywords": ["record", "document", "繁殖记录", "配种记录", "档案"] },
|
||||
|
||||
{ "id": "pet-dog-face", "name": "Dog face", "cn": "宠物狗", "symbol": "🐶︎", "category": "pets", "keywords": ["dog", "puppy", "狗", "犬", "宠物"] },
|
||||
{ "id": "pet-dog", "name": "Dog", "cn": "犬类", "symbol": "🐕︎", "category": "pets", "keywords": ["dog", "canine", "狗", "犬类", "宠物"] },
|
||||
{ "id": "pet-guide-dog", "name": "Guide dog", "cn": "导盲犬", "symbol": "🦮︎", "category": "pets", "keywords": ["guide dog", "service", "导盲犬", "工作犬", "犬"] },
|
||||
{ "id": "pet-cat-face", "name": "Cat face", "cn": "宠物猫", "symbol": "🐱︎", "category": "pets", "keywords": ["cat", "kitten", "猫", "猫咪", "宠物"] },
|
||||
{ "id": "pet-cat", "name": "Cat", "cn": "猫科宠物", "symbol": "🐈︎", "category": "pets", "keywords": ["cat", "feline", "猫", "猫科", "宠物"] },
|
||||
{ "id": "pet-rabbit", "name": "Rabbit", "cn": "兔子", "symbol": "🐇︎", "category": "pets", "keywords": ["rabbit", "bunny", "兔子", "兔", "宠物"] },
|
||||
{ "id": "pet-hamster", "name": "Hamster", "cn": "仓鼠", "symbol": "🐹︎", "category": "pets", "keywords": ["hamster", "rodent", "仓鼠", "小宠", "宠物"] },
|
||||
{ "id": "pet-guinea-pig", "name": "Guinea pig", "cn": "豚鼠", "symbol": "(•ᴥ•)", "category": "pets", "keywords": ["guinea pig", "cavy", "豚鼠", "荷兰猪", "小宠"] },
|
||||
{ "id": "pet-chinchilla", "name": "Chinchilla", "cn": "龙猫", "symbol": "(•ω•)", "category": "pets", "keywords": ["chinchilla", "龙猫", "毛丝鼠", "小宠"] },
|
||||
{ "id": "pet-mouse", "name": "Mouse", "cn": "宠物鼠", "symbol": "🐁︎", "category": "pets", "keywords": ["mouse", "rodent", "鼠", "宠物鼠", "小宠"] },
|
||||
{ "id": "pet-rat", "name": "Rat", "cn": "花枝鼠", "symbol": "🐀︎", "category": "pets", "keywords": ["rat", "fancy rat", "花枝鼠", "宠物鼠", "小宠"] },
|
||||
{ "id": "pet-hedgehog", "name": "Hedgehog", "cn": "刺猬", "symbol": "🦔︎", "category": "pets", "keywords": ["hedgehog", "刺猬", "异宠", "小宠"] },
|
||||
{ "id": "pet-ferret", "name": "Ferret", "cn": "雪貂", "symbol": "〜•", "category": "pets", "keywords": ["ferret", "weasel", "雪貂", "貂", "异宠"] },
|
||||
{ "id": "pet-squirrel", "name": "Squirrel", "cn": "松鼠", "symbol": "🐿︎", "category": "pets", "keywords": ["squirrel", "松鼠", "小宠", "动物"] },
|
||||
{ "id": "pet-parrot", "name": "Parrot", "cn": "鹦鹉", "symbol": "🦜︎", "category": "pets", "keywords": ["parrot", "鹦鹉", "鸟类", "宠物鸟"] },
|
||||
{ "id": "pet-bird", "name": "Pet bird", "cn": "宠物鸟", "symbol": "🐦︎", "category": "pets", "keywords": ["bird", "pet bird", "鸟", "宠物鸟", "鸟类"] },
|
||||
{ "id": "pet-dove", "name": "Dove", "cn": "鸽子", "symbol": "🕊︎", "category": "pets", "keywords": ["dove", "pigeon", "鸽子", "信鸽", "鸟类"] },
|
||||
{ "id": "pet-owl", "name": "Owl", "cn": "猫头鹰", "symbol": "🦉︎", "category": "pets", "keywords": ["owl", "猫头鹰", "鸟类", "异宠"] },
|
||||
{ "id": "pet-duck", "name": "Duck", "cn": "鸭子", "symbol": "🦆︎", "category": "pets", "keywords": ["duck", "鸭子", "家禽", "宠物"] },
|
||||
{ "id": "pet-chicken", "name": "Chicken", "cn": "宠物鸡", "symbol": "🐔︎", "category": "pets", "keywords": ["chicken", "hen", "鸡", "家禽", "宠物"] },
|
||||
{ "id": "pet-fish", "name": "Fish", "cn": "观赏鱼", "symbol": "🐟︎", "category": "pets", "keywords": ["fish", "aquarium", "鱼", "观赏鱼", "水族"] },
|
||||
{ "id": "pet-tropical-fish", "name": "Tropical fish", "cn": "热带鱼", "symbol": "🐠︎", "category": "pets", "keywords": ["tropical fish", "aquarium", "热带鱼", "水族", "观赏鱼"] },
|
||||
{ "id": "pet-goldfish", "name": "Goldfish", "cn": "金鱼", "symbol": "><°>", "category": "pets", "keywords": ["goldfish", "fish", "金鱼", "水族", "观赏鱼"] },
|
||||
{ "id": "pet-turtle", "name": "Turtle", "cn": "宠物龟", "symbol": "🐢︎", "category": "pets", "keywords": ["turtle", "tortoise", "乌龟", "宠物龟", "爬宠"] },
|
||||
{ "id": "pet-snake", "name": "Snake", "cn": "宠物蛇", "symbol": "🐍︎", "category": "pets", "keywords": ["snake", "reptile", "蛇", "宠物蛇", "爬宠"] },
|
||||
{ "id": "pet-lizard", "name": "Lizard", "cn": "蜥蜴", "symbol": "🦎︎", "category": "pets", "keywords": ["lizard", "reptile", "蜥蜴", "守宫", "爬宠"] },
|
||||
{ "id": "pet-frog", "name": "Frog", "cn": "宠物蛙", "symbol": "🐸︎", "category": "pets", "keywords": ["frog", "amphibian", "蛙", "宠物蛙", "两栖"] },
|
||||
{ "id": "pet-crab", "name": "Crab", "cn": "宠物蟹", "symbol": "🦀︎", "category": "pets", "keywords": ["crab", "aquatic", "螃蟹", "宠物蟹", "水族"] },
|
||||
{ "id": "pet-shrimp", "name": "Shrimp", "cn": "观赏虾", "symbol": "🦐︎", "category": "pets", "keywords": ["shrimp", "aquarium", "虾", "观赏虾", "水族"] },
|
||||
{ "id": "pet-snail", "name": "Snail", "cn": "蜗牛", "symbol": "🐌︎", "category": "pets", "keywords": ["snail", "蜗牛", "异宠", "软体动物"] },
|
||||
{ "id": "pet-spider", "name": "Spider", "cn": "宠物蜘蛛", "symbol": "🕷︎", "category": "pets", "keywords": ["spider", "tarantula", "蜘蛛", "捕鸟蛛", "异宠"] },
|
||||
{ "id": "pet-scorpion", "name": "Scorpion", "cn": "宠物蝎", "symbol": "🦂︎", "category": "pets", "keywords": ["scorpion", "蝎子", "宠物蝎", "异宠"] },
|
||||
{ "id": "pet-ant", "name": "Ant", "cn": "蚂蚁", "symbol": "🐜︎", "category": "pets", "keywords": ["ant", "蚂蚁", "蚁巢", "昆虫宠物"] },
|
||||
{ "id": "pet-beetle", "name": "Beetle", "cn": "甲虫", "symbol": "🪲︎", "category": "pets", "keywords": ["beetle", "甲虫", "独角仙", "昆虫宠物"] },
|
||||
{ "id": "pet-butterfly", "name": "Butterfly", "cn": "蝴蝶", "symbol": "🦋︎", "category": "pets", "keywords": ["butterfly", "蝴蝶", "昆虫", "自然观察"] },
|
||||
{ "id": "pet-mini-pig", "name": "Mini pig", "cn": "迷你猪", "symbol": "🐖︎", "category": "pets", "keywords": ["pig", "mini pig", "迷你猪", "宠物猪"] },
|
||||
{ "id": "pet-horse", "name": "Horse", "cn": "马匹", "symbol": "🐎︎", "category": "pets", "keywords": ["horse", "equine", "马", "马匹", "伴侣动物"] },
|
||||
{ "id": "pet-goat", "name": "Goat", "cn": "宠物羊", "symbol": "🐐︎", "category": "pets", "keywords": ["goat", "羊", "山羊", "宠物羊"] }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user