107 lines
5.0 KiB
Markdown
107 lines
5.0 KiB
Markdown
|
|
# 积分模块新增页面 — 2 小时极速排期
|
|||
|
|
|
|||
|
|
> 关联文档:[integral-pages-coding-plan.md](./integral-pages-coding-plan.md)
|
|||
|
|
> 开发人员:1 人(全栈)
|
|||
|
|
> 时间窗口:2026-03-30 20:35 ~ 22:35(共 120 分钟)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 时间线总览
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
20:35 20:55 21:25 21:55 22:15 22:25 22:35
|
|||
|
|
├─────────────┼─────────────┼─────────────┼──────────────┼────────┼────────┤
|
|||
|
|
│ Phase 1 │ Phase 2 │ Phase 3 │ Phase 4 │Phase 5 │ 收尾 │
|
|||
|
|
│ 基础设施 │ 积分订单页 │ 用户积分页 │ 积分明细页 │ 联调 │ 提交 │
|
|||
|
|
│ 20min │ 30min │ 30min │ 20min │ 10min │ 10min │
|
|||
|
|
└─────────────┴─────────────┴─────────────┴──────────────┴────────┴────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 分段任务明细
|
|||
|
|
|
|||
|
|
### Phase 1:基础设施(20:35 ~ 20:55,20 min)
|
|||
|
|
|
|||
|
|
| 时间 | 任务 | 产出物 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 20:35 ~ 20:40 | 创建 `EmptyLayout.vue` + `requestNoAuth.js` | 布局组件 + 免认证请求实例 |
|
|||
|
|
| 20:40 ~ 20:45 | 创建路由模块 `integralExternal.js`,注册到 `constantRoutes` | 路由配置 |
|
|||
|
|
| 20:45 ~ 20:50 | 修改 `permission.js` 白名单为前缀匹配 | 免登录机制生效 |
|
|||
|
|
| 20:50 ~ 20:55 | 创建 API 文件 `integralExternal.js` + 快速冒烟验证(访问空页面不跳登录) | API 框架 + 冒烟通过 |
|
|||
|
|
|
|||
|
|
**20:55 检查点**:无 token 访问 `/integral-external/order` 不跳转登录页 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Phase 2:积分订单页面(20:55 ~ 21:25,30 min)
|
|||
|
|
|
|||
|
|
| 时间 | 任务 | 产出物 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 20:55 ~ 21:10 | 从 `order/index.vue` 裁剪:只保留表格 + 筛选 + 分页,删除权限指令/操作列/导出 | 页面主体 |
|
|||
|
|
| 21:10 ~ 21:20 | 替换 API 为 `requestNoAuth`,去除 Vuex 依赖 | 接口对接完成 |
|
|||
|
|
| 21:20 ~ 21:25 | 快速自测:列表加载、状态筛选、分页切换 | 自测通过 |
|
|||
|
|
|
|||
|
|
**21:25 检查点**:积分订单页数据可正常展示和筛选 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Phase 3:用户积分页面(21:25 ~ 21:55,30 min)
|
|||
|
|
|
|||
|
|
| 时间 | 任务 | 产出物 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 21:25 ~ 21:35 | 从 `user/list/index.vue` 裁剪:删除高级筛选/Tab/权限/操作按钮 | 页面主体 |
|
|||
|
|
| 21:35 ~ 21:45 | 增加 wa_users 字段列(积分、个人奖金、余额等),实现数据合并 | 字段展示 |
|
|||
|
|
| 21:45 ~ 21:50 | 添加"查看积分明细"跳转按钮,替换 API | 跳转功能 |
|
|||
|
|
| 21:50 ~ 21:55 | 快速自测:列表加载、wa_users 字段、跳转明细 | 自测通过 |
|
|||
|
|
|
|||
|
|
**21:55 检查点**:用户积分页含 wa_users 字段,点击可跳转明细页 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Phase 4:用户积分明细子页面(21:55 ~ 22:15,20 min)
|
|||
|
|
|
|||
|
|
| 时间 | 任务 | 产出物 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 21:55 ~ 22:05 | 复制 `user/integral/index.vue`,从 URL query 读取 uid 注入搜索参数 | 页面主体 |
|
|||
|
|
| 22:05 ~ 22:10 | 添加顶部概览卡片(积分 from eb_user + 个人奖金 from wa_users)+ 返回按钮 | 概览卡片 |
|
|||
|
|
| 22:10 ~ 22:15 | 替换 API,快速自测:明细列表、分页、返回跳转 | 自测通过 |
|
|||
|
|
|
|||
|
|
**22:15 检查点**:积分明细页带 uid 参数可正常展示,概览卡片数据正确 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### Phase 5:联调验证 + 提交(22:15 ~ 22:35,20 min)
|
|||
|
|
|
|||
|
|
| 时间 | 任务 | 产出物 |
|
|||
|
|
|------|------|--------|
|
|||
|
|
| 22:15 ~ 22:25 | 无 token 全流程走查:订单页 → 用户页 → 点击明细 → 返回 | 流程通过 |
|
|||
|
|
| 22:25 ~ 22:30 | 修复走查发现的问题 | Bug Fix |
|
|||
|
|
| 22:30 ~ 22:35 | 清理 console.log,git commit | 代码提交 |
|
|||
|
|
|
|||
|
|
**22:35 完成**:全部三个页面开发完成并提交 ✅
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 极速开发策略
|
|||
|
|
|
|||
|
|
为了在 2 小时内完成,采取以下策略:
|
|||
|
|
|
|||
|
|
1. **大量复制-裁剪**:不从零编写,直接复制原页面再删减,效率最高
|
|||
|
|
2. **跳过样式美化**:使用原页面样式,不做额外 UI 调整
|
|||
|
|
3. **后端接口先复用**:直接调用原有 `/admin/` 接口,免认证改造延后处理
|
|||
|
|
4. **数据合并从简**:wa_users 字段优先用前端逐行查询方式,性能优化后续迭代
|
|||
|
|
5. **测试精简**:每个页面只做核心功能冒烟,全量测试用例留给后续回归
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 关键检查点
|
|||
|
|
|
|||
|
|
| 时间 | 检查项 | 不通过时的应对 |
|
|||
|
|
|------|--------|--------------|
|
|||
|
|
| 20:55 | 免登录链路跑通 | 停下排查 permission.js,这是后续一切的前提 |
|
|||
|
|
| 21:25 | 订单页可展示数据 | 若裁剪受阻,直接用最小化表格(5 列 + 分页) |
|
|||
|
|
| 21:55 | 用户页含 wa_users 字段 | 若合并逻辑复杂,先只展示 CRMEB 字段,wa_users 留 TODO |
|
|||
|
|
| 22:15 | 明细页 uid 传参正常 | 原页面仅 242 行,风险最低 |
|
|||
|
|
| 22:35 | 代码提交 | 即使有小问题也先提交,记录 TODO 后续修复 |
|