- frontend-new-pages-spec.md: 7 章开发规范,按业务模块组织(DB/前端/后端/测试),含 Mock 数据机制、改造复用页面规格、完整 mockData.js 定义 - openclaw-frontend-tasks.md: 74 个全生命周期任务(Phase 0-5),每个任务含完整 Agent Prompt,CP-01 检查点控制前后端阶段切换 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2429 lines
58 KiB
Markdown
2429 lines
58 KiB
Markdown
# 黄精粉健康商城 · 开发任务清单(Agent 执行版)
|
||
|
||
> **配套文件**:`docs/frontend-new-pages-spec.md`(开发规范)
|
||
> **执行主体**:OpenClaw AI Agent
|
||
> **任务总数**:74 个(6 阶段)
|
||
> **版本**:V2.0 · 2026年3月
|
||
|
||
---
|
||
|
||
## 文档说明
|
||
|
||
### 任务状态
|
||
|
||
| 状态 | 标记 | 说明 |
|
||
|------|------|------|
|
||
| pending | `[ ]` | 待执行 |
|
||
| in_progress | `[→]` | 执行中 |
|
||
| completed | `[✓]` | 已完成 |
|
||
| blocked | `[!]` | 被阻塞 |
|
||
|
||
### 阶段概览
|
||
|
||
| Phase | 名称 | 任务数 | 前置依赖 |
|
||
|-------|------|--------|----------|
|
||
| 0 | 基础设施 | 2 | — |
|
||
| 1 | 前端开发(Mock 驱动) | 38 | Phase 0 |
|
||
| CP-01 | 前端评审检查点 | 1 | Phase 1 全部完成 |
|
||
| 2 | 数据库迁移 | 5 | CP-01 |
|
||
| 3 | 后端 API 开发 | 16 | Phase 2 |
|
||
| 4 | 前后端集成 | 5 | Phase 3 |
|
||
| 5 | 测试 | 8 | Phase 4 |
|
||
|
||
### 并行策略
|
||
|
||
- 同一 Stage 内标注"可并行"的任务可同时执行
|
||
- 不同 Stage 之间有依赖关系,必须按序执行
|
||
- Phase 1 完成后必须通过 CP-01 检查点才能进入 Phase 2
|
||
|
||
---
|
||
|
||
## Phase 0: 基础设施(2 tasks)
|
||
|
||
---
|
||
|
||
### P0-01: 创建 UniApp Mock 数据文件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 0 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | 无 |
|
||
| Output | `pro_v3.5.1/view/uniapp/utils/hjfMockData.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在为黄精粉健康商城项目创建 UniApp 端的 Mock 数据集中管理文件。
|
||
|
||
### 上下文
|
||
- 项目底座: CRMEB Pro v3.5,移动端使用 uni-app (Vue 2)
|
||
- 此文件为全新创建 [NEW]
|
||
- 所有 UniApp 前端页面的 Mock 数据统一在此文件中定义和导出
|
||
|
||
### 参考文件
|
||
- 开发规范: docs/frontend-new-pages-spec.md 第 7.1 节(完整的 Mock 数据定义)
|
||
|
||
### 开发规范
|
||
- 文件路径: pro_v3.5.1/view/uniapp/utils/hjfMockData.js
|
||
- 使用 ES6 命名导出 (export const)
|
||
- 按模块分区注释(公排/资产/会员/引导)
|
||
- 数据具有真实感:合理的金额(3600)、时间戳、状态分布
|
||
|
||
### 文件内容
|
||
按照 docs/frontend-new-pages-spec.md 第 7.1 节完整复制以下导出变量:
|
||
- MOCK_QUEUE_STATUS / MOCK_QUEUE_HISTORY
|
||
- MOCK_ASSETS_OVERVIEW / MOCK_POINTS_DETAIL / MOCK_CASH_DETAIL / MOCK_WITHDRAW_INFO
|
||
- MOCK_MEMBER_INFO / MOCK_TEAM_DATA / MOCK_TEAM_INCOME
|
||
- MOCK_GUIDE_DATA
|
||
|
||
### 验收标准
|
||
- [ ] 文件可被 import 正常引用
|
||
- [ ] 所有导出变量名与 spec 文档一致
|
||
- [ ] 数据字段完整、类型正确
|
||
```
|
||
|
||
---
|
||
|
||
### P0-02: 创建 Admin Mock 数据文件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 0 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | 无 |
|
||
| Output | `pro_v3.5.1/view/admin/src/utils/hjfMockData.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在为黄精粉健康商城项目创建 Admin 端的 Mock 数据集中管理文件。
|
||
|
||
### 上下文
|
||
- 项目底座: CRMEB Pro v3.5,管理后台使用 iView Admin
|
||
- 此文件为全新创建 [NEW]
|
||
|
||
### 参考文件
|
||
- 开发规范: docs/frontend-new-pages-spec.md 第 7.2 节(完整的 Admin Mock 数据定义)
|
||
|
||
### 开发规范
|
||
- 文件路径: pro_v3.5.1/view/admin/src/utils/hjfMockData.js
|
||
- 使用 ES6 命名导出
|
||
|
||
### 文件内容
|
||
按照 docs/frontend-new-pages-spec.md 第 7.2 节完整复制以下导出变量:
|
||
- MOCK_QUEUE_ORDER_LIST / MOCK_QUEUE_CONFIG / MOCK_QUEUE_FINANCE
|
||
- MOCK_POINTS_RELEASE_LOG
|
||
- MOCK_MEMBER_LIST / MOCK_MEMBER_CONFIG
|
||
|
||
### 验收标准
|
||
- [ ] 文件可被 import 正常引用
|
||
- [ ] 所有导出变量名与 spec 文档一致
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 1: 前端开发(38 tasks)
|
||
|
||
---
|
||
|
||
### Stage 1A: API 模块 + Mock 集成(6 tasks,可并行)
|
||
|
||
---
|
||
|
||
### P1A-01: UniApp API — hjfQueue.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/api/hjfQueue.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在为黄精粉健康商城创建公排模块的 UniApp API 文件。
|
||
|
||
### 上下文
|
||
- 项目底座: CRMEB Pro v3.5
|
||
- 技术栈: uni-app Vue 2
|
||
- 当前使用 Mock 数据 (USE_MOCK = true)
|
||
|
||
### 参考文件
|
||
- API 编写规范: pro_v3.5.1/view/uniapp/api/user.js(import request + export function 模式)
|
||
- Mock 数据源: pro_v3.5.1/view/uniapp/utils/hjfMockData.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 2.2.1 节
|
||
|
||
### 开发规范
|
||
- 文件路径: pro_v3.5.1/view/uniapp/api/hjfQueue.js
|
||
- 导入: import request from "@/utils/request.js"
|
||
- 导入 Mock: import { MOCK_QUEUE_STATUS, MOCK_QUEUE_HISTORY } from '@/utils/hjfMockData.js'
|
||
- 顶部声明: const USE_MOCK = true
|
||
- 包含 mockResponse() 辅助函数(返回 Promise + 300ms 延迟 + JSON 深拷贝)
|
||
|
||
### 导出函数
|
||
1. getQueueStatus() — 获取公排状态
|
||
2. getQueueHistory(params) — 获取公排历史记录
|
||
|
||
### 验收标准
|
||
- [ ] USE_MOCK = true 时返回 Mock 数据
|
||
- [ ] USE_MOCK = false 时调用 request.get()
|
||
- [ ] mockResponse 返回与 request 相同的 { status, data } 结构
|
||
```
|
||
|
||
---
|
||
|
||
### P1A-02: UniApp API — hjfAssets.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/api/hjfAssets.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建资产模块的 UniApp API 文件。
|
||
|
||
### 参考文件
|
||
- API 规范: pro_v3.5.1/view/uniapp/api/user.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 3.2.1 节
|
||
|
||
### 开发规范
|
||
- 文件路径: pro_v3.5.1/view/uniapp/api/hjfAssets.js
|
||
- USE_MOCK = true + mockResponse() 模式
|
||
|
||
### 导出函数
|
||
1. getAssetsOverview() — 资产总览
|
||
2. getPointsDetail(params) — 积分明细
|
||
3. getCashDetail(params) — 现金流水明细
|
||
4. getWithdrawInfo() — 提现信息
|
||
|
||
### Mock 导入
|
||
MOCK_ASSETS_OVERVIEW, MOCK_POINTS_DETAIL, MOCK_CASH_DETAIL, MOCK_WITHDRAW_INFO
|
||
|
||
### 验收标准
|
||
- [ ] 4 个函数均正常导出
|
||
- [ ] Mock 模式下返回正确数据
|
||
```
|
||
|
||
---
|
||
|
||
### P1A-03: UniApp API — hjfMember.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/api/hjfMember.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建会员模块的 UniApp API 文件。
|
||
|
||
### 参考文件
|
||
- API 规范: pro_v3.5.1/view/uniapp/api/user.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 3.2.2 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/api/hjfMember.js
|
||
|
||
### 导出函数
|
||
1. getMemberInfo() — 会员信息
|
||
2. getTeamData(params) — 团队成员列表
|
||
3. getTeamIncome(params) — 推荐收益明细
|
||
|
||
### Mock 导入
|
||
MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME
|
||
|
||
### 验收标准
|
||
- [ ] 3 个函数均正常导出
|
||
- [ ] Mock 模式下返回正确数据
|
||
```
|
||
|
||
---
|
||
|
||
### P1A-04: Admin API — hjfQueue.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-02 |
|
||
| Output | `pro_v3.5.1/view/admin/src/api/hjfQueue.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排模块的 Admin API 文件。
|
||
|
||
### 参考文件
|
||
- Admin API 规范: pro_v3.5.1/view/admin/src/api/finance.js(import request from '@/plugins/request' + request({url, method, params}) 模式)
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.1 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/api/hjfQueue.js
|
||
|
||
### 导出函数
|
||
1. queueOrderListApi(data) — 公排订单列表
|
||
2. queueConfigGetApi() — 获取公排配置
|
||
3. queueConfigSaveApi(data) — 保存公排配置
|
||
4. queueFinanceListApi(data) — 公排财务流水
|
||
|
||
### 注意
|
||
- Admin 端使用 request({url, method, params/data}) 模式,不是 request.get()
|
||
- Mock 数据从 '@/utils/hjfMockData.js' 导入
|
||
|
||
### 验收标准
|
||
- [ ] 4 个函数均正常导出
|
||
- [ ] Admin request 格式正确
|
||
```
|
||
|
||
---
|
||
|
||
### P1A-05: Admin API — hjfMember.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-02 |
|
||
| Output | `pro_v3.5.1/view/admin/src/api/hjfMember.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建会员模块的 Admin API 文件。
|
||
|
||
### 参考文件
|
||
- Admin API 规范: pro_v3.5.1/view/admin/src/api/finance.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.2 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/api/hjfMember.js
|
||
|
||
### 导出函数
|
||
1. memberListApi(data) — 会员管理列表
|
||
2. memberLevelUpdateApi(uid, data) — 等级调整
|
||
3. memberConfigGetApi() — 获取会员配置
|
||
4. memberConfigSaveApi(data) — 保存会员配置
|
||
|
||
### 验收标准
|
||
- [ ] 4 个函数均正常导出
|
||
```
|
||
|
||
---
|
||
|
||
### P1A-06: Admin API — hjfPoints.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1A |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-02 |
|
||
| Output | `pro_v3.5.1/view/admin/src/api/hjfPoints.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建积分模块的 Admin API 文件。
|
||
|
||
### 参考文件
|
||
- Admin API 规范: pro_v3.5.1/view/admin/src/api/finance.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.3 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/api/hjfPoints.js
|
||
|
||
### 导出函数
|
||
1. pointsReleaseLogApi(data) — 积分释放日志列表
|
||
|
||
### 验收标准
|
||
- [ ] 函数正常导出
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1B: 公共组件(4 tasks,依赖 1A,可并行)
|
||
|
||
---
|
||
|
||
### P1B-01: HjfQueueProgress 组件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1B |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/components/HjfQueueProgress.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排进度组件。
|
||
|
||
### 上下文
|
||
- 技术栈: uni-app Vue 2 Options API
|
||
- 此组件为全新创建 [NEW]
|
||
|
||
### 参考文件
|
||
- 组件规范: docs/frontend-new-pages-spec.md 第 2.2.2 节
|
||
- 样式参考: pro_v3.5.1/view/uniapp/pages/users/user_money/index.vue(渐变卡片内的统计数据展示)
|
||
|
||
### 组件功能
|
||
- 显示当前批次进度条或环形图(如 2/4)
|
||
- 显示下一个退款的排队序号
|
||
|
||
### Props
|
||
- currentCount: Number — 当前批次已入队数
|
||
- triggerMultiple: Number — 触发倍数(默认 4)
|
||
- nextRefundNo: Number — 下一个退款的 queue_no
|
||
|
||
### 开发规范
|
||
- <style scoped lang="scss">
|
||
- 使用 CSS 变量 var(--view-theme) 作为进度条颜色
|
||
- rpx 单位
|
||
|
||
### 验收标准
|
||
- [ ] 进度条正确显示 currentCount / triggerMultiple
|
||
- [ ] 样式与 CRMEB 一致
|
||
```
|
||
|
||
---
|
||
|
||
### P1B-02: HjfAssetCard 组件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1B |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-02 |
|
||
| Output | `pro_v3.5.1/view/uniapp/components/HjfAssetCard.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建三栏资产展示卡片组件。
|
||
|
||
### 参考文件
|
||
- 组件规范: docs/frontend-new-pages-spec.md 第 3.2.3 节
|
||
- 样式参考: pro_v3.5.1/view/uniapp/pages/users/user_money/index.vue(.account 渐变卡片)
|
||
|
||
### 组件功能
|
||
- 渐变背景卡片(linear-gradient 使用 CSS 变量)
|
||
- 三栏展示:现金余额(¥) / 待释放积分 / 已释放积分
|
||
- 今日预计释放数量
|
||
|
||
### Props
|
||
- nowMoney: String — 现金余额
|
||
- frozenPoints: Number — 待释放积分
|
||
- availablePoints: Number — 已释放积分
|
||
- todayRelease: Number — 今日预计释放
|
||
|
||
### 验收标准
|
||
- [ ] 渐变背景正确渲染
|
||
- [ ] 三栏数据正确展示
|
||
- [ ] 金额保留两位小数
|
||
```
|
||
|
||
---
|
||
|
||
### P1B-03: HjfMemberBadge 组件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1B |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-03 |
|
||
| Output | `pro_v3.5.1/view/uniapp/components/HjfMemberBadge.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建会员等级徽章组件。
|
||
|
||
### 参考文件
|
||
- 组件规范: docs/frontend-new-pages-spec.md 第 3.2.4 节
|
||
|
||
### 组件功能
|
||
- 显示会员等级图标 + 等级名称
|
||
- 支持三种尺寸
|
||
|
||
### Props
|
||
- level: Number — 等级数字 (0-4)
|
||
- levelName: String — 等级名称(普通会员/创客/云店/服务商/分公司)
|
||
- size: String — 'small' / 'normal' / 'large'
|
||
|
||
### 等级颜色映射
|
||
- 0(普通): 灰色 #999
|
||
- 1(创客): 铜色 #CD7F32
|
||
- 2(云店): 银色 #C0C0C0
|
||
- 3(服务商): 金色 #FFD700
|
||
- 4(分公司): 紫色 #8B5CF6
|
||
|
||
### 验收标准
|
||
- [ ] 不同等级显示不同颜色
|
||
- [ ] 三种尺寸正确渲染
|
||
```
|
||
|
||
---
|
||
|
||
### P1B-04: HjfRefundNotice 组件
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1B |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/components/HjfRefundNotice.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排退款通知弹窗组件。
|
||
|
||
### 参考文件
|
||
- 组件规范: docs/frontend-new-pages-spec.md 第 2.2.3 节
|
||
|
||
### 组件功能
|
||
- 弹窗提示:恭喜!您的公排订单已退款
|
||
- 显示退款金额和订单号
|
||
- 确认按钮关闭弹窗
|
||
|
||
### Props
|
||
- visible: Boolean — 是否显示
|
||
- amount: Number — 退款金额
|
||
- orderId: String — 订单号
|
||
|
||
### Events
|
||
- @close — 关闭弹窗
|
||
|
||
### 验收标准
|
||
- [ ] 弹窗显示/隐藏正常
|
||
- [ ] 金额格式正确(¥3,600.00)
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1C: 新 UniApp 页面(6 tasks,依赖 1A+1B,可并行)
|
||
|
||
---
|
||
|
||
### P1C-01: P12 公排状态页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01, P1B-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/queue/status.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在为黄精粉健康商城创建公排状态页面。
|
||
|
||
### 上下文
|
||
- 项目底座: CRMEB Pro v3.5
|
||
- 技术栈: UniApp Vue2 Options API
|
||
- 此页面为全新创建 [NEW]
|
||
- 数据来源: api/hjfQueue.js 中的 getQueueStatus()
|
||
- 当前使用 Mock 数据 (USE_MOCK=true)
|
||
|
||
### 参考文件
|
||
- 页面布局参考: pro_v3.5.1/view/uniapp/pages/users/user_money/index.vue(渐变卡片头部 + 导航卡片结构)
|
||
- 列表翻页参考: pro_v3.5.1/view/uniapp/pages/users/user_bill/index.vue(page/limit/onReachBottom 模式)
|
||
- 组件引用: components/HjfQueueProgress.vue
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 2.2.4 节
|
||
|
||
### 开发规范
|
||
- 文件路径: pro_v3.5.1/view/uniapp/pages/queue/status.vue
|
||
- 样式: <style scoped lang="scss">
|
||
- 组件命名: Hjf 前缀
|
||
- 金额展示: 保留两位小数
|
||
|
||
### 页面功能
|
||
1. 顶部渐变卡片: 显示公排池总单数 + 当前进度 (HjfQueueProgress)
|
||
2. 我的排队列表: 显示 myOrders 数组
|
||
- 每条: 排队序号 | 金额(¥3600.00) | 状态标签 | 预计等待
|
||
- status=0 → 绿色"排队中"标签
|
||
- status=1 → 灰色"已退款"标签
|
||
3. 底部上拉加载更多 + 空状态
|
||
|
||
### Mock 数据
|
||
从 api/hjfQueue.js 的 getQueueStatus() 获取,数据结构见 spec 文档 2.2.4 节
|
||
|
||
### 验收标准
|
||
- [ ] 页面渲染无报错
|
||
- [ ] Mock 数据正确展示(总单数、列表、进度条)
|
||
- [ ] 状态标签颜色正确
|
||
- [ ] 样式与 CRMEB 页面风格一致
|
||
```
|
||
|
||
---
|
||
|
||
### P1C-02: P13 公排历史页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/queue/history.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排历史记录页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/uniapp/pages/users/user_bill/index.vue(Tab 筛选 + 按日期分组 + 上拉加载)
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 2.2.5 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/pages/queue/history.vue
|
||
|
||
### 页面功能
|
||
1. Tab 筛选: 全部 / 排队中(status=0) / 已退款(status=1)
|
||
2. 按日期分组的列表(使用 time_key 字段分组)
|
||
3. 每条记录: 订单号 | 金额 | 退款时间 | 批次号
|
||
4. 上拉加载更多 (onReachBottom)
|
||
|
||
### Mock 数据
|
||
从 api/hjfQueue.js 的 getQueueHistory() 获取
|
||
|
||
### 验收标准
|
||
- [ ] Tab 切换正常过滤
|
||
- [ ] 按日期分组展示
|
||
- [ ] 上拉加载更多正常
|
||
```
|
||
|
||
---
|
||
|
||
### P1C-03: P14 公排规则页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | 无 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/queue/rules.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排规则说明页面(纯静态页面)。
|
||
|
||
### 参考文件
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 2.2.6 节
|
||
- 业务规则: docs/PRD_V2.md 第 3.1 节(公排机制规则)
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/pages/queue/rules.vue
|
||
|
||
### 页面功能
|
||
1. 公排机制图示(进四退一流程图,可用 CSS 绘制简单流程)
|
||
2. 规则条款列表(有序列表)
|
||
3. 常见问题 FAQ 手风琴(点击展开/折叠)
|
||
|
||
### 内容要点
|
||
- 每笔报单商品订单 3600 元,付款后进入公排池
|
||
- 全局按付款时间排序,每进 4 单退 1 单
|
||
- 退款金额进入现金余额,可提现(7%手续费)
|
||
- 一次买多单拆分为独立订单
|
||
|
||
### 验收标准
|
||
- [ ] 规则内容完整准确
|
||
- [ ] FAQ 手风琴交互正常
|
||
- [ ] 无需后端 API
|
||
```
|
||
|
||
---
|
||
|
||
### P1C-04: P15 资产总览页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-02, P1B-02 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/assets/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建资产总览页面。
|
||
|
||
### 参考文件
|
||
- 页面布局: pro_v3.5.1/view/uniapp/pages/users/user_money/index.vue(渐变卡片 + 导航卡片 + 推荐区)
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 3.2.5 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/pages/assets/index.vue
|
||
|
||
### 页面功能
|
||
1. HjfAssetCard 三栏资产卡片(渐变背景)
|
||
2. 快捷导航卡片:
|
||
- 现金余额 → 提现页 (pages/users/user_cash/index)
|
||
- 待释放积分 → 积分明细 (pages/assets/points_detail)
|
||
- 已释放积分 → 积分明细
|
||
- 公排记录 → 公排状态页 (pages/queue/status)
|
||
3. 今日释放提示
|
||
|
||
### Mock 数据
|
||
从 api/hjfAssets.js 的 getAssetsOverview() 获取
|
||
|
||
### 验收标准
|
||
- [ ] 三栏资产正确展示
|
||
- [ ] 导航卡片点击跳转正确
|
||
- [ ] 渐变背景与 CRMEB 风格一致
|
||
```
|
||
|
||
---
|
||
|
||
### P1C-05: P18 积分明细页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-02 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/assets/points_detail.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建积分明细页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/uniapp/pages/users/user_bill/index.vue(Tab 筛选 + 分组列表 + 翻页)
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 3.2.6 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/pages/assets/points_detail.vue
|
||
|
||
### 页面功能
|
||
1. Tab 筛选: 全部 / 直推奖励(reward_direct) / 伞下奖励(reward_umbrella) / 每日释放(release) / 消费(consume)
|
||
2. 每条: 标题 | 积分数(± 前缀) | 状态(待释放/已释放) | 时间
|
||
3. pm=1 显示绿色 +,pm=0 显示红色 -
|
||
4. 上拉加载更多
|
||
|
||
### Mock 数据
|
||
从 api/hjfAssets.js 的 getPointsDetail() 获取
|
||
|
||
### 验收标准
|
||
- [ ] Tab 筛选正确过滤
|
||
- [ ] 积分收支方向颜色正确
|
||
- [ ] 按日期分组展示
|
||
```
|
||
|
||
---
|
||
|
||
### P1C-06: P23 新用户引导页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1C |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P0-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/guide/hjf_intro.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建新用户引导页面。
|
||
|
||
### 参考文件
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 4.2.1 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/uniapp/pages/guide/hjf_intro.vue
|
||
|
||
### 页面功能
|
||
1. 轮播引导(swiper 组件,3 屏)
|
||
- 第1屏: 平台介绍
|
||
- 第2屏: 公排规则图示
|
||
- 第3屏: 会员积分说明 + "立即开始"按钮
|
||
2. 底部指示器
|
||
3. 右上角"跳过"按钮
|
||
4. navigationStyle: custom(自定义导航栏)
|
||
|
||
### Mock 数据
|
||
从 hjfMockData.js 的 MOCK_GUIDE_DATA 获取幻灯片配置
|
||
|
||
### 验收标准
|
||
- [ ] 轮播滑动正常
|
||
- [ ] 跳过/立即开始按钮跳转首页
|
||
- [ ] 自定义导航栏适配刘海屏
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1D: 改造 UniApp 页面(7 tasks,依赖 1A+1B)
|
||
|
||
---
|
||
|
||
### P1D-01: 首页改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/index/index.vue` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造首页,在商品卡片上增加报单商品角标。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.1 节
|
||
- 原始文件: pro_v3.5.1/view/uniapp/pages/index/index.vue
|
||
|
||
### 改动点
|
||
1. 在商品卡片 template 中根据 is_queue_goods 字段显示"参与公排"角标
|
||
2. 新增 .queue-badge 样式(绝对定位右上角,绿色/金色背景)
|
||
|
||
### 注意事项
|
||
- 首页使用 DIY 架构,商品卡片可能通过组件渲染
|
||
- 不要修改 DIY 核心逻辑,仅在商品卡片层增加角标判断
|
||
- 保持现有功能完整不变
|
||
|
||
### 验收标准
|
||
- [ ] 报单商品显示角标
|
||
- [ ] 普通商品不显示角标
|
||
- [ ] 原有功能不受影响
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-02: 商品详情改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | 商品详情页 [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造商品详情页,增加支付方式选择功能。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.2 节
|
||
|
||
### 改动点
|
||
1. 购买弹窗中增加支付方式选择区域(单选按钮组)
|
||
2. data() 新增 payMethod: 'wechat'
|
||
3. 提交订单时传递 pay_type 参数
|
||
4. 报单商品显示"公排商品"标签
|
||
5. 报单商品不显示积分支付选项
|
||
|
||
### 验收标准
|
||
- [ ] 报单商品只显示微信/支付宝/余额
|
||
- [ ] 普通商品根据 allow_pay_types 显示
|
||
- [ ] 选择支付方式后正确传参
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-03: 购买流程改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | 订单确认页 + 支付成功页 [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造购买流程,增加多单拆分提示和公排入队提示。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.3 节
|
||
|
||
### 改动点
|
||
1. 订单确认页: 报单商品数量>1 时显示"将拆分为 N 个独立公排订单"提示
|
||
2. 支付成功页: 报单商品支付成功后显示"已加入公排"提示 + 跳转公排状态按钮
|
||
|
||
### 验收标准
|
||
- [ ] 多单提示正确显示
|
||
- [ ] 支付成功后公排提示正确
|
||
- [ ] 普通商品不显示公排相关提示
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-04: 我的订单改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-01 |
|
||
| Output | 订单详情页 [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造订单详情页,增加公排状态展示。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.4 节
|
||
|
||
### 改动点
|
||
1. 订单详情 template 新增公排状态区域(排队序号/状态/预计等待)
|
||
2. data() 新增 queueInfo 对象
|
||
3. 调用 getQueueStatus() 获取该订单的公排信息(Mock 阶段用固定数据)
|
||
|
||
### 验收标准
|
||
- [ ] 报单商品订单显示公排状态
|
||
- [ ] 普通商品订单不显示公排区域
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-05: 推荐页改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-03 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/users/user_spread_money/index.vue` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造推荐收益页面,将佣金替换为积分奖励。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.5 节
|
||
- 原始文件: pro_v3.5.1/view/uniapp/pages/users/user_spread_money/index.vue
|
||
|
||
### 改动点
|
||
1. 页面标题: "推广佣金" → "推荐收益"
|
||
2. 金额展示: 佣金金额(¥) → 积分数量(不带¥符号)
|
||
3. API 调用: 替换为 getTeamIncome()
|
||
4. 列表项: 显示积分来源(直推/伞下) + 积分状态(待释放)
|
||
|
||
### 验收标准
|
||
- [ ] 标题显示"推荐收益"
|
||
- [ ] 列表显示积分而非金额
|
||
- [ ] Mock 数据正确展示
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-06: 提现页改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-02 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/users/user_cash/index.vue` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造提现页面,增加7%手续费实时计算。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.6 节
|
||
- 原始文件: pro_v3.5.1/view/uniapp/pages/users/user_cash/index.vue
|
||
|
||
### 改动点
|
||
1. 提现金额输入区域下方新增: 「手续费:¥XX.XX(7%)| 实际到账:¥XX.XX」
|
||
2. computed 新增: feeAmount = 输入金额 × 0.07, actualAmount = 输入金额 × 0.93
|
||
3. 提交逻辑传递 fee_rate 参数
|
||
|
||
### 验收标准
|
||
- [ ] 输入 1000 → 显示手续费 ¥70.00 / 实际到账 ¥930.00
|
||
- [ ] 金额低于最低提现额时提示
|
||
- [ ] 手续费实时更新
|
||
```
|
||
|
||
---
|
||
|
||
### P1D-07: 个人中心改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1D |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-03, P1B-03 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages/user/index.vue` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造个人中心页面,增加会员等级徽章和资产入口。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.1.7 节
|
||
- 原始文件: pro_v3.5.1/view/uniapp/pages/user/index.vue(DIY 架构)
|
||
|
||
### 改动点
|
||
1. 用户信息区: 引入 HjfMemberBadge 显示会员等级
|
||
2. DIY 菜单数据: 增加"我的资产"、"公排查询"导航项
|
||
3. import: 导入 getMemberInfo() 和 HjfMemberBadge
|
||
4. onShow: 合并调用 getMemberInfo() 获取等级信息
|
||
|
||
### 注意事项
|
||
- 个人中心使用 DIY 架构(数据驱动),需理解 diyData 结构
|
||
- 使用 provide/inject 模式传递方法
|
||
- 不要破坏现有的 DIY 菜单结构
|
||
|
||
### 验收标准
|
||
- [ ] 会员等级徽章正确显示
|
||
- [ ] "我的资产"点击跳转 pages/assets/index
|
||
- [ ] "公排查询"点击跳转 pages/queue/status
|
||
- [ ] 原有 DIY 功能不受影响
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1E: Admin 新页面(6 tasks,依赖 1A,可并行)
|
||
|
||
---
|
||
|
||
### P1E-01: 公排订单管理页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-04 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/queueOrder/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排订单管理页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/admin/src/pages/finance/commission/index.vue(Card + Form + Table + Page 模式)
|
||
- API: pro_v3.5.1/view/admin/src/api/hjfQueue.js
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.4 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/queueOrder/index.vue
|
||
|
||
### 页面功能
|
||
1. 搜索区: 用户昵称/ID + 状态筛选(全部/排队中/已退款) + 日期范围
|
||
2. 数据表格: columns 见 spec 5.2.4 节
|
||
3. 分页组件
|
||
4. 导出功能(可选)
|
||
|
||
### formValidate 结构
|
||
{ nickname: '', status: '', start_time: '', end_time: '', page: 1, limit: 20 }
|
||
|
||
### 验收标准
|
||
- [ ] 表格正确展示 Mock 数据
|
||
- [ ] 搜索筛选正常工作
|
||
- [ ] 分页正常
|
||
```
|
||
|
||
---
|
||
|
||
### P1E-02: 公排财务流水页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-04 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/queueFinance/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排财务流水页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/admin/src/pages/finance/commission/index.vue
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.5 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/queueFinance/index.vue
|
||
|
||
### 页面功能
|
||
1. 搜索区: 用户昵称/ID + 日期范围
|
||
2. 顶部统计: 退款总额
|
||
3. 数据表格: 用户 | 批次号 | 金额 | 排队序号 | 退款时间
|
||
|
||
### 验收标准
|
||
- [ ] 表格展示退款流水
|
||
- [ ] 统计数据正确
|
||
```
|
||
|
||
---
|
||
|
||
### P1E-03: 积分释放日志页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-06 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/pointsLog/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建积分释放日志页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/admin/src/pages/finance/commission/index.vue
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.6 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/pointsLog/index.vue
|
||
|
||
### 页面功能
|
||
1. 搜索区: 用户昵称/ID + 日期范围
|
||
2. 顶部统计: 今日释放总量 / 今日释放用户数
|
||
3. 数据表格: 用户 | 释放前 | 释放量 | 释放后 | 日期
|
||
|
||
### 验收标准
|
||
- [ ] 表格正确展示
|
||
- [ ] 顶部统计 statistics 字段正确显示
|
||
```
|
||
|
||
---
|
||
|
||
### P1E-04: 公排参数配置页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-04 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/queueConfig/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建公排参数配置页面(表单页,非列表页)。
|
||
|
||
### 参考文件
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.7 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/queueConfig/index.vue
|
||
|
||
### 页面功能
|
||
1. 表单项:
|
||
- 公排触发倍数 (InputNumber, 默认 4)
|
||
- 积分日释放比例 (InputNumber, 千分之 X, 默认 4)
|
||
- 提现手续费率 (InputNumber, 百分比, 默认 7)
|
||
2. 保存按钮 → 调用 queueConfigSaveApi()
|
||
3. 页面加载时调用 queueConfigGetApi() 填充表单
|
||
|
||
### 验收标准
|
||
- [ ] 表单正确加载 Mock 配置数据
|
||
- [ ] 保存按钮调用正确 API
|
||
- [ ] 数值输入合法性校验
|
||
```
|
||
|
||
---
|
||
|
||
### P1E-05: 会员等级配置页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-05 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/memberConfig/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建会员等级配置页面(表单页)。
|
||
|
||
### 参考文件
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.8 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/memberConfig/index.vue
|
||
|
||
### 页面功能
|
||
1. 分区表单:
|
||
- 升级门槛区: 创客/云店/服务商/分公司 各自的门槛值
|
||
- 直推奖励区: 各等级直推积分奖励
|
||
- 伞下奖励区: 各等级伞下积分奖励
|
||
2. 保存按钮 → 调用 memberConfigSaveApi()
|
||
3. 页面加载时调用 memberConfigGetApi()
|
||
|
||
### 验收标准
|
||
- [ ] 表单正确加载 Mock 配置
|
||
- [ ] 所有等级配置项可编辑
|
||
```
|
||
|
||
---
|
||
|
||
### P1E-06: 会员管理页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1E |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-05 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/hjf/memberLevel/index.vue` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在创建会员管理页面。
|
||
|
||
### 参考文件
|
||
- 列表页模式: pro_v3.5.1/view/admin/src/pages/finance/commission/index.vue
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.9 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/pages/hjf/memberLevel/index.vue
|
||
|
||
### 页面功能
|
||
1. 搜索区: 昵称/ID + 等级筛选(下拉) + 不考核筛选
|
||
2. 数据表格: 用户信息 | 等级 | 直推数 | 伞下业绩 | 待释放积分 | 已释放积分 | 余额 | 操作
|
||
3. 操作列: 调整等级(弹窗选择) / 设置不考核(确认弹窗)
|
||
4. 弹窗: 等级选择 Select + 确认按钮
|
||
|
||
### 验收标准
|
||
- [ ] 表格正确展示会员列表
|
||
- [ ] 等级筛选正常
|
||
- [ ] 等级调整弹窗可用
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1F: 路由注册(7 tasks)
|
||
|
||
---
|
||
|
||
### P1F-01: UniApp pages.json — 公排模块
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1C-01, P1C-02, P1C-03 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages.json` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 pages.json 中注册公排模块的 3 个页面路由。
|
||
|
||
### 新增路由
|
||
参考 docs/frontend-new-pages-spec.md 第 2.2.7 节:
|
||
- pages/queue/status (公排状态)
|
||
- pages/queue/history (公排记录)
|
||
- pages/queue/rules (公排规则)
|
||
|
||
### 注意
|
||
- 可以在 subPackages 中创建新的分包,或在 pages 数组中直接添加
|
||
- 保持与现有路由格式一致
|
||
|
||
### 验收标准
|
||
- [ ] 三个页面路由可正常访问
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-02: UniApp pages.json — 资产模块
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1C-04, P1C-05 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages.json` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 pages.json 中注册资产模块的 2 个页面路由。
|
||
|
||
### 新增路由
|
||
参考 docs/frontend-new-pages-spec.md 第 3.2.7 节:
|
||
- pages/assets/index (我的资产)
|
||
- pages/assets/points_detail (积分明细)
|
||
|
||
### 验收标准
|
||
- [ ] 两个页面路由可正常访问
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-03: UniApp pages.json — 引导页
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1C-06 |
|
||
| Output | `pro_v3.5.1/view/uniapp/pages.json` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 pages.json 中注册引导页路由。
|
||
|
||
### 新增路由
|
||
参考 docs/frontend-new-pages-spec.md 第 4.2.2 节:
|
||
- pages/guide/hjf_intro (新用户引导, navigationStyle: custom)
|
||
|
||
### 验收标准
|
||
- [ ] 引导页路由可正常访问
|
||
- [ ] 自定义导航栏生效
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-04: Admin 路由 — hjfQueue.js
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1E-01, P1E-02, P1E-04 |
|
||
| Output | `pro_v3.5.1/view/admin/src/router/modules/hjfQueue.js` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 Admin 端 HJF 模块的路由文件。
|
||
|
||
### 参考文件
|
||
- 路由规范: pro_v3.5.1/view/admin/src/router/modules/finance.js(BasicLayout + pre 前缀 + auth 权限)
|
||
- 完整规范: docs/frontend-new-pages-spec.md 第 5.2.10 节
|
||
|
||
### 文件路径
|
||
pro_v3.5.1/view/admin/src/router/modules/hjfQueue.js
|
||
|
||
### 路由定义
|
||
按照 spec 5.2.10 节完整定义,包含 6 个子路由:
|
||
- hjf/queue/order (公排订单)
|
||
- hjf/queue/finance (公排财务)
|
||
- hjf/queue/config (公排配置)
|
||
- hjf/points/log (积分日志)
|
||
- hjf/member/config (会员配置)
|
||
- hjf/member/level (会员管理)
|
||
|
||
### 验收标准
|
||
- [ ] 路由格式与现有 finance.js 一致
|
||
- [ ] 使用 BasicLayout + 动态 import
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-05: Admin 路由模块注册
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1F-04 |
|
||
| Output | `pro_v3.5.1/view/admin/src/router/modules/index.js` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 Admin 路由入口文件中导入并注册 hjfQueue 路由模块。
|
||
|
||
### 参考文件
|
||
- 路由入口: pro_v3.5.1/view/admin/src/router/modules/index.js(查看现有路由模块如何注册)
|
||
|
||
### 改动点
|
||
1. 导入 hjfQueue 模块: import hjfQueue from './hjfQueue'
|
||
2. 在导出的路由数组中加入 hjfQueue
|
||
|
||
### 验收标准
|
||
- [ ] HJF 路由模块正常加载
|
||
- [ ] 菜单中可见 HJF 相关页面
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-06: Admin finance.js 路由追加(如需要)
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1E-03 |
|
||
| Output | 评估是否需要修改 `router/modules/finance.js` [评估] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
评估是否需要在现有 finance.js 路由中追加积分日志页路由。
|
||
|
||
### 判断依据
|
||
- 如果 P1F-04 已经将所有 HJF 页面(包括积分日志)放在统一的 hjfQueue.js 路由模块中,则此任务无需执行
|
||
- 如果积分日志更适合放在 finance 模块下,则在 finance.js 的 children 中追加子路由
|
||
|
||
### 验收标准
|
||
- [ ] 确认积分日志页路由可访问
|
||
```
|
||
|
||
---
|
||
|
||
### P1F-07: Admin user.js 路由追加(如需要)
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1F |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1E-06 |
|
||
| Output | 评估是否需要修改 `router/modules/user.js` [评估] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
评估是否需要在现有 user.js 路由中追加会员管理页路由。
|
||
|
||
### 判断依据
|
||
- 如果 P1F-04 已经将会员管理放在 hjfQueue.js 路由模块中,则此任务无需执行
|
||
- 如果会员管理更适合放在 user 模块下,则追加
|
||
|
||
### 验收标准
|
||
- [ ] 确认会员管理页路由可访问
|
||
```
|
||
|
||
---
|
||
|
||
### Stage 1G: Admin 改造页面(2 tasks)
|
||
|
||
---
|
||
|
||
### P1G-01: 用户管理改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1G |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-05 |
|
||
| Output | `pro_v3.5.1/view/admin/src/pages/user/list/index.vue` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造 Admin 用户管理页面,增加等级调整和不考核标记。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.2.1 节
|
||
- 原始文件: pro_v3.5.1/view/admin/src/pages/user/list/index.vue
|
||
|
||
### 改动点
|
||
1. columns 新增: "会员等级"列(slot 渲染等级名称)
|
||
2. columns 新增: "不考核"列(Tag 标记)
|
||
3. 操作列新增: "调整等级"按钮(弹窗 Select)
|
||
4. 操作列新增: "设置不考核"开关
|
||
5. import 新增: memberLevelUpdateApi
|
||
6. methods 新增: handleLevelChange / handleNoAssess
|
||
|
||
### 注意事项
|
||
- 不要删除现有的操作按钮
|
||
- 等级弹窗使用 iView Modal + Select 组件
|
||
|
||
### 验收标准
|
||
- [ ] 等级列正确显示
|
||
- [ ] 调整等级弹窗可用
|
||
- [ ] 原有功能不受影响
|
||
```
|
||
|
||
---
|
||
|
||
### P1G-02: 商品管理改造
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 1 |
|
||
| Stage | 1G |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P1A-04 |
|
||
| Output | 商品编辑页面 [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
你正在改造 Admin 商品管理页面,增加报单商品标记和支付方式配置。
|
||
|
||
### 参考文件
|
||
- 改造规范: docs/frontend-new-pages-spec.md 第 6.2.2 节
|
||
|
||
### 改动点
|
||
1. 商品编辑表单新增: "报单商品"开关 (is_queue_goods, Switch 组件)
|
||
2. 商品编辑表单新增: "支付方式"多选框组 (allow_pay_types, CheckboxGroup)
|
||
3. 保存逻辑: 传递 is_queue_goods + allow_pay_types
|
||
4. 商品列表新增: "报单"标记列
|
||
|
||
### 规则
|
||
- 当 is_queue_goods=1 时,自动禁用积分支付选项
|
||
|
||
### 验收标准
|
||
- [ ] 报单商品开关可切换
|
||
- [ ] 支付方式多选框正确联动
|
||
- [ ] 商品列表显示报单标记
|
||
```
|
||
|
||
---
|
||
|
||
## ★ CHECKPOINT CP-01: 前端评审确认 ★
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | CP |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | Phase 1 全部完成 |
|
||
| Gate | 用户确认后才能进入 Phase 2 |
|
||
|
||
**检查清单**:
|
||
|
||
- [ ] **UniApp 新页面**:P12/P13/P14/P15/P18/P23 均可用 Mock 数据浏览
|
||
- [ ] **UniApp 改造页面**:首页角标、商品详情支付方式、订单公排状态、推荐积分、提现手续费、个人中心徽章 均正常显示
|
||
- [ ] **Admin 新页面**:6 个管理页面均可用 Mock 数据浏览
|
||
- [ ] **Admin 改造页面**:用户管理等级列、商品管理报单标记 均正常
|
||
- [ ] **路由**:所有新页面路由可正常访问
|
||
- [ ] **组件**:HjfQueueProgress / HjfAssetCard / HjfMemberBadge / HjfRefundNotice 均正常渲染
|
||
|
||
**确认后**:用户在此处标记 `[✓]`,解锁 Phase 2。
|
||
|
||
---
|
||
|
||
## Phase 2: 数据库迁移(5 tasks,依赖 CP-01)
|
||
|
||
---
|
||
|
||
### P2-01: 创建 eb_queue_pool 表
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 2 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | CP-01 |
|
||
| Output | `database/migrations/20260307_create_eb_queue_pool.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建公排池数据库表。
|
||
|
||
### SQL
|
||
参考 docs/frontend-new-pages-spec.md 第 2.1.1 节的建表 SQL。
|
||
|
||
### 索引
|
||
- idx_uid(uid)
|
||
- idx_status_queue_no(status, queue_no)
|
||
- idx_trigger_batch(trigger_batch)
|
||
- idx_add_time(add_time)
|
||
|
||
### 验收标准
|
||
- [ ] 迁移文件可正常执行
|
||
- [ ] 表结构与 spec 一致
|
||
```
|
||
|
||
---
|
||
|
||
### P2-02: 创建 eb_points_release_log 表
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 2 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | CP-01 |
|
||
| Output | `database/migrations/20260307_create_eb_points_release_log.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建积分释放日志表。
|
||
|
||
### SQL
|
||
参考 docs/frontend-new-pages-spec.md 第 3.1.2 节的建表 SQL。
|
||
|
||
### 验收标准
|
||
- [ ] 迁移文件可正常执行
|
||
```
|
||
|
||
---
|
||
|
||
### P2-03: ALTER eb_user 添加 4 字段
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 2 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | CP-01 |
|
||
| Output | `database/migrations/20260307_alter_eb_user_add_hjf_fields.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
为 eb_user 表添加 4 个新字段。
|
||
|
||
### SQL
|
||
参考 docs/frontend-new-pages-spec.md 第 3.1.1 节:
|
||
- member_level TINYINT DEFAULT 0
|
||
- no_assess TINYINT DEFAULT 0
|
||
- frozen_points BIGINT DEFAULT 0
|
||
- available_points BIGINT DEFAULT 0
|
||
|
||
### 验收标准
|
||
- [ ] ALTER 语句正常执行
|
||
- [ ] 现有数据不受影响
|
||
```
|
||
|
||
---
|
||
|
||
### P2-04: INSERT eb_system_config 配置项
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 2 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | CP-01 |
|
||
| Output | `database/migrations/20260307_insert_eb_system_config_hjf.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
向 eb_system_config 表插入 HJF 配置项。
|
||
|
||
### 配置项
|
||
参考 docs/PRD_V2.md 第 5.7 节:
|
||
- hjf_trigger_multiple = 4
|
||
- hjf_release_rate = 4
|
||
- hjf_withdraw_fee_rate = 7
|
||
- hjf_chuangke_threshold = 3
|
||
- hjf_yundian_threshold = 30
|
||
- hjf_fuwushang_threshold = 100
|
||
- hjf_fengongsi_threshold = 1000
|
||
- 各等级奖励积分配置
|
||
|
||
### 验收标准
|
||
- [ ] 配置项正确插入
|
||
- [ ] 不影响现有配置
|
||
```
|
||
|
||
---
|
||
|
||
### P2-05: ALTER eb_store_product 添加 is_queue_goods
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 2 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | CP-01 |
|
||
| Output | `database/migrations/20260307_alter_eb_store_product.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
为 eb_store_product 表添加报单商品标记字段。
|
||
|
||
### SQL
|
||
ALTER TABLE eb_store_product
|
||
ADD COLUMN is_queue_goods TINYINT NOT NULL DEFAULT 0 COMMENT '报单商品标记: 0否 1是',
|
||
ADD COLUMN allow_pay_types VARCHAR(255) NOT NULL DEFAULT 'wechat,alipay' COMMENT '允许的支付方式';
|
||
|
||
### 验收标准
|
||
- [ ] 字段正确添加
|
||
- [ ] 默认值合理
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 3: 后端 API 开发(16 tasks,依赖 Phase 2)
|
||
|
||
---
|
||
|
||
### P3-01: QueuePool Model
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P2-01 |
|
||
| Output | `app/model/queue/QueuePool.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 QueuePool 模型。参考 CRMEB 现有 Model 模式(继承 BaseModel,定义 $table, $fillable 等)。
|
||
表名: eb_queue_pool
|
||
```
|
||
|
||
---
|
||
|
||
### P3-02: QueuePoolDao
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-01 |
|
||
| Output | `app/dao/queue/QueuePoolDao.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 QueuePool 数据访问层。参考 CRMEB 现有 Dao 模式。
|
||
方法: getList / getByUid / getByStatus / getNextRefund / incrementQueueNo
|
||
```
|
||
|
||
---
|
||
|
||
### P3-03: QueuePoolService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-02 |
|
||
| Output | `app/services/queue/QueuePoolService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建公排核心业务服务。
|
||
|
||
### 方法
|
||
- addToQueue(uid, orderId, amount) — 入队
|
||
- checkAndTriggerRefund() — 检查并触发退款(进N退1逻辑)
|
||
- getQueueStatus(uid) — 获取用户排队状态
|
||
- getQueueHistory(uid, page, limit) — 获取历史记录
|
||
|
||
### 技术要点
|
||
- 使用 Redis 分布式锁 (hjf:queue:refund:lock)
|
||
- Redis 计数器 (hjf:queue:counter) 全局排队序号
|
||
- 退款通过 think-queue 异步处理
|
||
- 所有金额用 bcmath 计算
|
||
```
|
||
|
||
---
|
||
|
||
### P3-04: QueueRefundService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-03 |
|
||
| Output | `app/services/queue/QueueRefundService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建退款处理服务。
|
||
- processRefund(queuePoolId) — 执行退款(更新状态 + 增加 now_money)
|
||
- 使用数据库事务
|
||
- 退款后触发会员升级检查
|
||
```
|
||
|
||
---
|
||
|
||
### P3-05: QueuePoolController (API 端)
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-03 |
|
||
| Output | `app/api/controller/v1/queue/QueuePoolController.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建公排 API 控制器。
|
||
- GET status — 调用 QueuePoolService::getQueueStatus()
|
||
- GET history — 调用 QueuePoolService::getQueueHistory()
|
||
路由路径: hjf/queue/status, hjf/queue/history
|
||
```
|
||
|
||
---
|
||
|
||
### P3-06: MemberLevelService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P2-03 |
|
||
| Output | `app/services/member/MemberLevelService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建会员等级服务。
|
||
- checkAndUpgrade(uid) — 检查升级条件并执行升级
|
||
- getLevelInfo(uid) — 获取等级信息
|
||
- updateLevel(uid, level) — 手动调整等级(Admin)
|
||
- setNoAssess(uid, flag) — 设置不考核标记
|
||
升级条件参考 PRD_V2.md 第 3.2.1 节
|
||
```
|
||
|
||
---
|
||
|
||
### P3-07: MemberRewardService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-06 |
|
||
| Output | `app/services/member/MemberRewardService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建积分奖励计算服务。
|
||
- calculateReward(orderId, buyerUid) — 计算并发放推荐奖励
|
||
- 逐级向上遍历推荐链,按等级发放固定积分
|
||
- 级差逻辑: 上级只获得与下级等级差额的积分
|
||
- 积分入账为 frozen_points(待释放)
|
||
```
|
||
|
||
---
|
||
|
||
### P3-08: MemberTeamService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-06 |
|
||
| Output | `app/services/member/MemberTeamService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建团队业绩统计服务。
|
||
- getDirectCount(uid) — 直推人数
|
||
- getUmbrellaCount(uid) — 伞下总人数
|
||
- getUmbrellaOrders(uid) — 伞下总单数(含级别隔离逻辑)
|
||
- getTeamMembers(uid, page, limit) — 团队成员列表
|
||
```
|
||
|
||
---
|
||
|
||
### P3-09: PointsReleaseService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P2-02 |
|
||
| Output | `app/services/points/PointsReleaseService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建积分每日释放服务。
|
||
- dailyRelease() — 定时任务入口,遍历所有 frozen_points > 0 的用户
|
||
- 释放量 = frozen_points × 0.4‰ (取整)
|
||
- 从 frozen_points 扣减,加到 available_points
|
||
- 写入 eb_points_release_log
|
||
- 使用 Redis 锁防止重复执行
|
||
```
|
||
|
||
---
|
||
|
||
### P3-10: PointsPayService
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-09 |
|
||
| Output | `app/services/points/PointsPayService.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建积分支付服务。
|
||
- payWithFrozenPoints(uid, amount) — 待释放积分支付(仅普通商品)
|
||
- payWithAvailablePoints(uid, amount) — 已释放积分支付(仅普通商品)
|
||
- 检查余额是否充足
|
||
- 使用数据库事务
|
||
```
|
||
|
||
---
|
||
|
||
### P3-11: Admin QueueOrderController
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-03 |
|
||
| Output | `app/adminapi/controller/v1/hjf/QueueOrderController.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 Admin 公排订单控制器。
|
||
- GET order_list — 分页+筛选
|
||
```
|
||
|
||
---
|
||
|
||
### P3-12: Admin QueueConfigController
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-03 |
|
||
| Output | `app/adminapi/controller/v1/hjf/QueueConfigController.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 Admin 公排配置控制器。
|
||
- GET config — 读取 eb_system_config
|
||
- PUT config — 更新配置
|
||
```
|
||
|
||
---
|
||
|
||
### P3-13: Admin QueueFinanceController
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-04 |
|
||
| Output | `app/adminapi/controller/v1/hjf/QueueFinanceController.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 Admin 公排财务控制器。
|
||
- GET finance — 退款流水列表(分页+统计)
|
||
```
|
||
|
||
---
|
||
|
||
### P3-14: Admin MemberLevelController
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-06 |
|
||
| Output | `app/adminapi/controller/v1/hjf/MemberLevelController.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
创建 Admin 会员管理控制器。
|
||
- GET list — 会员列表(分页+等级筛选)
|
||
- PUT level/{uid} — 调整等级
|
||
- GET/PUT config — 会员配置
|
||
```
|
||
|
||
---
|
||
|
||
### P3-15: API 路由注册
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-05 |
|
||
| Output | `route/api.php` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 API 路由文件中注册公排和资产相关路由。
|
||
|
||
### 路由
|
||
- GET hjf/queue/status → QueuePoolController@status
|
||
- GET hjf/queue/history → QueuePoolController@history
|
||
- GET hjf/assets/overview → HjfAssetsController@overview
|
||
- GET hjf/assets/points_detail → HjfAssetsController@pointsDetail
|
||
- GET hjf/assets/cash_detail → HjfAssetsController@cashDetail
|
||
- GET hjf/assets/withdraw_info → HjfAssetsController@withdrawInfo
|
||
- GET hjf/member/info → HjfMemberController@info
|
||
- GET hjf/member/team → HjfMemberController@team
|
||
- GET hjf/member/income → HjfMemberController@income
|
||
```
|
||
|
||
---
|
||
|
||
### P3-16: Admin 路由注册
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 3 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-11, P3-12, P3-13, P3-14 |
|
||
| Output | `route/adminapi.php` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
在 Admin 路由文件中注册 HJF 管理路由。
|
||
|
||
### 路由
|
||
参考 docs/frontend-new-pages-spec.md 第 5.3.2 节的 Admin API 契约表。
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 4: 前后端集成(5 tasks,依赖 Phase 3)
|
||
|
||
---
|
||
|
||
### P4-01: UniApp 关闭 USE_MOCK
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 4 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-15 |
|
||
| Output | `api/hjfQueue.js`, `api/hjfAssets.js`, `api/hjfMember.js` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
将所有 UniApp HJF API 文件中的 USE_MOCK 改为 false。
|
||
文件: hjfQueue.js, hjfAssets.js, hjfMember.js
|
||
将 const USE_MOCK = true 改为 const USE_MOCK = false
|
||
```
|
||
|
||
---
|
||
|
||
### P4-02: Admin 关闭 USE_MOCK
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 4 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P3-16 |
|
||
| Output | `api/hjfQueue.js`, `api/hjfMember.js`, `api/hjfPoints.js` [MOD] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
将所有 Admin HJF API 文件中的 USE_MOCK 改为 false。
|
||
文件: hjfQueue.js, hjfMember.js, hjfPoints.js
|
||
将 const USE_MOCK = true 改为 const USE_MOCK = false
|
||
```
|
||
|
||
---
|
||
|
||
### P4-03: UniApp 联调冒烟测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 4 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-01 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
对 UniApp 端所有 HJF 页面进行联调冒烟测试。
|
||
|
||
### 测试清单
|
||
- [ ] P12 公排状态页: 调用真实 API 返回数据正确
|
||
- [ ] P13 公排历史页: 分页和筛选正常
|
||
- [ ] P15 资产总览页: 三栏数据正确
|
||
- [ ] P18 积分明细页: 列表和筛选正常
|
||
- [ ] 改造页面: 首页角标、商品详情支付方式、个人中心徽章正常
|
||
```
|
||
|
||
---
|
||
|
||
### P4-04: Admin 联调冒烟测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 4 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-02 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
对 Admin 端所有 HJF 页面进行联调冒烟测试。
|
||
|
||
### 测试清单
|
||
- [ ] 公排订单列表: 分页和搜索正常
|
||
- [ ] 公排配置: 读取和保存正常
|
||
- [ ] 积分日志: 列表和统计正常
|
||
- [ ] 会员管理: 等级调整正常
|
||
```
|
||
|
||
---
|
||
|
||
### P4-05: 端到端流程验证
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 4 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-03, P4-04 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
执行完整的端到端流程验证。
|
||
|
||
### 测试流程
|
||
1. 用户注册 → 绑定推荐关系
|
||
2. 购买报单商品(3600元) → 订单生成 → 公排入队
|
||
3. 查看公排状态 → 排队序号正确
|
||
4. 模拟第4单 → 触发退款 → 余额增加
|
||
5. 推荐人获得积分奖励 → frozen_points 增加
|
||
6. 次日释放 → available_points 增加
|
||
7. 使用积分购买普通商品 → available_points 扣减
|
||
8. 提现 → 扣除7%手续费
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 5: 测试(8 tasks,依赖 Phase 4)
|
||
|
||
---
|
||
|
||
### P5-01: QueuePool 单元测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-05 |
|
||
| Output | `tests/Unit/QueuePoolServiceTest.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
编写公排核心逻辑单元测试。
|
||
- 测试入队: 队列序号递增
|
||
- 测试进4退1: 第4单触发退款
|
||
- 测试退款金额: 正确入账 now_money
|
||
- 测试并发: Redis 锁防重复
|
||
```
|
||
|
||
---
|
||
|
||
### P5-02: MemberReward 单元测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-05 |
|
||
| Output | `tests/Unit/MemberRewardServiceTest.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
编写会员积分奖励单元测试。
|
||
- 测试直推奖励: 按等级发放正确积分
|
||
- 测试级差逻辑: 上级不获得同等级下级的团队奖励
|
||
- 测试积分入账: 正确写入 frozen_points
|
||
```
|
||
|
||
---
|
||
|
||
### P5-03: PointsRelease 单元测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-05 |
|
||
| Output | `tests/Unit/PointsReleaseServiceTest.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
编写积分释放定时任务单元测试。
|
||
- 测试释放计算: 15000 × 0.4‰ = 6
|
||
- 测试余额变化: frozen_points 减少, available_points 增加
|
||
- 测试日志: eb_points_release_log 正确写入
|
||
- 测试幂等: 同一天不重复释放
|
||
```
|
||
|
||
---
|
||
|
||
### P5-04: 公排并发测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P5-01 |
|
||
| Output | `tests/Feature/QueuePoolFlowTest.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
编写公排并发场景测试。
|
||
- 模拟 10 个用户同时下单
|
||
- 验证队列序号不重复
|
||
- 验证退款不重复触发
|
||
- 验证 Redis 锁正确工作
|
||
```
|
||
|
||
---
|
||
|
||
### P5-05: 完整购买流程 E2E
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P5-01, P5-02, P5-03 |
|
||
| Output | `tests/Feature/OrderPayWithQueueTest.php` [NEW] |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
编写完整购买流程 E2E 测试。
|
||
1. 创建报单商品 (is_queue_goods=1)
|
||
2. 用户A购买1单 → 入队(queue_no=1)
|
||
3. 用户B购买1单 → 入队(queue_no=2), 用户A的推荐人获得积分
|
||
4. 用户C购买2单 → 入队(queue_no=3,4), 触发退款(queue_no=1)
|
||
5. 验证用户A的 now_money += 3600
|
||
6. 验证各级推荐人积分正确
|
||
```
|
||
|
||
---
|
||
|
||
### P5-06: Admin CRUD 冒烟测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-04 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
Admin 后台管理功能冒烟测试。
|
||
- 公排订单列表: 搜索/分页
|
||
- 公排配置: 读取/修改/保存
|
||
- 会员管理: 列表/等级调整/不考核设置
|
||
- 积分日志: 列表/日期筛选
|
||
```
|
||
|
||
---
|
||
|
||
### P5-07: 积分释放定时任务测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P5-03 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
积分释放定时任务集成测试。
|
||
- 创建 100 个用户,各有不同 frozen_points
|
||
- 执行 dailyRelease()
|
||
- 验证: 每个用户 frozen_points 正确减少, available_points 正确增加
|
||
- 验证: eb_points_release_log 记录数 = 有积分的用户数
|
||
- 验证: 执行时间 < 5 秒
|
||
```
|
||
|
||
---
|
||
|
||
### P5-08: 提现流程测试
|
||
|
||
| 属性 | 值 |
|
||
|------|------|
|
||
| Phase | 5 |
|
||
| Status | `[ ]` pending |
|
||
| Dependencies | P4-05 |
|
||
| Output | 测试报告 |
|
||
|
||
**Agent Prompt:**
|
||
|
||
```
|
||
提现流程集成测试。
|
||
- 用户余额 7200, 提现 1000
|
||
- 验证: 手续费 = 1000 × 7% = 70
|
||
- 验证: 实际到账 = 930
|
||
- 验证: now_money = 7200 - 1000 = 6200
|
||
- 边界测试: 低于最低提现额拒绝, 超过余额拒绝
|
||
```
|
||
|
||
---
|
||
|
||
## 依赖关系图
|
||
|
||
```
|
||
Phase 0
|
||
P0-01 ──┐
|
||
P0-02 ──┤
|
||
│
|
||
Phase 1 ▼
|
||
1A (6) ←── P0-01/P0-02
|
||
│
|
||
1B (4) ←── 1A
|
||
│
|
||
1C (6) ←── 1A + 1B
|
||
1D (7) ←── 1A + 1B
|
||
1E (6) ←── 1A
|
||
│
|
||
1F (7) ←── 1C + 1E
|
||
1G (2) ←── 1A
|
||
│
|
||
CP-01 ←── ALL Phase 1
|
||
│
|
||
Phase 2 (5) ←── CP-01
|
||
│
|
||
Phase 3 (16) ←── Phase 2
|
||
│
|
||
Phase 4 (5) ←── Phase 3
|
||
│
|
||
Phase 5 (8) ←── Phase 4
|
||
```
|
||
|
||
---
|
||
|
||
## 附录:任务索引
|
||
|
||
| 编号 | 名称 | Phase | Stage | 类型 |
|
||
|------|------|-------|-------|------|
|
||
| P0-01 | UniApp Mock 数据文件 | 0 | — | NEW |
|
||
| P0-02 | Admin Mock 数据文件 | 0 | — | NEW |
|
||
| P1A-01 | UniApp api/hjfQueue.js | 1 | 1A | NEW |
|
||
| P1A-02 | UniApp api/hjfAssets.js | 1 | 1A | NEW |
|
||
| P1A-03 | UniApp api/hjfMember.js | 1 | 1A | NEW |
|
||
| P1A-04 | Admin api/hjfQueue.js | 1 | 1A | NEW |
|
||
| P1A-05 | Admin api/hjfMember.js | 1 | 1A | NEW |
|
||
| P1A-06 | Admin api/hjfPoints.js | 1 | 1A | NEW |
|
||
| P1B-01 | HjfQueueProgress | 1 | 1B | NEW |
|
||
| P1B-02 | HjfAssetCard | 1 | 1B | NEW |
|
||
| P1B-03 | HjfMemberBadge | 1 | 1B | NEW |
|
||
| P1B-04 | HjfRefundNotice | 1 | 1B | NEW |
|
||
| P1C-01 | P12 公排状态页 | 1 | 1C | NEW |
|
||
| P1C-02 | P13 公排历史页 | 1 | 1C | NEW |
|
||
| P1C-03 | P14 公排规则页 | 1 | 1C | NEW |
|
||
| P1C-04 | P15 资产总览页 | 1 | 1C | NEW |
|
||
| P1C-05 | P18 积分明细页 | 1 | 1C | NEW |
|
||
| P1C-06 | P23 新用户引导页 | 1 | 1C | NEW |
|
||
| P1D-01 | 首页改造 | 1 | 1D | MOD |
|
||
| P1D-02 | 商品详情改造 | 1 | 1D | MOD |
|
||
| P1D-03 | 购买流程改造 | 1 | 1D | MOD |
|
||
| P1D-04 | 我的订单改造 | 1 | 1D | MOD |
|
||
| P1D-05 | 推荐页改造 | 1 | 1D | MOD |
|
||
| P1D-06 | 提现页改造 | 1 | 1D | MOD |
|
||
| P1D-07 | 个人中心改造 | 1 | 1D | MOD |
|
||
| P1E-01 | 公排订单管理页 | 1 | 1E | NEW |
|
||
| P1E-02 | 公排财务流水页 | 1 | 1E | NEW |
|
||
| P1E-03 | 积分释放日志页 | 1 | 1E | NEW |
|
||
| P1E-04 | 公排参数配置页 | 1 | 1E | NEW |
|
||
| P1E-05 | 会员等级配置页 | 1 | 1E | NEW |
|
||
| P1E-06 | 会员管理页 | 1 | 1E | NEW |
|
||
| P1F-01 | pages.json 公排路由 | 1 | 1F | MOD |
|
||
| P1F-02 | pages.json 资产路由 | 1 | 1F | MOD |
|
||
| P1F-03 | pages.json 引导路由 | 1 | 1F | MOD |
|
||
| P1F-04 | Admin hjfQueue 路由 | 1 | 1F | NEW |
|
||
| P1F-05 | Admin 路由模块注册 | 1 | 1F | MOD |
|
||
| P1F-06 | Admin finance 路由评估 | 1 | 1F | 评估 |
|
||
| P1F-07 | Admin user 路由评估 | 1 | 1F | 评估 |
|
||
| P1G-01 | 用户管理改造 | 1 | 1G | MOD |
|
||
| P1G-02 | 商品管理改造 | 1 | 1G | MOD |
|
||
| CP-01 | 前端评审检查点 | CP | — | GATE |
|
||
| P2-01 | eb_queue_pool 建表 | 2 | — | DDL |
|
||
| P2-02 | eb_points_release_log 建表 | 2 | — | DDL |
|
||
| P2-03 | eb_user 加字段 | 2 | — | DDL |
|
||
| P2-04 | eb_system_config 配置 | 2 | — | DML |
|
||
| P2-05 | eb_store_product 加字段 | 2 | — | DDL |
|
||
| P3-01 | QueuePool Model | 3 | — | NEW |
|
||
| P3-02 | QueuePoolDao | 3 | — | NEW |
|
||
| P3-03 | QueuePoolService | 3 | — | NEW |
|
||
| P3-04 | QueueRefundService | 3 | — | NEW |
|
||
| P3-05 | QueuePoolController | 3 | — | NEW |
|
||
| P3-06 | MemberLevelService | 3 | — | NEW |
|
||
| P3-07 | MemberRewardService | 3 | — | NEW |
|
||
| P3-08 | MemberTeamService | 3 | — | NEW |
|
||
| P3-09 | PointsReleaseService | 3 | — | NEW |
|
||
| P3-10 | PointsPayService | 3 | — | NEW |
|
||
| P3-11 | Admin QueueOrderController | 3 | — | NEW |
|
||
| P3-12 | Admin QueueConfigController | 3 | — | NEW |
|
||
| P3-13 | Admin QueueFinanceController | 3 | — | NEW |
|
||
| P3-14 | Admin MemberLevelController | 3 | — | NEW |
|
||
| P3-15 | API 路由注册 | 3 | — | MOD |
|
||
| P3-16 | Admin 路由注册 | 3 | — | MOD |
|
||
| P4-01 | UniApp 关闭 USE_MOCK | 4 | — | MOD |
|
||
| P4-02 | Admin 关闭 USE_MOCK | 4 | — | MOD |
|
||
| P4-03 | UniApp 联调冒烟 | 4 | — | TEST |
|
||
| P4-04 | Admin 联调冒烟 | 4 | — | TEST |
|
||
| P4-05 | 端到端验证 | 4 | — | TEST |
|
||
| P5-01 | QueuePool 单元测试 | 5 | — | TEST |
|
||
| P5-02 | MemberReward 单元测试 | 5 | — | TEST |
|
||
| P5-03 | PointsRelease 单元测试 | 5 | — | TEST |
|
||
| P5-04 | 公排并发测试 | 5 | — | TEST |
|
||
| P5-05 | 完整购买流程 E2E | 5 | — | TEST |
|
||
| P5-06 | Admin CRUD 冒烟 | 5 | — | TEST |
|
||
| P5-07 | 积分释放定时任务测试 | 5 | — | TEST |
|
||
| P5-08 | 提现流程测试 | 5 | — | TEST |
|