init
This commit is contained in:
@@ -0,0 +1,334 @@
|
||||
# 开发计划与任务拆分
|
||||
|
||||
## 1. 开发阶段概览
|
||||
|
||||
```
|
||||
Phase 1: 基础框架搭建 (2天)
|
||||
↓
|
||||
Phase 2: 首页核心功能 (3天) ★ 优先保证首页体验
|
||||
↓
|
||||
Phase 3: 记录与历史 (2天)
|
||||
↓
|
||||
Phase 4: 统计与图表 (2天)
|
||||
↓
|
||||
Phase 5: AI助手与个人中心 (3天)
|
||||
↓
|
||||
Phase 6: 优化与测试 (2天)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Phase 1: 基础框架搭建 (2天)
|
||||
|
||||
### 2.1 项目初始化
|
||||
- [ ] 创建 uni-app 项目 (Vue3 + JavaScript)
|
||||
- [ ] 配置路径别名 (@/)
|
||||
- [ ] 创建目录结构
|
||||
|
||||
### 2.2 基础配置
|
||||
- [ ] 配置 pages.json (页面路由 + TabBar)
|
||||
- [ ] 配置全局样式 (暗色主题变量)
|
||||
- [ ] 配置环境变量 (开发/生产 API 地址)
|
||||
|
||||
### 2.3 核心模块
|
||||
- [ ] 封装 request.js (请求拦截、Token管理、错误处理)
|
||||
- [ ] 封装 storage.js (本地存储工具)
|
||||
- [ ] 配置 Pinia stores 结构
|
||||
- [ ] 实现登录流程 (wx.login + 后端认证)
|
||||
|
||||
### 2.4 公共组件
|
||||
- [ ] 创建 Loading 组件
|
||||
- [ ] 创建 Skeleton 骨架屏组件
|
||||
- [ ] 创建 Button 组件 (主按钮/次按钮样式)
|
||||
- [ ] 创建 Card 组件 (卡片容器)
|
||||
|
||||
**交付物**:可运行的空白项目,登录功能正常
|
||||
|
||||
---
|
||||
|
||||
## 3. Phase 2: 首页核心功能 (3天) ★
|
||||
|
||||
> ⚠️ 首页是用户最常访问的页面,必须保证 < 500ms 首屏渲染
|
||||
|
||||
### 3.1 Day 1: 页面结构 + 数据层
|
||||
|
||||
#### API 封装
|
||||
- [ ] `api/smoke.js`: getDashboard()
|
||||
- [ ] `api/smoke.js`: getNextSmokeTime()
|
||||
- [ ] `api/profile.js`: getProfile()
|
||||
|
||||
#### Store 设计
|
||||
- [ ] `stores/dashboard.js`: 看板数据 + 缓存逻辑
|
||||
- [ ] `stores/user.js`: 用户信息 + 登录状态
|
||||
|
||||
#### 页面结构
|
||||
- [ ] 首页骨架屏
|
||||
- [ ] 页面布局 (header + timer + cards + buttons)
|
||||
|
||||
### 3.2 Day 2: 核心组件
|
||||
|
||||
#### 计时器组件 (TimerRing)
|
||||
- [ ] Canvas 绘制进度环
|
||||
- [ ] 时间格式化 (HH:MM:SS)
|
||||
- [ ] requestAnimationFrame 优化
|
||||
- [ ] 页面可见性处理 (切后台暂停)
|
||||
|
||||
#### 统计卡片
|
||||
- [ ] 今日已抽卡片 (X/目标, 较昨日±N)
|
||||
- [ ] 烟瘾发作已抵抗卡片
|
||||
|
||||
#### 快捷按钮
|
||||
- [ ] 记录抽烟按钮 → 弹出记录表单
|
||||
- [ ] 想抽忍住了按钮 → 快速提交
|
||||
|
||||
### 3.3 Day 3: 交互 + 优化
|
||||
|
||||
#### AI 提示卡片
|
||||
- [ ] 延迟加载 (300ms后)
|
||||
- [ ] 可关闭 (本地存储关闭状态)
|
||||
- [ ] 下次建议时间显示
|
||||
|
||||
#### 性能优化
|
||||
- [ ] 并行请求优化
|
||||
- [ ] 骨架屏过渡动画
|
||||
- [ ] 首屏性能埋点
|
||||
|
||||
#### 新用户引导
|
||||
- [ ] 检测 profile.exists
|
||||
- [ ] 跳转引导页逻辑
|
||||
|
||||
**交付物**:完整可用的首页,首屏 < 500ms
|
||||
|
||||
---
|
||||
|
||||
## 4. Phase 3: 记录与历史 (2天)
|
||||
|
||||
### 4.1 Day 1: 记录表单
|
||||
|
||||
#### 记录弹窗组件
|
||||
- [ ] 时间选择 (默认当前时间)
|
||||
- [ ] 原因标签选择 (压力大/无聊/社交/习惯等)
|
||||
- [ ] 备注输入
|
||||
- [ ] 支数选择 (默认1)
|
||||
|
||||
#### API 集成
|
||||
- [ ] `POST /logs` 新增记录
|
||||
- [ ] `POST /logs/resisted` 忍住记录
|
||||
- [ ] 提交后刷新首页数据
|
||||
|
||||
### 4.2 Day 2: 历史记录页
|
||||
|
||||
#### 列表页面
|
||||
- [ ] 筛选 Tabs (全部/已抽烟/已忍住)
|
||||
- [ ] 时间线布局
|
||||
- [ ] 按日期分组
|
||||
- [ ] 下拉刷新 + 上拉加载
|
||||
|
||||
#### 记录卡片
|
||||
- [ ] 类型图标 (抽烟/忍住)
|
||||
- [ ] 时间 + 原因标签
|
||||
- [ ] 间隔时间显示
|
||||
- [ ] 左滑操作 (编辑/删除)
|
||||
|
||||
#### 编辑/删除
|
||||
- [ ] 编辑弹窗
|
||||
- [ ] 删除确认
|
||||
- [ ] `PUT/DELETE /logs/:id`
|
||||
|
||||
**交付物**:完整的记录流程,历史记录页可用
|
||||
|
||||
---
|
||||
|
||||
## 5. Phase 4: 统计与图表 (2天)
|
||||
|
||||
### 5.1 Day 1: 统计页基础
|
||||
|
||||
#### 时间范围切换
|
||||
- [ ] 周/月/年 Tabs
|
||||
- [ ] 日期范围计算
|
||||
- [ ] 数据请求 (`GET /dashboard?start=&end=`)
|
||||
|
||||
#### 吸烟趋势图
|
||||
- [ ] 集成 uCharts / ECharts
|
||||
- [ ] 柱状图组件封装
|
||||
- [ ] 数据格式转换
|
||||
|
||||
#### 每周洞察卡片
|
||||
- [ ] AI 分析展示 (异步加载)
|
||||
|
||||
### 5.2 Day 2: 详细指标
|
||||
|
||||
#### 健康与储蓄卡片
|
||||
- [ ] 节省金额计算 + 环形进度
|
||||
- [ ] 肺部功能恢复 + 环形进度
|
||||
|
||||
#### 成就卡片
|
||||
- [ ] 连续记录天数
|
||||
- [ ] 已拒绝次数
|
||||
|
||||
#### 趋势对比
|
||||
- [ ] 周同比变化计算
|
||||
- [ ] 日均吸烟量
|
||||
|
||||
**交付物**:完整的统计页,图表正常显示
|
||||
|
||||
---
|
||||
|
||||
## 6. Phase 5: AI助手与个人中心 (3天)
|
||||
|
||||
### 6.1 Day 1: AI 助手页
|
||||
|
||||
#### 阶段进度卡片
|
||||
- [ ] 阶段计算逻辑
|
||||
- [ ] 进度条展示
|
||||
- [ ] 天数倒计时
|
||||
|
||||
#### 每日 AI 分析
|
||||
- [ ] 对话式 UI
|
||||
- [ ] `GET /ai/advice` 集成
|
||||
- [ ] 会员/广告解锁判断
|
||||
|
||||
#### 今日目标
|
||||
- [ ] 任务列表
|
||||
- [ ] 完成状态切换 (本地存储)
|
||||
|
||||
### 6.2 Day 2: 个人中心页
|
||||
|
||||
#### 用户信息
|
||||
- [ ] 头像 + 昵称展示
|
||||
- [ ] 目标戒烟日期
|
||||
- [ ] 连续天数
|
||||
|
||||
#### 设置项
|
||||
- [ ] 目标设定入口
|
||||
- [ ] AI 计划调整入口
|
||||
- [ ] 通知设置
|
||||
- [ ] 会员解锁
|
||||
|
||||
#### 基础设置
|
||||
- [ ] 作息时间设置
|
||||
- [ ] 每包价格设置
|
||||
|
||||
### 6.3 Day 3: 新用户引导
|
||||
|
||||
#### 引导页面
|
||||
- [ ] 分步表单 (5步)
|
||||
- [ ] 进度指示器
|
||||
- [ ] 动画过渡
|
||||
|
||||
#### 数据收集
|
||||
- [ ] 日均吸烟量
|
||||
- [ ] 烟龄
|
||||
- [ ] 抽烟/戒烟动机
|
||||
- [ ] 作息时间
|
||||
|
||||
#### 提交流程
|
||||
- [ ] `PUT /profile` 提交
|
||||
- [ ] 完成后跳转首页
|
||||
|
||||
**交付物**:AI助手页、个人中心页、引导流程完整
|
||||
|
||||
---
|
||||
|
||||
## 7. Phase 6: 优化与测试 (2天)
|
||||
|
||||
### 7.1 Day 1: 性能优化
|
||||
|
||||
#### 首页优化
|
||||
- [ ] 首屏时间 < 500ms 验证
|
||||
- [ ] 图片懒加载
|
||||
- [ ] 组件按需加载
|
||||
|
||||
#### 缓存优化
|
||||
- [ ] 请求缓存策略检查
|
||||
- [ ] 本地存储清理策略
|
||||
|
||||
#### 包体积
|
||||
- [ ] 依赖分析
|
||||
- [ ] 无用代码移除
|
||||
- [ ] 分包加载配置
|
||||
|
||||
### 7.2 Day 2: 测试与修复
|
||||
|
||||
#### 功能测试
|
||||
- [ ] 全流程测试 (新用户 → 日常使用)
|
||||
- [ ] 边界情况测试
|
||||
- [ ] 网络异常测试
|
||||
|
||||
#### UI 适配
|
||||
- [ ] 不同机型测试
|
||||
- [ ] 安全区域适配
|
||||
|
||||
#### Bug 修复
|
||||
- [ ] 测试问题修复
|
||||
- [ ] 体验优化
|
||||
|
||||
**交付物**:可发布的小程序版本
|
||||
|
||||
---
|
||||
|
||||
## 8. 开发优先级
|
||||
|
||||
按重要性和依赖关系排序:
|
||||
|
||||
```
|
||||
P0 (必须完成):
|
||||
├── 登录认证
|
||||
├── 首页看板 (计时器 + 今日统计)
|
||||
├── 记录抽烟/忍住
|
||||
├── 历史记录查看
|
||||
└── 新用户引导
|
||||
|
||||
P1 (核心功能):
|
||||
├── 统计图表 (周视图)
|
||||
├── 下次建议时间
|
||||
├── 个人设置
|
||||
└── 基础 AI 建议
|
||||
|
||||
P2 (增强功能):
|
||||
├── 月/年统计
|
||||
├── AI 时间节点
|
||||
├── 会员/广告解锁
|
||||
└── 通知提醒
|
||||
|
||||
P3 (未来迭代):
|
||||
├── 成就系统
|
||||
├── 社交分享
|
||||
└── 数据导出
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 技术风险与应对
|
||||
|
||||
| 风险 | 影响 | 应对措施 |
|
||||
|------|------|----------|
|
||||
| 首页加载慢 | 用户体验差 | 骨架屏 + 并行请求 + 缓存 |
|
||||
| 图表库体积大 | 包体积超标 | 按需引入 + 分包 |
|
||||
| AI 接口慢 | 等待时间长 | 异步加载 + Loading状态 |
|
||||
| 网络不稳定 | 数据丢失 | 离线缓存 + 重试机制 |
|
||||
| 微信审核不通过 | 延期上线 | 提前了解审核规范 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 验收标准
|
||||
|
||||
### 首页
|
||||
- [ ] 首屏渲染 < 500ms
|
||||
- [ ] 计时器实时更新
|
||||
- [ ] 记录操作 < 3步完成
|
||||
|
||||
### 记录
|
||||
- [ ] 支持快速记录
|
||||
- [ ] 支持编辑/删除
|
||||
- [ ] 数据实时同步
|
||||
|
||||
### 统计
|
||||
- [ ] 图表正常显示
|
||||
- [ ] 数据计算准确
|
||||
- [ ] 切换流畅
|
||||
|
||||
### 整体
|
||||
- [ ] 无明显卡顿
|
||||
- [ ] 无崩溃闪退
|
||||
- [ ] 视觉符合设计稿
|
||||
Reference in New Issue
Block a user