| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- /**
- * 应用库常量清单
- *
- * 每个应用字段说明:
- * key - 在后端配置/URL 中使用的 key,对应 user_shortcut_config.app_key
- * name - 显示名称(中文)
- * icon - emoji 图标,与现有首页快捷入口一致,零资源成本
- * route - 直接进入的页面路径(uni-app navigationTo URL 写法)
- * canShortcut - 是否可以放入首页快捷区(true=可配置,false=已在首页有显著入口,不可配入快捷区)
- *
- * 应用库 = 所有“可直接进入的功能页面”,除已在首页有显著入口者外,其余均可在配置页中选择放入快捷区。
- *
- * 固定的 6 个快捷入口(默认值,新用户/无配置时):
- * task, interaction, tiandi, members, circle, shop
- *
- * 已在首页显著位置的功能(canShortcut=false,配置页可见但置灰标注"已在首页"):
- * report, article
- *
- * 可在快捷区配置的功能(canShortcut=true):
- * diet, ai, growth, wish, medal, game, assess, activity, membership, wealth
- */
- export const APP_LIBRARY = [
- // --- 已在首页有显著入口(不进快捷配置列表,但进应用库,置灰标注) ---
- {
- key: 'report',
- name: '健康报告',
- icon: '🩺',
- route: '/pages/health/report-upload',
- canShortcut: false,
- description: '体检报告 · 菌群检测 · 认知测评 · 心理测评 · 情绪打卡'
- },
- {
- key: 'article',
- name: '文章中心',
- icon: '📖',
- route: '/pages/article-center/index',
- canShortcut: false,
- description: '免费五维测评 · 个性化成长方案 · 全家共管 · 任务与积分激励'
- },
- // --- 可在快捷区配置 ---
- {
- key: 'task',
- name: '任务',
- icon: '📋',
- route: '/pages/tasks/tasks',
- canShortcut: true,
- description: '创建/下发、执行(含小游戏)、审核'
- },
- {
- key: 'interaction',
- name: '互动',
- icon: '💬',
- route: '/pages/action-detail/interaction-log',
- canShortcut: true,
- description: '记录家庭互动、查看互动历史'
- },
- {
- key: 'tiandi',
- name: '天盘',
- icon: '🏠',
- route: '/pages/mind-detail/family-dashboard',
- canShortcut: true,
- description: '家庭天盘、成长计划查看'
- },
- {
- key: 'members',
- name: '成员',
- icon: '👨👩👧👦',
- route: '/pages/profile-extra/family-members',
- canShortcut: true,
- description: '家庭成员管理、成员角色切换'
- },
- {
- key: 'circle',
- name: '圈子',
- icon: '🤝',
- route: '/pages/discover/circles',
- canShortcut: true,
- description: '圈子动态、创建/加入圈子'
- },
- {
- key: 'shop',
- name: '商城',
- icon: '🛒',
- route: '/pages/shop/index/index',
- canShortcut: true,
- description: '商品浏览、购买套餐、服务商品'
- },
- // --- 可配置的功能 ---
- {
- key: 'diet',
- name: '饮食推荐',
- icon: '🥗',
- route: '/pages/diet/index',
- canShortcut: true,
- description: ' personalized 饮食建议、食物/产品推荐'
- },
- {
- key: 'ai',
- name: 'AI管家',
- icon: '🤖',
- route: '/pages/ai/chat',
- canShortcut: true,
- description: 'AI健康问答、营养分析、挑食改善建议'
- },
- {
- key: 'growth',
- name: '成长记录',
- icon: '📈',
- route: '/pages/growth-main/index',
- canShortcut: true,
- description: '查看全家成长档案、里程碑、成长轨迹'
- },
- {
- key: 'wish',
- name: '心愿',
- icon: '⭐',
- route: '/pages/wishes/index',
- canShortcut: true,
- description: '创建心愿、浏览他人心愿、兑换'
- },
- {
- key: 'medal',
- name: '勋章',
- icon: '🏅',
- route: '/pages/rewards/rewards',
- canShortcut: true,
- description: '查看勋章墙、勋章获取方式'
- },
- {
- key: 'game',
- name: '小游戏',
- icon: '🎮',
- route: '/pages/games/list',
- canShortcut: true,
- description: '舒尔特方格、猜数字、数独小游戏'
- },
- {
- key: 'assess',
- name: '测评',
- icon: '🧪',
- route: '/pages/assessment/apply',
- canShortcut: true,
- description: '预约测评、查看报告、历史测评'
- },
- {
- key: 'activity',
- name: '活动',
- icon: '🎪',
- route: '/pages/activity/index',
- canShortcut: true,
- description: '查看活动、报名参与、活动记录'
- },
- {
- key: 'membership',
- name: '会员中心',
- icon: '👑',
- route: '/pages/membership/index',
- canShortcut: true,
- description: '查看会员状态、续费/升级、会员权益'
- },
- {
- key: 'wealth',
- name: '财富',
- icon: '💰',
- route: '/pages/wealth/index',
- canShortcut: true,
- description: '查看财富积分、收益明细、理财套餐'
- }
- ]
- /**
- * 获取应用库(所有 key 的只读快照,外部请勿修改原数组)
- * 用法:import { APP_LIBRARY } from '@/utils/app-library';或 APP_LIBRARY.slice()
- */
- export const getAppLibrary = () => APP_LIBRARY.slice()
- /**
- * 根据 key 在应用库中查找应用信息
- * 用法:import { findAppByKey } from '@/utils/app-library'
- * const app = findAppByKey('task')
- */
- export const findAppByKey = (key) => {
- return APP_LIBRARY.find(app => app.key === key)
- }
- /**
- * 获取所有可以放入首页快捷区的应用(canShortcut=true)
- * 用法:import { getShortcutableApps } from '@/utils/app-library'
- * const shortcutable = getShortcutableApps()
- */
- export const getShortcutableApps = () => APP_LIBRARY.filter(app => app.canShortcut === true)
- /**
- * 获取所有已在首页有显著入口的应用(canShortcut=false)
- * 用法:import { getFixedApps } from '@/utils/app-library'
- * const fixed = getFixedApps()
- */
- export const getFixedApps = () => APP_LIBRARY.filter(app => app.canShortcut === false)
|