# 小程序空功能实现计划 **日期:** 2026-08-09 **目标:** 系统性补齐小程序中空功能,覆盖完整页面、占位按钮、Mock数据、TODO --- ## 优先级分类 ### P0 - 完整空页面(影响核心流程) | # | 页面 | 问题 | 建议实现 | |---|------|------|---------| | 1 | `member-detail/service-role-apply.vue` | 服务角色申请 - 完整空页面 | 对接 `applyToTeacher()` 接口,实现申请流程 | | 2 | `member-detail/report-detail.vue` | 报告详情 - 完整空页面 | 对接 `/api/report/detail` 接口,展示报告内容 | | 3 | `games/list.vue` | 益智小游戏 - 完整空页面 | 对接游戏列表接口,实现游戏入口 | ### P1 - 占位按钮(用户可感知但未实现) | # | 页面 | 提示 | 建议实现 | |---|------|------|---------| | 4 | `body-detail/checkin.vue:228` | "健康打卡功能即将上线" | 对接 `/api/health/checkin` 接口 | | 5 | `profile/components/ProfileBadges.vue:108` | "即将上线" | 对接勋章系统接口,或移除按钮 | | 6 | `home-pages/child-index.vue:688` | "成就页面开发中" | 对接成就列表接口 | | 7 | `home-pages/child-index.vue:702` | "即将上线" | 同上 | | 8 | `article-center/index.vue:258` | "书库即将上线" | 对接文章库接口,或改为引导购买 | | 9 | `promotion/material.vue:189` | "分享功能开发中" | 接入 `onShareAppMessage` 分享接口 | | 10 | `diet/record-detail.vue:156` | "编辑功能开发中" | 实现饮食记录编辑功能 | ### P2 - Mock 数据(有数据展示但来自硬编码) | # | 文件 | 问题 | 建议实现 | |---|------|------|---------| | 11 | `mind-detail/family-dashboard.vue:278-355` | 运势数据硬编码 mock(6个函数) | 对接 `/api/mind/fortune/*` 接口 | | 12 | `mind-detail/family-dashboard.vue:685-694` | 周报 PDF 生成硬编码 | 对接 PDF 生成接口 | | 13 | `assessment/purchase.vue` | mock 支付流程 | 使用真实支付接口 | | 14 | `parent/market/detail.vue:116` | `memberId: 1` 硬编码 | 改用实际选中的成员 | | 15 | `guide/register/index.vue:218` | TODO 上传图片 | 实现图片上传到服务器 | ### P3 - TODO 清理(代码注释未实现) | # | 文件 | TODO | 状态 | |---|------|------|------| | 16 | `mind-detail/family-dashboard.vue:278` | 对接运势接口 | P2 | | 17 | `mind-detail/family-dashboard.vue:296` | 对接周报接口 | P2 | | 18 | `mind-detail/family-dashboard.vue:320` | 对接月报接口 | P2 | | 19 | `mind-detail/family-dashboard.vue:345` | 对接报告接口 | P2 | | 20 | `mind-detail/family-dashboard.vue:685` | PDF 生成 | P2 | | 21 | `mind-detail/family-dashboard.vue:694` | PDF 上传 | P2 | | 22 | `assessment/purchase.vue:128` | 获取任务模板列表 | 对接 `/api/assessment/task-templates` | | 23 | `guide/register/index.vue:218` | 图片上传 | P2 | --- ## 实施方案 ### Task 1: 完整空页面(P0) **文件:** `member-detail/service-role-apply.vue` **对接接口:** `POST /api/guide/teacher/apply` **实现:** 1. 获取当前用户信息 2. 填写申请表单(姓名、电话、资质) 3. 提交申请,展示审核状态 **文件:** `member-detail/report-detail.vue` **对接接口:** `POST /api/report/detail` **实现:** 1. 从 URL 获取 reportId 2. 调用接口获取报告详情 3. 展示报告内容(健康报告/测评报告) **文件:** `games/list.vue` **对接接口:** `POST /api/games/list` **实现:** 1. 获取游戏列表 2. 展示游戏卡片 3. 点击跳转游戏详情/开始游戏 ### Task 2: 占位按钮(P1) **文件:** `body-detail/checkin.vue` **对接接口:** `POST /api/health/checkin` **实现:** 移除 toast,正常调用打卡接口 **文件:** `profile/components/ProfileBadges.vue` **对接接口:** `POST /api/user/badges` **实现:** 获取勋章列表,展示已获得的勋章 **文件:** `home-pages/child-index.vue` **对接接口:** `POST /api/achievement/list` **实现:** 获取孩子成就列表 **文件:** `article-center/index.vue` **方案:** 对接文章库接口,或改为引导购买课程 **文件:** `promotion/material.vue` **对接接口:** 微信分享 API **实现:** 接入 `onShareAppMessage`,分享当前页面 **文件:** `diet/record-detail.vue` **对接接口:** `POST /api/diet/record/update` **实现:** 实现编辑功能 ### Task 3: Mock 数据(P2) **文件:** `mind-detail/family-dashboard.vue` **对接接口:** - `POST /api/mind/fortune` - 今日运势 - `POST /api/mind/fortune/week` - 本周运势 - `POST /api/mind/fortune/month` - 本月运势 - `POST /api/mind/fortune/reports` - 报告列表 **文件:** `assessment/purchase.vue` **对接接口:** `POST /api/payment/checkout` **实现:** 使用真实支付流程 **文件:** `parent/market/detail.vue` **修复:** 改用 `this.activeChildId` 替代硬编码 `1` **文件:** `guide/register/index.vue` **对接接口:** `POST /api/file/upload` **实现:** 实现图片上传功能 --- ## 验收标准 1. P0: 3 个完整空页面可正常使用 2. P1: 9 个占位按钮有实际功能或已隐藏 3. P2: 4 处 Mock 数据已对接真实接口 4. P3: 所有 TODO 已解决或转为正式任务 --- ## 工作量估算 | 优先级 | 数量 | 估算 | |--------|------|------| | P0 | 3 | 各 2-3 小时 | | P1 | 9 | 各 1-2 小时 | | P2 | 4 | 各 1-2 小时 | | P3 | 23 | 部分已包含在 P0-P2 | | **总计** | | **约 30-40 小时** |