Files
huangjingfen/pro_v3.5.1/view/uniapp/api/hjfMember.js
apple 78de918c37 Initial commit: queue workspace
Made-with: Cursor
2026-03-21 02:55:24 +08:00

64 lines
2.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 黄精粉健康商城 - 会员模块 API
* 会员信息、团队数据、团队收益
* @module api/hjfMember
*/
import request from '@/utils/request.js';
import {
getMockMemberInfo,
getMockTeamData,
getMockTeamIncome
} from '@/utils/hjfMockData.js';
/** @type {boolean} Phase 1 前端开发为 truePhase 4 集成时改为 false */
const USE_MOCK = false;
/**
* Mock 包装:返回与 request.get() 相同形状的 Promise
* @param {Object} data - 要返回的响应体数据
* @param {number} [delay=300] - 模拟网络延迟(毫秒)
* @returns {Promise<{ status: number, data: Object }>}
*/
function mockResponse(data, delay = 300) {
return new Promise(resolve => {
setTimeout(() => {
resolve({ status: 200, data: JSON.parse(JSON.stringify(data)) });
}, delay);
});
}
/**
* 获取会员信息(等级、直推/伞下人数、升级进度等)
* @returns {Promise<{ status: number, data: Object }>} 会员信息
*/
export function getMemberInfo() {
if (USE_MOCK) return mockResponse(getMockMemberInfo());
return request.get('hjf/member/info');
}
/**
* 获取团队成员列表(直推/伞下成员、分页)
* @param {Object} [params] - 查询参数
* @param {number} [params.page] - 页码
* @param {number} [params.limit] - 每页条数
* @param {string} [params.type] - 筛选类型(如 direct/umbrella
* @returns {Promise<{ status: number, data: Object }>} 团队数据
*/
export function getTeamData(params) {
if (USE_MOCK) return mockResponse(getMockTeamData());
return request.get('hjf/member/team', params);
}
/**
* 获取团队收益明细(直推奖励、伞下奖励等)
* @param {Object} [params] - 查询参数
* @param {number} [params.page] - 页码
* @param {number} [params.limit] - 每页条数
* @returns {Promise<{ status: number, data: Object }>} 团队收益列表
*/
export function getTeamIncome(params) {
if (USE_MOCK) return mockResponse(getMockTeamIncome());
return request.get('hjf/member/income', params);
}