281 lines
8.0 KiB
JavaScript
281 lines
8.0 KiB
JavaScript
|
|
import useApiFetch from "@/composables/useApiFetch";
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 代理相关API调用统一管理
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 构建查询字符串的辅助函数
|
|||
|
|
* @param {object} params - 查询参数对象
|
|||
|
|
* @returns {string} 查询字符串
|
|||
|
|
*/
|
|||
|
|
function buildQueryString(params) {
|
|||
|
|
const queryParams = new URLSearchParams();
|
|||
|
|
Object.keys(params).forEach((key) => {
|
|||
|
|
if (
|
|||
|
|
params[key] !== undefined &&
|
|||
|
|
params[key] !== null &&
|
|||
|
|
params[key] !== ""
|
|||
|
|
) {
|
|||
|
|
queryParams.append(key, params[key]);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
const queryString = queryParams.toString();
|
|||
|
|
return queryString ? `?${queryString}` : "";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ==================== 公开接口(无需登录) ====================
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取推广链接数据
|
|||
|
|
* @param {string} linkIdentifier - 推广链接标识
|
|||
|
|
*/
|
|||
|
|
export function getLinkData(linkIdentifier) {
|
|||
|
|
return useApiFetch(
|
|||
|
|
`/agent/link?link_identifier=${encodeURIComponent(linkIdentifier)}`
|
|||
|
|
)
|
|||
|
|
.get()
|
|||
|
|
.json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 通过邀请码申请成为代理(已注册用户)
|
|||
|
|
* @param {object} params - 申请参数
|
|||
|
|
* @param {string} params.mobile - 手机号
|
|||
|
|
* @param {string} params.code - 验证码
|
|||
|
|
* @param {string} params.invite_code - 邀请码(必填)
|
|||
|
|
* @param {string} params.region - 区域(可选)
|
|||
|
|
*/
|
|||
|
|
export function applyForAgent(params) {
|
|||
|
|
return useApiFetch("/agent/apply").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 通过邀请码注册(同时注册用户和代理)
|
|||
|
|
* @param {object} params - 注册参数
|
|||
|
|
* @param {string} params.mobile - 手机号
|
|||
|
|
* @param {string} params.code - 验证码
|
|||
|
|
* @param {string} params.invite_code - 邀请码(必填)
|
|||
|
|
* @param {string} params.region - 区域(可选)
|
|||
|
|
* @param {string} params.wechat_id - 微信号(可选)
|
|||
|
|
*/
|
|||
|
|
export function registerByInviteCode(params) {
|
|||
|
|
return useApiFetch("/agent/register/invite").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ==================== 需要登录的接口 ====================
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取代理信息
|
|||
|
|
*/
|
|||
|
|
export function getAgentInfo() {
|
|||
|
|
return useApiFetch("/agent/info").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取代理等级特权信息
|
|||
|
|
*/
|
|||
|
|
export function getLevelPrivilege() {
|
|||
|
|
return useApiFetch("/agent/level/privilege").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生成推广链接
|
|||
|
|
* @param {object} params - 生成参数
|
|||
|
|
* @param {number} params.product_id - 产品ID
|
|||
|
|
* @param {number} params.set_price - 设定价格
|
|||
|
|
*/
|
|||
|
|
export function generateLink(params) {
|
|||
|
|
return useApiFetch("/agent/generating_link").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取产品配置
|
|||
|
|
*/
|
|||
|
|
export function getProductConfig() {
|
|||
|
|
return useApiFetch("/agent/product_config").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取团队统计
|
|||
|
|
*/
|
|||
|
|
export function getTeamStatistics() {
|
|||
|
|
return useApiFetch("/agent/team/statistics").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取团队列表
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getTeamList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/team/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取下级列表
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getSubordinateList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/subordinate/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取收益信息
|
|||
|
|
*/
|
|||
|
|
export function getRevenueInfo() {
|
|||
|
|
return useApiFetch("/agent/revenue").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取转化率统计
|
|||
|
|
*/
|
|||
|
|
export function getConversionRate() {
|
|||
|
|
return useApiFetch("/agent/conversion/rate").get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取佣金记录
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getCommissionList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/commission/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取返佣记录(推广返佣)
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
* @param {number} params.rebate_type - 返佣类型(可选):1=直接上级返佣,2=钻石上级返佣,3=黄金上级返佣
|
|||
|
|
*/
|
|||
|
|
export function getRebateList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/rebate/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取升级返佣记录
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getUpgradeRebateList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/rebate/upgrade/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取升级记录
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getUpgradeList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/upgrade/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 申请升级
|
|||
|
|
* @param {object} params - 升级参数
|
|||
|
|
* @param {number} params.to_level - 目标等级:2=黄金,3=钻石
|
|||
|
|
*/
|
|||
|
|
export function applyUpgrade(params) {
|
|||
|
|
return useApiFetch("/agent/upgrade/apply").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 钻石代理升级下级
|
|||
|
|
* @param {object} params - 升级参数
|
|||
|
|
* @param {number} params.subordinate_id - 下级代理ID
|
|||
|
|
* @param {number} params.to_level - 目标等级(只能是2=黄金)
|
|||
|
|
*/
|
|||
|
|
export function upgradeSubordinate(params) {
|
|||
|
|
return useApiFetch("/agent/upgrade/subordinate").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取提现列表
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
*/
|
|||
|
|
export function getWithdrawalList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/withdrawal/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 申请提现
|
|||
|
|
* @param {object} params - 提现参数
|
|||
|
|
* @param {number} params.amount - 提现金额
|
|||
|
|
* @param {string} params.payee_account - 收款账户
|
|||
|
|
* @param {string} params.payee_name - 收款人姓名
|
|||
|
|
*/
|
|||
|
|
export function applyWithdrawal(params) {
|
|||
|
|
return useApiFetch("/agent/withdrawal/apply").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 实名认证
|
|||
|
|
* @param {object} params - 实名认证参数
|
|||
|
|
* @param {string} params.name - 姓名
|
|||
|
|
* @param {string} params.id_card - 身份证号
|
|||
|
|
* @param {string} params.mobile - 手机号
|
|||
|
|
* @param {string} params.code - 验证码
|
|||
|
|
*/
|
|||
|
|
export function realNameAuth(params) {
|
|||
|
|
return useApiFetch("/agent/real_name").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 生成邀请码
|
|||
|
|
* @param {object} params - 生成参数
|
|||
|
|
* @param {number} params.count - 生成数量
|
|||
|
|
* @param {number} params.expire_days - 过期天数(可选,0表示不过期)
|
|||
|
|
* @param {string} params.remark - 备注(可选)
|
|||
|
|
*/
|
|||
|
|
export function generateInviteCode(params) {
|
|||
|
|
return useApiFetch("/agent/invite_code/generate").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取邀请码列表
|
|||
|
|
* @param {object} params - 查询参数
|
|||
|
|
* @param {number} params.page - 页码
|
|||
|
|
* @param {number} params.page_size - 每页数量
|
|||
|
|
* @param {number} params.status - 状态(可选):0=未使用,1=已使用,2=已失效
|
|||
|
|
*/
|
|||
|
|
export function getInviteCodeList(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/invite_code/list${queryString}`).get().json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 删除邀请码
|
|||
|
|
* @param {object} params - 删除参数
|
|||
|
|
* @param {number} params.id - 邀请码ID
|
|||
|
|
*/
|
|||
|
|
export function deleteInviteCode(params) {
|
|||
|
|
return useApiFetch("/agent/invite_code/delete").post(params).json();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取邀请链接
|
|||
|
|
* @param {object} params - 请求参数
|
|||
|
|
* @param {string} params.invite_code - 邀请码
|
|||
|
|
*/
|
|||
|
|
export function getInviteLink(params) {
|
|||
|
|
const queryString = buildQueryString(params || {});
|
|||
|
|
return useApiFetch(`/agent/invite_link${queryString}`).get().json();
|
|||
|
|
}
|