Files
huangjingfen/pro_v3.5.1/view/uniapp/api/hjfQueue.js

46 lines
1.5 KiB
JavaScript
Raw Normal View History

/**
* 黄精粉健康商城 - 公排相关 API
* 公排状态公排历史记录
* @see docs/frontend-new-pages-spec.md 2.2.1
*/
import request from '@/utils/request.js';
import { getMockQueueStatus, getMockQueueHistory } from '@/utils/hjfMockData.js';
/** @type {boolean} 是否使用 Mock 数据Phase 4 集成时改为 false */
const USE_MOCK = true;
/**
* Mock 包装返回与 request.get() 相同形状的 Promise
* 300ms 延迟模拟网络JSON 深拷贝防止数据突变
* @param {*} data - 要返回的数据
* @param {number} [delay=300] - 延迟毫秒数
* @returns {Promise<{ status: number, data: * }>}
*/
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: { totalOrders: number, myOrders: Array, progress: Object } }>}
*/
export function getQueueStatus() {
if (USE_MOCK) return mockResponse(getMockQueueStatus());
return request.get('hjf/queue/status');
}
/**
* 获取公排历史记录分页
* @param {Object} [params] - 查询参数 pagelimit
* @returns {Promise<{ status: number, data: { list: Array, count: number, page: number, limit: number } }>}
*/
export function getQueueHistory(params) {
if (USE_MOCK) return mockResponse(getMockQueueHistory());
return request.get('hjf/queue/history', params);
}