Files
digital-pilates/constants/Routes.ts
richarjiang e2597c1bc4 feat(challenges): 新增挑战模块与详情页,优化标签栏布局
- 新增挑战列表页 `app/(tabs)/challenges.tsx`,展示热门挑战卡片
- 新增挑战详情页 `app/challenges/[id].tsx`,支持排行榜、分享与参与
- 在标签栏中新增“挑战”入口,替换原有“发现”与“AI”页
- 调整标签栏间距与圆角,适配新布局
- 新增挑战相关路由常量 `TAB_CHALLENGES`
- 迁移 `coach.tsx` 与 `explore.tsx` 至根目录,保持结构清晰
2025-09-26 17:29:00 +08:00

98 lines
2.2 KiB
TypeScript

// 应用路由常量定义
export const ROUTES = {
// Tab路由
TAB_EXPLORE: '/explore',
TAB_COACH: '/coach',
TAB_GOALS: '/goals',
TAB_STATISTICS: '/statistics',
TAB_CHALLENGES: '/challenges',
TAB_PERSONAL: '/personal',
// 训练相关路由
WORKOUT_TODAY: '/workout/today',
WORKOUT_CREATE_SESSION: '/workout/create-session',
WORKOUT_SESSION: '/workout/session',
// 训练计划相关路由
TRAINING_PLAN: '/training-plan',
// 体态评估路由
AI_POSTURE_ASSESSMENT: '/ai-posture-assessment',
// 挑战路由
CHALLENGE: '/challenge',
CHALLENGE_DAY: '/challenge/day',
// 文章路由
ARTICLE: '/article',
// 用户相关路由
AUTH_LOGIN: '/auth/login',
PROFILE_EDIT: '/profile/edit',
PROFILE_GOALS: '/profile/goals',
// 法律相关路由
LEGAL_USER_AGREEMENT: '/legal/user-agreement',
LEGAL_PRIVACY_POLICY: '/legal/privacy-policy',
// 营养相关路由
NUTRITION_RECORDS: '/nutrition/records',
FOOD_LIBRARY: '/food-library',
VOICE_RECORD: '/voice-record',
// 体重记录相关路由
WEIGHT_RECORDS: '/weight-records',
// 健康相关路由
FITNESS_RINGS_DETAIL: '/fitness-rings-detail',
SLEEP_DETAIL: '/sleep-detail',
BASAL_METABOLISM_DETAIL: '/basal-metabolism-detail',
// 饮水相关路由
WATER_DETAIL: '/water/detail',
WATER_SETTINGS: '/water/settings',
WATER_REMINDER_SETTINGS: '/water/reminder-settings',
// 任务相关路由
TASK_DETAIL: '/task-detail',
// 目标管理路由 (已移至tab中)
// GOAL_MANAGEMENT: '/goal-management',
// 开发者相关路由
DEVELOPER: '/developer',
DEVELOPER_LOGS: '/developer/logs',
} as const;
// 路由参数常量
export const ROUTE_PARAMS = {
// 训练会话参数
WORKOUT_SESSION_ID: 'id',
// 训练计划参数
TRAINING_PLAN_ID: 'planId',
TRAINING_PLAN_TAB: 'tab',
// 挑战日参数
CHALLENGE_DAY: 'day',
// 文章参数
ARTICLE_ID: 'id',
// 任务参数
TASK_ID: 'taskId',
// 重定向参数
REDIRECT_TO: 'redirectTo',
REDIRECT_PARAMS: 'redirectParams',
} as const;
// 查询参数常量
export const QUERY_PARAMS = {
// 训练计划查询参数
TRAINING_PLAN_TAB_SCHEDULE: 'schedule',
// 教练页面参数
COACH_NAME: 'name',
} as const;