You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 KiB
12 KiB
学员端开发计划 - 前端任务
📱 技术栈和环境
- 框架:UniApp + Vue2
- 平台:微信小程序
- UI组件:uni-ui + 自定义组件
- 状态管理:Vuex
- 网络请求:uni.request封装
⚠️ 重要:分包配置要求
背景:当前UniApp打包微信小程序容量已接近2M上限 解决方案:采用分包架构
- 主包:只包含登录页和学员端落地页(控制在1.5M以内)
- 分包:所有功能页面都放在student-pages分包中
- 目标:确保小程序能正常发布和使用
📋 前端开发任务清单
🔧 基础架构任务
1. 项目配置和环境搭建
负责人:前端开发者 工期:1天 任务内容:
- 配置微信小程序开发环境
- 设置API基础URL和请求拦截器
- 配置token存储和自动携带
- 设置页面路由和tabBar配置
- 配置腾讯云COS上传参数
- 重要:配置分包结构,控制主包大小
分包配置要求:
// pages.json 分包配置
{
"pages": [
"pages/login/login", // 登录页 - 主包
"pages/home/home" // 学员端落地页 - 主包
],
"subPackages": [
{
"root": "student-pages",
"name": "student",
"pages": [
"profile/profile", // 个人信息页
"physical-test/list", // 体测数据页
"physical-test/detail", // 体测详情页
"course-schedule/list", // 课程安排页
"course-booking/list", // 课程预约页
"order/list", // 订单管理页
"contract/list", // 合同管理页
"knowledge/list", // 知识库页
"message/list" // 消息管理页
]
}
]
}
主包内容(控制在1.5M以内):
- 登录页面
- 学员端落地页(个人信息概览+功能入口)
- 公共组件(必需的)
- 基础工具类
分包内容:
- 所有功能页面
- 页面专用组件
- 页面相关资源
验收标准:
- ✅ 小程序可正常启动和预览
- ✅ API请求能正确携带token
- ✅ 路由跳转正常
- ✅ 开发环境配置完整
- ✅ 主包大小控制在1.5M以内
- ✅ 分包加载正常
2. 公共组件开发
负责人:前端开发者
工期:2天
任务内容:
- 学员选择组件(支持多孩子切换)
- 头像上传组件(支持裁剪和压缩)
- PDF预览组件(uni.openDocument封装)
- 图片分享组件(PDF转图片分享)
- 消息渲染组件(5种消息类型)
- 趋势图组件(身高体重折线图)
验收标准:
- ✅ 所有组件功能完整可复用
- ✅ 组件接口设计合理
- ✅ 支持数据双向绑定
- ✅ 异常情况处理完善
📄 页面开发任务
3. 登录页面
负责人:前端开发者
工期:1天
任务内容:
- 手机号+密码登录表单
- 微信一键登录按钮
- 登录状态验证和跳转
- 首次登录密码设置提示
API接口依赖:
POST /api/login/unified- 统一登录接口POST /api/login/wechat- 微信登录接口
验收标准:
- ✅ 手机号格式验证正确
- ✅ 密码长度验证正确
- ✅ 微信登录流程完整
- ✅ 登录成功后正确跳转
- ✅ 错误提示信息准确
4. 学员端落地页(主包)
负责人:前端开发者 工期:1天 任务内容:
- 用户欢迎信息展示(姓名+星期+入会时间)
- 学员选择卡片(多孩子切换)
- 功能模块入口导航
- 快捷信息概览
页面结构:
[用户信息区域]
- {name} 你好,今天是星期{x}
- 入会时间:{create_year_month}
- 年龄:{age}
[学员选择卡片]
- 学员下拉选择/切换按钮
- 当前选中学员信息
[功能入口区域]
- 个人信息管理 → 跳转分包页面
- 体测数据 → 跳转分包页面
- 课程安排 → 跳转分包页面
- 课程预约 → 跳转分包页面
- 订单管理 → 跳转分包页面
- 合同管理 → 跳转分包页面
- 知识库 → 跳转分包页面
- 消息管理 → 跳转分包页面
API接口依赖:
GET /api/student/list- 获取学员列表GET /api/student/summary/{id}- 获取学员概览信息
验收标准:
- ✅ 用户信息正确计算和显示
- ✅ 学员切换功能正常
- ✅ 功能入口跳转正常
- ✅ 页面加载速度快
- ✅ 页面大小控制合理
5. 个人信息管理页面(分包)
负责人:前端开发者 工期:1.5天 任务内容:
- 学员详细信息展示
- 学员基本信息编辑表单
- 头像上传功能
- 信息保存和验证
页面结构:
[学员详细信息]
- 头像显示/上传
- 基本信息表单
- 家庭信息表单
- 保存按钮
API接口依赖:
GET /api/student/info/{id}- 获取学员详情PUT /api/student/update/{id}- 更新学员信息POST /api/upload/avatar- 头像上传
验收标准:
- ✅ 学员信息正确显示
- ✅ 头像上传压缩到2M以下
- ✅ 表单验证完整
- ✅ 保存成功提示
- ✅ 分包页面加载正常
6. 体测数据页面(分包)
负责人:前端开发者
工期:2天
任务内容:
- 体测记录列表展示
- 身高体重数据显示
- 体测报告PDF预览
- 身高体重趋势图
- PDF转图片分享功能
页面结构:
[体测记录列表]
- 测试日期
- 身高/体重数据
- 体测报告图标
[体测详情]
- 身高体重数值
- 趋势折线图
- PDF预览/分享按钮
API接口依赖:
GET /api/physical-test/list/{student_id}- 获取体测记录GET /api/physical-test/detail/{id}- 获取体测详情POST /api/physical-test/share/{id}- PDF转图片分享
验收标准:
- ✅ 体测数据正确显示
- ✅ 趋势图渲染正常
- ✅ PDF预览功能正常
- ✅ 分享功能正常
- ✅ 无数据状态处理
6. 课程安排页面
负责人:前端开发者
工期:1.5天
任务内容:
- 课程安排列表展示
- 课程状态标识
- 课程详情查看
- 日期筛选功能
页面结构:
[筛选区域]
- 日期选择器
- 状态筛选
[课程列表]
- 课程名称/时间
- 教练/地点信息
- 课程状态标识
API接口依赖:
GET /api/course-schedule/list/{student_id}- 获取课程安排GET /api/course-schedule/detail/{id}- 获取课程详情
验收标准:
- ✅ 课程列表正确显示
- ✅ 状态标识准确
- ✅ 筛选功能正常
- ✅ 详情页面完整
7. 课程预约页面
负责人:前端开发者
工期:2天
任务内容:
- 可预约课程列表
- 预约确认弹窗
- 预约冲突检测
- 我的预约列表
- 取消预约功能
页面结构:
[可预约课程]
- 课程信息卡片
- 预约按钮
- 剩余名额显示
[我的预约]
- 预约记录列表
- 取消预约按钮
- 取消原因填写
API接口依赖:
GET /api/course-booking/available/{student_id}- 获取可预约课程POST /api/course-booking/create- 创建预约GET /api/course-booking/my-list/{student_id}- 我的预约列表PUT /api/course-booking/cancel/{id}- 取消预约
验收标准:
- ✅ 可预约课程正确显示
- ✅ 预约冲突检测正常
- ✅ 预约确认流程完整
- ✅ 取消预约功能正常
- ✅ 6小时限制检查正确
8. 订单管理页面
负责人:前端开发者
工期:2天
任务内容:
- 订单列表展示
- 订单状态标识
- 支付功能集成
- 订单筛选功能
- 订单详情查看
页面结构:
[筛选区域]
- 课程类型筛选
- 时间范围筛选
[订单列表]
- 订单基本信息
- 支付状态
- 支付按钮
API接口依赖:
GET /api/order/list/{student_id}- 获取订单列表GET /api/order/detail/{id}- 获取订单详情POST /api/payment/create- 创建支付GET /api/payment/status/{order_id}- 查询支付状态
验收标准:
- ✅ 订单列表正确显示
- ✅ 支付流程完整
- ✅ 支付状态更新及时
- ✅ 筛选功能正常
- ✅ 异常处理完善
9. 合同管理页面
负责人:前端开发者 工期:2天 任务内容:
- 合同列表展示
- 合同状态标识
- 合同详情查看
- 合同签署流程
- 合同下载功能
页面结构:
[合同列表]
- 合同名称
- 签署状态
- 签署时间
[合同签署]
- 合同内容展示
- 表单信息填写
- 签名上传
- 提交确认
API接口依赖:
GET /api/contract/list/{student_id}- 获取合同列表GET /api/contract/detail/{id}- 获取合同详情POST /api/contract/sign- 提交合同签署GET /api/contract/download/{id}- 下载合同
验收标准:
- ✅ 合同列表正确显示
- ✅ 签署流程完整
- ✅ 表单验证正确
- ✅ 签名上传正常
- ✅ 下载功能正常
10. 知识库页面
负责人:前端开发者 工期:1.5天 任务内容:
- 知识内容列表
- 分类筛选功能
- 富文本内容渲染
- 权限控制显示
页面结构:
[分类筛选]
- 课程类型筛选
- 内容类型筛选
[内容列表]
- 标题/封面
- 内容摘要
- 查看详情
API接口依赖:
GET /api/knowledge/list/{student_id}- 获取知识内容GET /api/knowledge/detail/{id}- 获取内容详情GET /api/knowledge/categories- 获取分类列表
验收标准:
- ✅ 内容列表正确显示
- ✅ 权限控制正确
- ✅ 富文本渲染正常
- ✅ 分类筛选功能正常
11. 消息管理页面
负责人:前端开发者 工期:2天 任务内容:
- 消息列表展示
- 5种消息类型渲染
- 已读/未读状态
- 消息详情查看
- 消息交互功能
页面结构:
[消息列表]
- 消息标题/时间
- 未读标识
- 消息类型图标
[消息详情]
- 根据类型渲染内容
- 相关操作按钮
- 已读状态更新
API接口依赖:
GET /api/message/list/{student_id}- 获取消息列表GET /api/message/detail/{id}- 获取消息详情PUT /api/message/read/{id}- 标记已读
验收标准:
- ✅ 消息列表正确显示
- ✅ 5种类型渲染正确
- ✅ 已读状态更新正常
- ✅ 交互功能完整
- ✅ 推送消息处理正常
📊 前端开发进度计划
第1周(5天)
- 天1:基础架构搭建
- 天2-3:公共组件开发
- 天4:登录页面
- 天5:个人信息页面(第1天)
第2周(5天)
- 天1:个人信息页面(第2天)
- 天2-3:体测数据页面
- 天4:课程安排页面
- 天5:课程预约页面(第1天)
第3周(5天)
- 天1:课程预约页面(第2天)
- 天2-3:订单管理页面
- 天4-5:合同管理页面
第4周(3天)
- 天1:知识库页面
- 天2-3:消息管理页面
总工期:18天
🔍 质量控制和验收标准
代码质量要求
- 代码规范符合ESLint配置
- 组件复用性良好
- 异常处理完善
- 性能优化到位
功能验收要求
- 所有页面功能完整可用
- 数据交互正确无误
- 用户体验流畅
- 兼容性测试通过
测试要求
- 单元测试覆盖率>80%
- 集成测试通过
- 用户验收测试通过
- 性能测试达标