- 修改pages目录下的Vue组件注释 - 修改api目录下的接口注释 - 修改mock目录下的模拟数据注释 - 修改utils/dataAdapter.js中的注释 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
159 lines
4.1 KiB
JavaScript
159 lines
4.1 KiB
JavaScript
/**
|
||
* API接口中心
|
||
* 所有API接口的统一入口
|
||
*
|
||
* 这个文件汇总了所有业务模块的API接口函数,
|
||
* 提供给 dataAdapter.js 调用
|
||
*/
|
||
|
||
import authApi from './auth.js'
|
||
import athleteApi from './athlete.js'
|
||
import scoreApi from './score.js'
|
||
|
||
/**
|
||
* 导出所有API接口函数
|
||
*
|
||
* 资源名称(key)对应 dataAdapter.getData() 的第一个参数
|
||
* 例如:dataAdapter.getData('login', params) 会调用 authApi.login(params)
|
||
*/
|
||
export default {
|
||
// ==================== 认证模块 ====================
|
||
/**
|
||
* 登录验证
|
||
* @param {Object} data - { matchCode, inviteCode }
|
||
* @returns {Promise}
|
||
*/
|
||
login: authApi.login,
|
||
|
||
/**
|
||
* 退出登录
|
||
* @returns {Promise}
|
||
*/
|
||
logout: authApi.logout,
|
||
|
||
/**
|
||
* Token验证
|
||
* @returns {Promise}
|
||
*/
|
||
verifyToken: authApi.verifyToken,
|
||
|
||
// ==================== 选手模块 ====================
|
||
/**
|
||
* 获取我的选手列表(普通评委)
|
||
* @param {Object} params - { judgeId, venueId, projectId }
|
||
* @returns {Promise}
|
||
*/
|
||
getMyAthletes: athleteApi.getMyAthletes,
|
||
|
||
/**
|
||
* 获取选手列表(主裁判)
|
||
* @param {Object} params - { competitionId, venueId, projectId }
|
||
* @returns {Promise}
|
||
*/
|
||
getAthletesForAdmin: athleteApi.getAthletesForAdmin,
|
||
|
||
/**
|
||
* 获取场地列表
|
||
* @param {Object} params - { competitionId }
|
||
* @returns {Promise}
|
||
*/
|
||
getVenues: athleteApi.getVenues,
|
||
|
||
/**
|
||
* 获取项目列表
|
||
* @param {Object} params - { competitionId }
|
||
* @returns {Promise}
|
||
*/
|
||
getProjects: athleteApi.getProjects,
|
||
|
||
// ==================== 评分模块 ====================
|
||
/**
|
||
* 获取扣分项列表
|
||
* @param {Object} params - { projectId }
|
||
* @returns {Promise}
|
||
*/
|
||
getDeductions: scoreApi.getDeductions,
|
||
|
||
/**
|
||
* 提交评分
|
||
* @param {Object} data - { athleteId, judgeId, score, deductions, note }
|
||
* @returns {Promise}
|
||
*/
|
||
submitScore: scoreApi.submitScore,
|
||
|
||
/**
|
||
* 获取评分详情(主裁判查看)
|
||
* @param {Object} params - { athleteId }
|
||
* @returns {Promise}
|
||
*/
|
||
getScoreDetail: scoreApi.getScoreDetail,
|
||
|
||
/**
|
||
* 修改评分(主裁判)
|
||
* @param {Object} data - { athleteId, modifierId, modifiedScore, note }
|
||
* @returns {Promise}
|
||
*/
|
||
modifyScore: scoreApi.modifyScore
|
||
}
|
||
|
||
/**
|
||
* 使用说明:
|
||
*
|
||
* 这个文件不直接在页面中使用,而是通过 dataAdapter.js 间接调用。
|
||
*
|
||
* 当 config/env.config.js 中 dataMode 设置为 'api' 时,
|
||
* dataAdapter.getData() 会自动调用这里的API函数。
|
||
*
|
||
* 页面使用示例:
|
||
*
|
||
* import dataAdapter from '@/utils/dataAdapter.js'
|
||
*
|
||
* // 配置 dataMode: 'api' 时,以下代码会调用真实API
|
||
* const res = await dataAdapter.getData('login', {
|
||
* matchCode: '123',
|
||
* inviteCode: 'pub'
|
||
* })
|
||
* // 实际调用: authApi.login({ matchCode, inviteCode })
|
||
* // 请求: POST /api/mini/login
|
||
*
|
||
* // 配置 dataMode: 'mock' 时,同样的代码会使用Mock数据
|
||
* // 实际调用: mockData.login({ matchCode, inviteCode })
|
||
* // 无网络请求,返回本地Mock数据
|
||
*/
|
||
|
||
/**
|
||
* 后端开发者注意事项:
|
||
*
|
||
* 1. 需要实现的新接口(小程序专用):
|
||
* - POST /api/mini/login # 登录验证
|
||
* - GET /api/mini/athletes # 普通评委选手列表
|
||
* - GET /api/mini/athletes/admin # 主裁判选手列表
|
||
* - GET /api/mini/score/detail/{athleteId} # 评分详情
|
||
* - PUT /api/mini/score/modify # 修改评分
|
||
*
|
||
* 2. 可以复用的现有接口:
|
||
* - POST /martial/score/submit # 提交评分
|
||
* - GET /martial/venue/list # 场地列表
|
||
* - GET /martial/project/list # 项目列表
|
||
* - GET /martial/deductionItem/list # 扣分项列表
|
||
*
|
||
* 3. 响应格式统一为 BladeX 标准格式:
|
||
* {
|
||
* "code": 200,
|
||
* "success": true,
|
||
* "msg": "操作成功",
|
||
* "data": { ... }
|
||
* }
|
||
*
|
||
* 4. 请求头要求:
|
||
* - Content-Type: application/json
|
||
* - Blade-Auth: Bearer {token}
|
||
*
|
||
* 5. 建议创建专门的Controller:
|
||
* @RestController
|
||
* @RequestMapping("/api/mini")
|
||
* public class MartialMiniController {
|
||
* // 实现上述5个专用接口
|
||
* }
|
||
*/
|