## 教育小程序-家长端
### 立项背景与目标
- 背景:面向家校共育场景,老师布置“每日打卡/周作业/通关测试”,家长端负责绑定孩子、完成练习与测试、查看积分与排名、接收平台通知。
- 痛点:练习碎片化、提交流程复杂、家长难以跟踪进度与效果、老师统计工作量大。
- 目标:统一练习入口与流程、提供 AI 评分与录音回放、积分激励与班级排名、错题回溯与加练,提升练习完成率与学习效果。
### 软件功能总览
- 登录注册:支持手机号验证码登录与微信一键登录,鉴权失败自动跳转登录页。
- 学生管理:扫码/邀请码加入班级、选择与切换学生、查看“我的班级”。
- 作业体系:
- 每日打卡:单词拼读、单词拼写、句子朗读、说话造句、故事朗读。
- 周作业:教师布置的周期性任务。
- 加练作业:学生自选强化练习。
- 通关测试:阶段性考核与录音提交。
- 排名与学习概况:班级总榜、分项榜;成绩曲线、作业完成情况环形图。
- 积分中心:剩余积分展示与积分明细列表。
- 平台通知:公告与活动消息分页加载。
- 错题本:按日期回溯错题,支持复练录音与提交。
### 核心模块介绍
- 练习首页 `pages/tabBar/practice`:
- 学生选择与班级显示:`components/select-student/select-student.vue`。
- 日期切换与作业分区:每日打卡、周作业、我的加练。
- 作业项跳转:携带 `type/date` 参数进入对应练习页面(例如单词拼读)。
- 若无学生,弹出“加入班级”弹窗:`components/invitation-code/invitation-code.vue`。
- 测试中心 `pages/tabBar/test`:
- 通关测试入口 `pages/passWork/passWork`,集中展示需要通过的练习项,支持播放音频与录音提交。
- 排名与概况 `pages/tabBar/rank`:
- 总榜与分项榜(拼读/拼写/句子朗读/说话造句/故事朗读)。
- 学习概况:成绩折线与作业完成环形图,数据来源于后端统计接口。
- 我的中心 `pages/tabBar/mine`:
- 平台通知 `pages/mine/notice/notice`,分页加载。
- 我的积分 `pages/mine/points/points`,展示剩余积分与积分变化明细。
- 我的班级 `pages/mine/classes/classes`,展示班级状态、老师、加入时间等。
- 编辑个人信息、退出登录。
- 录音与提交组件 `pages/dailyCheck/components/records.vue`:
- 封装录音、回放、上传
#### 整体架构
- 客户端:基于 `uni-app` 的家长端小程序,采用Vue3 入口(`main.js`),小程序适配。
- 服务端(按模块划分):统一域名路径下的 `student-server` 聚合服务,包含 `student`(学生/登录)、`hw`(作业/答题/上传)、`counter`(统计/排名)。
- 统一请求封装:`utils/request.js` 在所有接口上追加鉴权与统一报文结构,集中处理错误与跳转登录。
#### 前端分层设计
- 页面与路由:`pages.json` 定义 TabBar 与业务页面,遵循“练习/测试/排名/我的”主导航。
- 组件化:公共组件如 `select-student`、`invitation-code`、录音弹窗 `records` 复用交互与样式。
- 组合式逻辑:通过 `composables/useStudent.js` 管理学生数据与切换,避免复杂状态管理依赖。
- 网络层:`utils/request.js` 统一报文与错误处理,自动附加 `Authorization`。
- 媒体与图表:录音/回放统一由 `records.vue` 实现;统计图表用 `qiun-data-charts`。