/** * Mock数据中心 * 所有Mock数据的统一入口 * * 这个文件汇总了所有业务模块的Mock数据函数, * 提供给 dataAdapter.js 调用 */ import loginMock from './login.js' import athleteMock from './athlete.js' import scoreMock from './score.js' /** * 导出所有Mock数据函数 * * 资源名称(key)对应 dataAdapter.getData() 的第一个参数 * 例如:dataAdapter.getData('login', params) 会调用 loginMock.login(params) */ export default { // ==================== 认证模块 ==================== /** * 登录验证 * @param {Object} params - { matchCode, inviteCode } * @returns {Object} 用户信息和Token */ login: loginMock.login, // ==================== 选手模块 ==================== /** * 获取我的选手列表(普通评委) * @param {Object} params - { judgeId, venueId, projectId } * @returns {Array} 选手列表(带评分状态) */ getMyAthletes: athleteMock.getMyAthletes, /** * 获取选手列表(主裁判) * @param {Object} params - { competitionId, venueId, projectId } * @returns {Array} 选手列表(带评分统计) */ getAthletesForAdmin: athleteMock.getAthletesForAdmin, /** * 获取场地列表 * @param {Object} params - { competitionId } * @returns {Array} 场地列表 */ getVenues: athleteMock.getVenues, /** * 获取项目列表 * @param {Object} params - { competitionId } * @returns {Array} 项目列表 */ getProjects: athleteMock.getProjects, // ==================== 评分模块 ==================== /** * 获取扣分项列表 * @param {Object} params - { projectId } * @returns {Array} 扣分项列表 */ getDeductions: scoreMock.getDeductions, /** * 提交评分 * @param {Object} params - { athleteId, judgeId, score, deductions, note } * @returns {Object} 提交结果 */ submitScore: scoreMock.submitScore, /** * 获取评分详情(主裁判查看) * @param {Object} params - { athleteId } * @returns {Object} 评分详情(选手信息+评委评分) */ getScoreDetail: scoreMock.getScoreDetail, /** * 修改评分(主裁判) * @param {Object} params - { athleteId, modifierId, modifiedScore, note } * @returns {Object} 修改结果 */ modifyScore: scoreMock.modifyScore } /** * 使用说明: * * 这个文件不直接在页面中使用,而是通过 dataAdapter.js 间接调用。 * * 页面使用示例: * * import dataAdapter from '@/utils/dataAdapter.js' * * // 登录 * const res = await dataAdapter.getData('login', { * matchCode: '123', * inviteCode: 'pub' * }) * * // 获取选手列表 * const res = await dataAdapter.getData('getMyAthletes', { * judgeId: '456', * venueId: '1', * projectId: '5' * }) * * // 提交评分 * const res = await dataAdapter.getData('submitScore', { * athleteId: '1', * judgeId: '456', * score: 8.907, * deductions: [...], * note: '表现优秀' * }) */