Files
martial-admin-mini/api/index.js
DevOps a3680f7d3e refactor: 裁判角色名称修改 - 裁判长→主裁判, 普通裁判→裁判员
- 修改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>
2025-12-27 11:37:50 +08:00

159 lines
4.1 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接口中心
* 所有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个专用接口
* }
*/