|
@@ -0,0 +1,137 @@
|
|
|
|
|
+# 小程序空功能实现计划
|
|
|
|
|
+
|
|
|
|
|
+**日期:** 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 小时** |
|