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,105 @@
|
||||
# Conversation - 2026-03-10 16:50:27
|
||||
|
||||
## Prompt
|
||||
|
||||
创建文件 view/uniapp/api/hjfMember.js,内容为:
|
||||
|
||||
import request from "@/utils/request.js";
|
||||
import { MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME } from '@/utils/hjfMockData.js';
|
||||
|
||||
const USE_MOCK = true;
|
||||
|
||||
function mockResponse(data, delay = 300) {
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => {
|
||||
resolve({ status: 200, data: JSON.parse(JSON.stringify(data)) });
|
||||
}, delay);
|
||||
});
|
||||
}
|
||||
|
||||
export function getMemberInfo() {
|
||||
if (USE_MOCK) return mockResponse(MOCK_MEMBER_INFO);
|
||||
return request.get('hjf/member/info');
|
||||
}
|
||||
|
||||
export function getTeamData(params) {
|
||||
if (USE_MOCK) return mockResponse(MOCK_TEAM_DATA);
|
||||
return request.get('hjf/member/team', params);
|
||||
}
|
||||
|
||||
export function getTeamIncome(params) {
|
||||
if (USE_MOCK) return mockResponse(MOCK_TEAM_INCOME);
|
||||
return request.get('hjf/member/income', params);
|
||||
}
|
||||
|
||||
## Response
|
||||
|
||||
|
||||
[SYSTEM:init] Session: 3d5ba33a-a6ae-4a84-9ba9-ee37211adad3
|
||||
Model: Auto
|
||||
CWD: /Users/apple/scott2026/huangjingfen/pro_v3.5.1
|
||||
Permission: default
|
||||
|
||||
[USER] 创建文件 view/uniapp/api/hjfMember.js,内容为:
|
||||
|
||||
import request from "@/utils/request.js";
|
||||
import { MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME } from '@/utils/hjfMockData.js';
|
||||
|
||||
const USE_MOCK = true;
|
||||
|
||||
function mockResponse(data, delay = 300) {
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => {
|
||||
resolve({ status: 200, data: JSON.parse(JSON.stringify(data)) });
|
||||
}, delay);
|
||||
});
|
||||
}
|
||||
|
||||
export function getMemberInfo() {
|
||||
if (USE_MOCK) return mockResponse(MOCK_MEMBER_INFO);
|
||||
return request.get('hjf/member/info');
|
||||
}
|
||||
|
||||
export function getTeamData(params) {
|
||||
if (USE_MOCK) return mockResponse(MOCK_TEAM_DATA);
|
||||
return request.get('hjf/member/team', params);
|
||||
}
|
||||
|
||||
export function getTeamIncome(params) {
|
||||
if (USE_MOCK) return mockResponse(MOCK_TEAM_INCOME);
|
||||
return request.get('hjf/member/income', params);
|
||||
}
|
||||
|
||||
[THINKING]
|
||||
The user wants me to create a new file at view/uniapp/api/hjfMember.js with the exact content they provided. I'll use the Write tool to create this file.
|
||||
|
||||
|
||||
[ASSISTANT]
|
||||
|
||||
|
||||
|
||||
[TOOL_CALL:started] ✏️ Tool #1: Editing /Users/apple/scott2026/huangjingfen/pro_v3.5.1/view/uniapp/api/hjfMember.js
|
||||
|
||||
[TOOL_CALL:completed] ✓ Edit applied
|
||||
|
||||
[THINKING]
|
||||
The file was created successfully. Let me check if the mock data file has the required exports (MOCK_MEMBER_INFO, MOCK_TEAM_DATA, MOCK_TEAM_INCOME) so there are no runtime errors.
|
||||
|
||||
|
||||
[ASSISTANT]
|
||||
已创建 `view/uniapp/api/hjfMember.js`,内容为你提供的代码。该文件包含:
|
||||
|
||||
- **getMemberInfo()**:获取会员信息(mock 或 `hjf/member/info`)
|
||||
- **getTeamData(params)**:获取团队数据(mock 或 `hjf/member/team`)Income(params)**:获取团队收益(ember/income`)
|
||||
|
||||
当前 `USE_MOCK = true`,会使用 `@/utils/hjfMockData.js` 中的 `MOCK_MEMBER_INFO`、`MOCK_TEAM_DATA`、`MOCK_TEAM_INCOME`。请确认 `view/uniapp/utils/hjfMockData.js` 中已导出这三个常量,否则会报错。需要的话我可以帮你检查 mock 文件里是否已有这些导出。
|
||||
已创建 `view/uniapp/api/hjfMember.js`,内容为你提供的代码。该文件包含:
|
||||
|
||||
- **getMemberInfo()**:获取会员信息(mock 或 `hjf/member/info`)
|
||||
- **getTeamData(params)**:获取团队数据(mock 或 `hjf/member/team`)
|
||||
- **getTeamIncome(params)**:获取团队收益(mock 或 `hjf/member/income`)
|
||||
|
||||
当前 `USE_MOCK = true`,会使用 `@/utils/hjfMockData.js` 中的 `MOCK_MEMBER_INFO`、`MOCK_TEAM_DATA`、`MOCK_TEAM_INCOME`。请确认 `view/uniapp/utils/hjfMockData.js` 中已导出这三个常量,否则会报错。需要的话我可以帮你检查 mock 文件里是否已有这些导出。
|
||||
|
||||
[RESULT] 🎯 Completed in 15.3s | 📊 Stats: 1 tools, 825 chars generated
|
||||
|
||||
Reference in New Issue
Block a user