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
259 lines
4.5 KiB
JavaScript
259 lines
4.5 KiB
JavaScript
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
|
||
import request from "@/utils/request.js";
|
||
import wechat from "@/libs/wechat.js";
|
||
|
||
/**
|
||
* 获取微信sdk配置
|
||
* @returns {*}
|
||
*/
|
||
export function getWechatConfig() {
|
||
return request.get(
|
||
"wechat/config", {
|
||
url: wechat.signLink()
|
||
}, {
|
||
noAuth: true
|
||
}
|
||
);
|
||
}
|
||
|
||
/**
|
||
* 小程序手机号登录
|
||
* @param {Object} data
|
||
*/
|
||
export function phoneLogin(data) {
|
||
return request.post('v2/routine/phone_login', data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 小程序绑定手机号(最新)
|
||
* @param {Object} data
|
||
*/
|
||
export function routineBindingPhone(data) {
|
||
return request.post('v2/routine/auth_binding_phone', data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
|
||
/**
|
||
* 公众号绑定手机号
|
||
* @param {Object} data
|
||
*/
|
||
export function wechatBindingPhone(data) {
|
||
return request.post('v2/wechat/auth_binding_phone', data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
|
||
/**
|
||
* code生成用户
|
||
* @returns {*}
|
||
*/
|
||
|
||
export function authType(data) {
|
||
return request.get("v2/routine/auth_type", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 公众号登录
|
||
* @returns {*}
|
||
*/
|
||
export function wechatAuthLogin(data) {
|
||
return request.get("v2/wechat/auth_login", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取登录授权login
|
||
*
|
||
*/
|
||
export function getLogo() {
|
||
return request.get('wechat/get_logo', {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 小程序用户登录
|
||
* @param data object 小程序用户登陆信息
|
||
*/
|
||
export function login(data) {
|
||
return request.post("wechat/mp_auth", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 静默授权
|
||
* @param {Object} data
|
||
*/
|
||
export function silenceAuth(data) {
|
||
//#ifdef MP
|
||
return request.get("v2/wechat/silence_auth", data, {
|
||
noAuth: true
|
||
});
|
||
//#endif
|
||
//#ifdef H5
|
||
return request.get("v2/wechat/wx_silence_auth", data, {
|
||
noAuth: true
|
||
});
|
||
//#endif
|
||
}
|
||
|
||
/**
|
||
* 分享
|
||
* @returns {*}
|
||
*/
|
||
export function getShare() {
|
||
return request.get("share", {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取关注海报
|
||
* @returns {*}
|
||
*/
|
||
export function follow() {
|
||
return request.get("wechat/follow", {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
/**
|
||
* 授权登录
|
||
* @returns {*}
|
||
*/
|
||
export function authLogin(data) {
|
||
return request.get("v2/routine/auth_login", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取图片base64
|
||
* @retins {*}
|
||
* */
|
||
export function imageBase64(image, code) {
|
||
return request.post(
|
||
"image_base64", {
|
||
image: image,
|
||
code: code
|
||
}, {
|
||
noAuth: true
|
||
}
|
||
);
|
||
}
|
||
|
||
/**
|
||
* 自动复制口令功能
|
||
* @returns {*}
|
||
*/
|
||
export function copyWords() {
|
||
return request.get("copy_words", {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取商城是否强制绑定手机号
|
||
*/
|
||
export function getShopConfig() {
|
||
return request.get('v2/bind_status', {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 小程序绑定手机号
|
||
* @param {Object} data
|
||
*/
|
||
export function getUserPhone(data) {
|
||
return request.post('v2/auth_bindind_phone', data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 小程序用户登录
|
||
* @param data object 小程序用户登陆信息
|
||
*/
|
||
export function routineLogin(data) {
|
||
return request.get("v2/wechat/routine_auth", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取微信sdk配置
|
||
* @returns {*}
|
||
*/
|
||
export function wechatAuthV2(code, spid) {
|
||
return request.get(
|
||
"v2/wechat/auth", {
|
||
code: code,
|
||
spread_spid: spid
|
||
}, {
|
||
noAuth: true
|
||
}
|
||
);
|
||
}
|
||
|
||
/**
|
||
* 获取组件底部菜单
|
||
* @param data object 获取组件底部菜单
|
||
*/
|
||
export function getNavigation(data) {
|
||
return request.get("navigation", data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
export function getSubscribe() {
|
||
return request.get("subscribe", {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* iframe登录
|
||
*
|
||
*/
|
||
export function remoteRegister(data) {
|
||
return request.get(`remote_register`, data, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 公共配置接口
|
||
*
|
||
*/
|
||
export function systemConfigApi() {
|
||
return request.get("system/config", {}, {
|
||
noAuth: true
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 获取版本信息
|
||
* @param 系统类型
|
||
*/
|
||
export function getUpdateInfo(type) {
|
||
return request.get("get_new_app/" + type, {}, {
|
||
noAuth: true
|
||
});
|
||
} |