描述:用户第一次登录时,要显示一个页面让用户先选择是成长规划师、家长还是孩子,再进入详情页更新信息。
关键要素:
描述:成长规划师录入身份证、性别、照片和成长规划师证书号。
关键要素:
描述:成长规划师可查看关联家庭的任务执行情况。
关键要素:
描述:成长规划师可审核家长及孩子的任务完成。
关键要素:
描述:通过分享码给家长,家长注册或登录确认绑定。
关键要素:
描述:接受家长咨询。
关键要素:
描述:调整任务(成长规划师可以修改家庭成员的任务)。
关键要素:
| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 首次登录显示角色选择 | ✅ 已实现 - user-edit.vue 中通过 needsRoleSelect 参数控制 |
✅ |
| 可选角色:成长规划师、家长、孩子 | ✅ 已实现 - 三种角色卡片 | ✅ |
| 选择后进入详情页 | ✅ 已实现 - confirmRole() 方法切换到详情表单 |
✅ |
实现位置:
zxyj-frontend/pages/user-edit/user-edit.vueoptions.needsRoleSelect === 'true'| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 身份证号(成长规划师必填) | ✅ 已实现 | ✅ |
| 性别(成长规划师必填) | ✅ 已实现 | ✅ |
| 成长规划师照片(成长规划师必填) | ✅ 已实现 - teacherPhoto |
✅ |
| 成长规划师证书号(成长规划师必填) | ✅ 已实现 - teacherNo |
✅ |
| 成长规划师证书照片 | ✅ 已实现 - certificateImage |
✅ |
实现位置:
user-edit.vue 第99-130行(成长规划师额外字段)User.java 实体类包含对应字段UpdateUserDTO 应包含这些字段(需验证)| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 查看关联家庭列表 | ✅ 已实现 - GuideFamilyTaskController.getBoundFamilies() |
✅ |
| 获取家庭任务概览 | ✅ 已实现 - getFamilyTaskOverview() |
✅ |
| 获取孩子任务列表 | ✅ 已实现 - getChildTasks() |
✅ |
| 关联家庭的绑定机制 | ⚠️ 存在潜在问题 - 见下文"需求偏差分析" | ⚠️ |
| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 单任务审核 | ✅ 已实现 - GuideFamilyTaskController.reviewTask() |
✅ |
| 批量审核 | ✅ 已实现 - batchReviewTasks() |
✅ |
| 审核通过/拒绝 | ✅ 已实现 | ✅ |
| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 家庭邀请码机制 | ✅ 已实现 - Family.inviteCode |
✅ |
| 家长使用邀请码绑定 | ✅ 已实现 - UserController.joinFamily() |
✅ |
| 成长规划师分享码给家长 | ✅ 已实现 - GuideController.getFamilyInviteCode() |
✅ |
| 绑定后成长规划师能看到家庭 | ✅ 已实现 - UserService.joinFamily() 更新 teacherFamilyIds |
✅ |
实现位置:
GuideController.getFamilyInviteCode() - 第148-179行UserService.joinFamily() - 第751-764行自动关联成长规划师| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 家长联系成长规划师 | ✅ 已实现 - TeacherMessageController.sendMessage() |
✅ |
| 成长规划师回复咨询 | ✅ 已实现 - TeacherMessageController.replyMessage() |
✅ |
| 成长规划师查看咨询列表 | ✅ 已实现 - TeacherMessageController.getMessages() |
✅ |
| 家长查看咨询记录 | ✅ 已实现 - TeacherMessageController.getMyMessages() |
✅ |
实现位置:
TeacherMessage.java - 实体类TeacherMessageMapper.java - MapperTeacherMessageService.java - ServiceTeacherMessageController.java - REST API| 需求点 | 实现情况 | 状态 |
|---|---|---|
| 成长规划师修改任务 | ✅ 已实现 - GuideFamilyTaskController.updateTask() |
✅ |
| 成长规划师删除任务 | ✅ 已实现 - GuideFamilyTaskController.deleteTask()(不限创建者) |
✅ |
| 调整任务(修改/删除)权限 | ✅ 已实现 - role=teacher 可调整家庭内所有任务 | ✅ |
实现位置:
GuideFamilyTaskController.updateTask() - 第271-317行GuideFamilyTaskController.deleteTask() - 第319-349行更新说明:以下偏差已全部修复
问题描述:
Family.inviteCode)teacherFamilyIds 字段解决方案:
UserService.joinFamily() 中,检查家庭是否有绑定的成长规划师,如有则更新成长规划师的 teacherFamilyIds(第751-764行)问题描述:
已实现功能:
teacher_messages问题描述:
TaskService.deleteTask())已实现功能:
GuideFamilyTaskController.updateTask()GuideFamilyTaskController.deleteTask()GuideController.getFamilyInviteCode() 获取邀请码teacherFamilyIds 和家庭表数据通过 UserService.joinFamily() 自动同步/pages/teacher/index 页面存在更新说明:以下功能已全部实现
teacherFamilyIdsUserService.joinFamily() 第751-764行TeacherMessageControllerteacher_messagesGuideFamilyTaskController.updateTask()GuideFamilyTaskController.deleteTask()teacherFamilyIds 是否更新| 菜单项 | 可见角色 | 说明 |
|---|---|---|
| 📝 修改个人资料 | 全部 | 跳转 user-edit 页面 |
| 👶 我的孩子 | 仅家长 | 跳转孩子管理页面 |
| 📊 积分记录 | 全部 | 跳转积分明细页面 |
| 🔐 设置/重置密码 | 仅家长和成长规划师 | 孩子不可见 |
| 🚪 退出登录 | 全部 | 退出登录 |
设置密码:
重置密码:
切换模式验证:
/pages/user-edit/user-edit 页面| 字段 | 类型 | 说明 |
|---|---|---|
| 标题 | String | 任务名称 |
| 内容 | String | 任务描述 |
| 类型 | String | 学习类/生活类/运动类/其他 |
| 完成方式 | List | 打卡/文本/语音/图片/视频,可多选 |
| 积分 | Integer | 1-10分 |
| 时长 | Integer | 分钟 |
| 完成孩子 | List | 多个孩子可多选 |
| 频率 | String | daily/weekly/monthly |
| 周期次数 | Integer | 周期内最多完成次数,超过不计积分 |
| 任务性质 | String | 一次性onetime/循环recurring |
| 是否需要审核 | Integer | 0否/1是 |
| 审核方式 | String | creator/parent/teacher/ai |
| 字段 | 类型 | 说明 |
|---|---|---|
| 最早开始时间 | DateTime | 不设置表示不限时 |
| 最晚结束时间 | DateTime | 不设置表示不限时 |
小程序端:
Web端:
模板来源:
模板内容:
tasks 表新增字段:
- executor_type VARCHAR(20) COMMENT '执行者类型: child/parent'
- executor_id BIGINT COMMENT '执行者ID'
- task_type VARCHAR(20) COMMENT '任务性质: onetime/recurring'
- complete_types JSON COMMENT '完成方式: ["checkin","text","image"...]'
- review_type VARCHAR(20) COMMENT '审核人类型: creator/parent/teacher/ai'
- earliest_start DATETIME COMMENT '最早开始时间'
- latest_end DATETIME COMMENT '最晚结束时间'
- max_frequency INT COMMENT '周期内最多完成次数'
| 审核人类型 | 说明 |
|---|---|
| creator | 任务创建人审核 |
| parent | 家长审核 |
| teacher | 成长规划师审核 |
| ai | AI自动审核 |
| 功能 | 状态 | 说明 |
|---|---|---|
| 后端DTO | ✅ 完成 | CreateTaskDTO 已添加所有字段 |
| 后端实体 | ✅ 完成 | Task 实体已添加所有字段 |
| 后端Service | ✅ 完成 | TaskService.createTask 已更新 |
| 小程序端 | ✅ 完成 | tasks.vue 已实现完整表单 |
| Web端 | ⏳ 待开发 | 需要单独实现 |