日期: 2026-05-14 状态: 设计稿
重构家长端小程序首页,适配一孩到多孩场景,让孩子信息成为首页核心导航入口。
parent-index.vue)┌──────────────────────────────────────┐
│ 上午好,王爸爸 👋 │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 👦小明│ │ 👧小红│ │ 👶小华│ ← 孩子卡片行│
│ │ ⭐28 │ │ ⭐45 │ │ ⭐12 │ │
│ │ 📋2 │ │ ✅ │ │ 💝1 │ │
│ └──────┘ └──────┘ └──────┘ │
│ │
│ 今日概览 (保留现有统计) │
│ ✅任务完成 68% ⭐本月积分 85 │
│ 🔥连续打卡 5天 📝待审任务 3 │
│ │
│ 待处理 (增强,混排所有孩子) │
│ ├─ 📋 小明·整理书包 → [审核] │
│ ├─ 💝 小红·买画笔 → [审批] │
│ └─ 📋 小明·练字 → [审核] │
│ │
│ 快捷操作 │
│ [➕创建任务] [📋任务审核] [💝心愿审批] │
└──────────────────────────────────────┘
孩子卡片行规则:
navigateTo /pages/parent/child-detail?childId=Xpages/parent/child-detail.vue) — 新页面┌──────────────────────────────────────┐
│ ← 返回 小明 │
│ │
│ ┌────── 孩子信息卡片 ──────┐ │
│ │ 👦 小明 ⭐ 28 分 │ │
│ │ DAN: L3 🔥连续 5 天 │ │
│ │ 📋 今日任务 3/5 完成 │ │
│ └──────────────────────────┘ │
│ │
│ 操作区 │
│ ┌──────────┐ ┌──────────┐ │
│ │ 📝 │ │ 💝 │ │
│ │ 创建任务 │ │ 心愿审核 │ │
│ └──────────┘ └──────────┘ │
│ ┌──────────┐ │
│ │ 📊 │ │
│ │ 成长档案 │ ← 这里放成长档案 │
│ └──────────┘ │
│ │
│ 今日任务 │
│ ├─ ✅ 整理书包 │
│ ├─ ⏳ 练字 30分钟 │
│ └─ ⏳ 阅读 20分钟 │
│ │
│ 待处理 │
│ ├─ 💝 买画笔 → 待审批 │
│ └─ 📋 整理书包 → 待审核 │
└──────────────────────────────────────┘
| 文件 | 变更类型 | 说明 |
|---|---|---|
pages/index/parent-index.vue |
修改 | 顶部增加孩子卡片行,快捷操作去掉成长档案 |
pages/parent/child-detail.vue |
新增 | 孩子总览页 + 操作入口 |
pages.json |
修改 | 注册 child-detail 路由 |
pages/tasks/create-task.vue |
修改 | 支持 childId 参数自动选择孩子 |
pages/parent/wishes/index.vue |
修改 | 支持 childId 参数过滤心愿列表 |
pages/growth/index.vue |
修改 | 支持 childId 参数自动选择孩子 |
utils/api.js |
修改 | 按需新增 childId 过滤 API 参数 |
// pages.json 新增
{
"path": "pages/parent/child-detail",
"style": { "navigationBarTitleText": "孩子详情" }
}
getChildren() 已返回 id、nickname、danLevel、totalPoints、streakDaysgetPendingReviewTasks() → 前端按 childId 过滤/api/growth/record/child/{childId} 已存在<ChildCard>
props: { child: Object, isSingle: Boolean }
- 显示头像(emoji)、昵称、积分、DAN等级
- 待审核任务数、待审批心愿数
- 点击 @click → 跳转 child-detail
- 单孩子模式: 大卡片,信息更多
- 多孩子模式: 小卡片,横向滚动
</ChildCard>
onShow():
await getChildren() → 孩子列表
await getPendingReviewTasks() → 按 childId 分组
await getFamilyMembers() 或 points/stats → 今日概览
沿用现有配色: