feat(fsgx): 完成全部24项开发任务 Phase1-7
Phase1 后端核心:
- 新增 fsgx_v1.sql 迁移脚本(is_queue_goods/frozen_points/available_points/no_assess)
- SystemConfigServices 返佣设置扩展(周期人数/分档比例/范围/时机)
- StoreOrderCreateServices 周期循环佣金计算
- StoreOrderTakeServices 佣金发放后同步冻结积分
- StoreProductServices/StoreProduct 保存 is_queue_goods
Phase2 后端接口:
- GET /api/hjf/brokerage/progress 佣金周期进度
- GET /api/hjf/assets/overview 资产总览
- HjfPointsServices 每日 frozen_points 0.4‰ 释放定时任务
- PUT /adminapi/hjf/member/{uid}/no_assess 不考核接口
- GET /adminapi/hjf/points/release_log 积分日志接口
Phase3 前端清理:
- hjfCustom.js 路由精简(仅保留 points/log)
- hjfQueue.js/hjfMember.js API 清理/重定向至 CRMEB 原生接口
- pages.json 公排→推荐佣金/佣金记录/佣金规则
Phase4-5 前端改造:
- queue/status.vue 推荐佣金进度页整体重写
- 商品详情/订单确认/支付结果页文案与逻辑改造
- 个人中心/资产页/引导页/规则页文案改造
- HjfQueueProgress/HjfRefundNotice/HjfAssetCard 组件改造
- 推广中心嵌入佣金进度摘要
- hjfMockData.js 全量更新(公排字段→佣金字段)
Phase6 Admin 增强:
- 用户列表新增 frozen_points/available_points 列及不考核操作按钮
- hjfPoints.js USE_MOCK=false 对接真实积分日志接口
Phase7 配置文档:
- docs/fsgx-phase7-config-checklist.md 后台配置与全链路验收清单
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Conversation - 2026-03-10 17:31:35
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfMember.js:
|
||||
|
||||
文件路径: /Users/apple/scott2026/huangjingfen/pro_v3.5.1/view/uniapp/api/hjfMember.js
|
||||
|
||||
内容要求:
|
||||
1. 导入 request from '@/utils/request.js' 和 MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME from '@/utils/hjfMockData.js'
|
||||
2. USE_MOCK = true 开关
|
||||
3. mockResponse 辅助函数
|
||||
4. 导出函数:
|
||||
- getMemberInfo() - 获取会员信息
|
||||
- getTeamData(params) - 获取团队数据
|
||||
- getTeamIncome(params) - 获取团队收益
|
||||
5. 参考: docs/frontend-new-pages-spec.md 第 4.2.1 节
|
||||
|
||||
使用 ES6 语法,完整的 JSDoc 注释。
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
已按规范在指定路径创建 `hjfMember.js`,内容要点如下:
|
||||
|
||||
1. **导入**
|
||||
- `request` 来自 `@/utils/request.js`
|
||||
- `MOCK_MEMBER_INFO`、`MOCK_TEAM_DATA`、`MOCK_TEAM_INCOME` 来自 `@/utils/hjfMockData.js`
|
||||
|
||||
2. **USE_MOCK**
|
||||
- `const USE_MOCK = true`,便于 Phase 4 时改为 `false` 切到真实接口
|
||||
|
||||
3. **mockResponse**
|
||||
- 与 `request.get()` 同形的 Promise(`{ status: 200, data }`)
|
||||
- 300ms 延迟,并对 data 做深拷贝
|
||||
|
||||
4. **导出函数**
|
||||
- **getMemberInfo()**:会员信息(等级、直推/伞下统计、升级进度)
|
||||
- **getTeamData(params)**:团队成员列表,支持 `page`/`limit` 等
|
||||
- **getTeamIncome(params)**:团队收益明细,支持分页
|
||||
|
||||
5. **注释与规范**
|
||||
- 文件顶部 `@module` 说明
|
||||
- 每个导出函数和 `mockResponse` 均有 JSDoc(含 `@param`、`@returns`)
|
||||
- 使用 ES6(`import`/`export`、`const`、箭头函数等)
|
||||
|
||||
实现与 `docs/frontend-new-pages-spec.md` 中 **3.2.2 节**(UniApp 会员 API 模块)一致;文档里的 4.2.1 是引导页 P23,会员 API 在 3.2.2。当前无新的 lint 报错。
|
||||
@@ -0,0 +1,20 @@
|
||||
# Conversation - 2026-03-10 16:54:42
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfQueue.js,内容要求:
|
||||
1. 导入 request from '@/utils/request.js' 和 MOCK_QUEUE_STATUS, MOCK_QUEUE_HISTORY from '@/utils/hjfMockData.js'
|
||||
2. 定义 USE_MOCK = true 开关
|
||||
3. 实现 mockResponse 辅助函数(300ms延迟,返回Promise)
|
||||
4. 导出 getQueueStatus() 函数:USE_MOCK时返回MOCK_QUEUE_STATUS,否则调用 request.get('hjf/queue/status')
|
||||
5. 导出 getQueueHistory(params) 函数:USE_MOCK时返回MOCK_QUEUE_HISTORY,否则调用 request.get('hjf/queue/history', params)
|
||||
6. 代码使用 ES6 语法,包含完整的 JSDoc 注释
|
||||
|
||||
## Response
|
||||
|
||||
### 完成情况
|
||||
|
||||
- **已创建** `hjfQueue.js`,引入了 `request` 与 `MOCK_QUEUE_STATUS`, `MOCK_QUEUE_HISTORY`。
|
||||
- **已实现** `USE_MOCK` 开关、`mockResponse` 辅助函数(默认 300ms 延迟)。
|
||||
- **已导出** `getQueueStatus()` 与 `getQueueHistory(params)`,在 `USE_MOCK` 时返回对应的 Mock 数据,否则走真实接口。
|
||||
- 所有导出函数和辅助函数都添加了**完整 JSDoc 注释**,风格与现有 `hjfAssets.js` / `hjfMember.js` 保持一致。
|
||||
@@ -0,0 +1,36 @@
|
||||
# Conversation - 2026-03-10 16:59:21
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfMember.js:
|
||||
1. 导入 request 和 MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME from '@/utils/hjfMockData.js'
|
||||
2. USE_MOCK = true, mockResponse 函数
|
||||
3. 导出 getMemberInfo() - 会员信息
|
||||
4. 导出 getTeamData(params) - 团队数据(分页)
|
||||
5. 导出 getTeamIncome(params) - 团队收益
|
||||
6. 完整 JSDoc 注释,ES6语法
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
已按你的要求整理并写好 `hjfMember.js`,包含以下内容:
|
||||
|
||||
1. **导入**
|
||||
- `request` 从 `@/utils/request.js` 导入(与 `hjfAssets.js` 一致;`request` 不在 `hjfMockData.js` 中)
|
||||
- `MOCK_MEMBER_INFO`、`MOCK_TEAM_DATA`、`MOCK_TEAM_INCOME` 从 `@/utils/hjfMockData.js` 导入
|
||||
|
||||
2. **USE_MOCK 与 mockResponse**
|
||||
- `USE_MOCK = true`
|
||||
- `mockResponse(data, delay = 300)`,返回 `Promise<{ status, data }>`,带 JSDoc
|
||||
|
||||
3. **导出接口**
|
||||
- `getMemberInfo()`:会员信息
|
||||
- `getTeamData(params)`:团队数据(分页,params 如 `page`、`limit`)
|
||||
- `getTeamIncome(params)`:团队收益(分页)
|
||||
|
||||
4. **JSDoc 与语法**
|
||||
- 文件顶部模块说明
|
||||
- `USE_MOCK`、`mockResponse` 及三个导出函数均有完整 JSDoc(含 `@param`、`@returns`)
|
||||
- 使用 ES6(`import`/`export`、箭头函数、默认参数、`const`)
|
||||
|
||||
当前无新的 lint 报错。若你希望 `request` 也从一个统一入口(例如某 index)再导出,可以说明目标路径,我可以按那个方式改导入。
|
||||
@@ -0,0 +1,48 @@
|
||||
# Conversation - 2026-03-10 17:30:38
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfAssets.js:
|
||||
|
||||
文件路径: /Users/apple/scott2026/huangjingfen/pro_v3.5.1/view/uniapp/api/hjfAssets.js
|
||||
|
||||
内容要求:
|
||||
1. 导入 request from '@/utils/request.js' 和 MOCK_ASSETS_OVERVIEW, MOCK_POINTS_DETAIL, MOCK_CASH_DETAIL, MOCK_WITHDRAW_INFO from '@/utils/hjfMockData.js'
|
||||
2. USE_MOCK = true 开关
|
||||
3. mockResponse 辅助函数
|
||||
4. 导出函数:
|
||||
- getAssetsOverview() - 获取资产概览
|
||||
- getPointsDetail(params) - 获取积分明细
|
||||
- getCashDetail(params) - 获取现金明细
|
||||
- getWithdrawInfo() - 获取提现信息
|
||||
- applyWithdraw(data) - 申请提现
|
||||
5. 参考: docs/frontend-new-pages-spec.md 第 3.2.1 节
|
||||
|
||||
使用 ES6 语法,完整的 JSDoc 注释。
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
已按你的要求和 `docs/frontend-new-pages-spec.md` 第 3.2.1 节写好并保存 `hjfAssets.js`,内容概览如下:
|
||||
|
||||
**1. 导入**
|
||||
- `request` from `@/utils/request.js`
|
||||
- `MOCK_ASSETS_OVERVIEW`、`MOCK_POINTS_DETAIL`、`MOCK_CASH_DETAIL`、`MOCK_WITHDRAW_INFO` from `@/utils/hjfMockData.js`
|
||||
|
||||
**2. 开关与辅助**
|
||||
- `USE_MOCK = true`
|
||||
- `mockResponse(data, delay = 300)`:返回 `{ status: 200, data }` 的 Promise,深拷贝并延迟
|
||||
|
||||
**3. 导出函数(含完整 JSDoc)**
|
||||
- **getAssetsOverview()** — 获取资产概览
|
||||
- **getPointsDetail(params)** — 获取积分明细(分页)
|
||||
- **getCashDetail(params)** — 获取现金明细(分页)
|
||||
- **getWithdrawInfo()** — 获取提现信息
|
||||
- **applyWithdraw(data)** — 申请提现(POST),Mock 时返回 `{ success: true, msg: '提现申请已提交' }`,联调走 `request.post('hjf/assets/withdraw', data)`
|
||||
|
||||
**4. 其他**
|
||||
- 使用 ES6(import/export、箭头函数、默认参数等)
|
||||
- 为模块和每个函数写了 JSDoc(含 `@param`、`@returns`)
|
||||
- 未发现新的 lint 报错
|
||||
|
||||
说明:你要求的是导出 **applyWithdraw**,已按此命名实现;若页面里之前用的是 `submitWithdraw`,需要改成从本文件导入并调用 `applyWithdraw`。
|
||||
@@ -0,0 +1,39 @@
|
||||
# Conversation - 2026-03-10 16:56:23
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfAssets.js:
|
||||
1. 导入 request 和 MOCK_ASSETS_OVERVIEW, MOCK_POINTS_DETAIL, MOCK_CASH_DETAIL, MOCK_WITHDRAW_INFO from '@/utils/hjfMockData.js'
|
||||
2. USE_MOCK = true, mockResponse 函数 300ms延迟
|
||||
3. 导出 getAssetsOverview() - 资产总览
|
||||
4. 导出 getPointsDetail(params) - 积分明细
|
||||
5. 导出 getCashDetail(params) - 现金明细
|
||||
6. 导出 getWithdrawInfo() - 提现信息
|
||||
7. 导出 submitWithdraw(data) - POST提交提现
|
||||
8. 完整 JSDoc 注释,ES6语法
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
已按你的要求写好并更新 `hjfAssets.js`,主要内容如下:
|
||||
|
||||
**1. 导入**
|
||||
- `request` 来自 `@/utils/request.js`
|
||||
- `MOCK_ASSETS_OVERVIEW`、`MOCK_POINTS_DETAIL`、`MOCK_CASH_DETAIL`、`MOCK_WITHDRAW_INFO` 来自 `@/utils/hjfMockData.js`
|
||||
|
||||
**2. Mock 配置**
|
||||
- `USE_MOCK = true`
|
||||
- `mockResponse(data, delay = 300)`,默认 300ms 延迟,返回 `{ status: 200, data }`
|
||||
|
||||
**3. 导出接口(均带 JSDoc,ES6)**
|
||||
- **getAssetsOverview()** — 资产总览
|
||||
- **getPointsDetail(params)** — 积分明细(支持分页参数)
|
||||
- **getCashDetail(params)** — 现金明细(支持分页参数)
|
||||
- **getWithdrawInfo()** — 提现信息
|
||||
- **submitWithdraw(data)** — POST 提交提现;Mock 时返回 `{ success: true, msg: '提现申请已提交' }`,联调时走 `request.post('hjf/assets/withdraw', data)`
|
||||
|
||||
**4. JSDoc**
|
||||
- 文件顶部模块说明
|
||||
- `USE_MOCK`、`mockResponse` 及上述 5 个导出函数均有 `@param` / `@returns` 注释
|
||||
|
||||
当前无新的 lint 报错。需要把 `request` 的导入路径改成别的(例如 `@/utils/request`)可以说一下。
|
||||
@@ -0,0 +1,48 @@
|
||||
# Conversation - 2026-03-10 17:29:36
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 hjfQueue.js:
|
||||
|
||||
文件路径: /Users/apple/scott2026/huangjingfen/pro_v3.5.1/view/uniapp/api/hjfQueue.js
|
||||
|
||||
内容要求:
|
||||
1. 顶部导入:import request from "@/utils/request.js"; 和 import { MOCK_QUEUE_STATUS, MOCK_QUEUE_HISTORY } from '@/utils/hjfMockData.js';
|
||||
2. USE_MOCK = true 开关
|
||||
3. mockResponse 辅助函数(300ms延迟,返回深拷贝的Promise)
|
||||
4. getQueueStatus() - 获取公排状态
|
||||
5. getQueueHistory(params) - 获取公排历史记录
|
||||
6. 参考: docs/frontend-new-pages-spec.md 第 2.2.1 节
|
||||
|
||||
使用 ES6 语法,完整的 JSDoc 注释。
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
已按规范在指定路径创建 `hjfQueue.js`,主要内容如下:
|
||||
|
||||
1. **顶部导入**
|
||||
- `import request from '@/utils/request.js'`
|
||||
- `import { MOCK_QUEUE_STATUS, MOCK_QUEUE_HISTORY } from '@/utils/hjfMockData.js'`
|
||||
|
||||
2. **USE_MOCK 开关**
|
||||
- `const USE_MOCK = true`,并加 JSDoc 说明 Phase 4 时改为 `false`
|
||||
|
||||
3. **mockResponse 辅助函数**
|
||||
- 默认 300ms 延迟
|
||||
- 使用 `JSON.parse(JSON.stringify(data))` 深拷贝
|
||||
- 返回 `Promise<{ status: 200, data }>`
|
||||
|
||||
4. **getQueueStatus()**
|
||||
- 获取公排状态(我的排队 + 全局进度)
|
||||
- Mock 时返回 `MOCK_QUEUE_STATUS`,否则请求 `hjf/queue/status`
|
||||
|
||||
5. **getQueueHistory(params)**
|
||||
- 获取公排历史记录(支持分页参数)
|
||||
- Mock 时返回 `MOCK_QUEUE_HISTORY`,否则请求 `hjf/queue/history`
|
||||
|
||||
6. **JSDoc**
|
||||
- 文件头说明 + `@see` 指向 2.2.1
|
||||
- 对 `USE_MOCK`、`mockResponse`、`getQueueStatus`、`getQueueHistory` 做了完整 JSDoc 注释
|
||||
|
||||
语法为 ES6,风格与 `hjfMember.js` 一致,当前无新的 lint 报错。
|
||||
BIN
pro_v3.5.1_副本/view/uniapp/api/.cursor-cli/sessions.db
Normal file
BIN
pro_v3.5.1_副本/view/uniapp/api/.cursor-cli/sessions.db
Normal file
Binary file not shown.
Reference in New Issue
Block a user