Files
integral-shop/docs/integral-pages-schedule.md
scott ee0886b800 feat: 新增积分外部页面(免认证三页 + 配套基础设施)
前端:
- 新增 EmptyLayout 空壳布局(无侧边栏/导航)
- 新增 requestNoAuth Axios 实例(不注入 token)
- 新增 integralExternal 路由模块(/integral-external/*)
- permission.js 加入 whiteListPrefixes 前缀白名单跳过登录
- 新增 phoneDesensitize 手机号脱敏过滤器
- 新增三个免认证页面:
  · 积分订单页(/integral-external/order)
  · 用户积分页(/integral-external/user,手机号脱敏)
  · 用户积分明细子页(/integral-external/user/integral-detail)

后端:
- 新增 ExternalIntegralController(无 @PreAuthorize)
  · GET  /api/external/integral/order/list
  · GET  /api/external/integral/user/list
  · POST /api/external/integral/log/list
- WebSecurityConfig 加入 /api/external/integral/** permitAll

文档与工具:
- 新增 coding plan、schedule、测试报告
- 新增 start-backend.sh / start-frontend.sh 本地启动脚本
- 新增 .mvn/wrapper/maven-wrapper.properties

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 10:41:30 +08:00

5.0 KiB
Raw Blame History

积分模块新增页面 — 2 小时极速排期

关联文档: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:5520 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:2530 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:5530 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:1520 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:3520 min

时间 任务 产出物
22:15 ~ 22:25 无 token 全流程走查:订单页 → 用户页 → 点击明细 → 返回 流程通过
22:25 ~ 22:30 修复走查发现的问题 Bug Fix
22:30 ~ 22:35 清理 console.loggit 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 后续修复