🐛 修复的问题: 1. 切换 dataMode 从 'mock' 改为 'api' 2. 修复所有GET请求使用 params 而不是 data - api/athlete.js: getMyAthletes, getAthletesForAdmin, getVenues, getProjects - api/score.js: getDeductions 3. 修复 utils/request.js 支持 params 参数 - GET 请求使用 params 作为查询参数 - POST/PUT/DELETE 请求使用 data 作为请求体 ✅ 现在可以正确调用后端API接口 📋 测试步骤: 1. 确保后端服务运行在 http://localhost:8080 2. 刷新小程序页面 3. 查看控制台调试信息 4. 验证接口调用 Co-Authored-By: Claude <noreply@anthropic.com>
166 lines
3.4 KiB
JavaScript
166 lines
3.4 KiB
JavaScript
/**
|
|
* API接口 - 评分模块
|
|
* 真实后端接口调用(需要后端实现)
|
|
*/
|
|
|
|
import request from '@/utils/request.js'
|
|
|
|
/**
|
|
* 获取扣分项列表
|
|
* @param {Object} params
|
|
* @param {String} params.projectId - 项目ID
|
|
* @returns {Promise}
|
|
*/
|
|
export function getDeductions(params) {
|
|
return request({
|
|
url: '/martial/deductionItem/list',
|
|
method: 'GET',
|
|
params: {
|
|
...params,
|
|
current: 1,
|
|
size: 100
|
|
}
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 提交评分
|
|
* @param {Object} data
|
|
* @param {String} data.athleteId - 选手ID
|
|
* @param {String} data.judgeId - 评委ID
|
|
* @param {Number} data.score - 评分
|
|
* @param {Array} data.deductions - 扣分项
|
|
* @param {String} data.note - 备注
|
|
* @returns {Promise}
|
|
*/
|
|
export function submitScore(data) {
|
|
return request({
|
|
url: '/martial/score/submit',
|
|
method: 'POST',
|
|
data,
|
|
showLoading: true,
|
|
loadingText: '提交中...'
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 获取评分详情(裁判长查看)
|
|
* @param {Object} params
|
|
* @param {String} params.athleteId - 选手ID
|
|
* @returns {Promise}
|
|
*
|
|
* 注意:此接口需要后端实现
|
|
* 建议路径: GET /api/mini/score/detail/{athleteId}
|
|
*/
|
|
export function getScoreDetail(params) {
|
|
return request({
|
|
url: `/api/mini/score/detail/${params.athleteId}`,
|
|
method: 'GET',
|
|
showLoading: true
|
|
})
|
|
}
|
|
|
|
/**
|
|
* 修改评分(裁判长)
|
|
* @param {Object} data
|
|
* @param {String} data.athleteId - 选手ID
|
|
* @param {String} data.modifierId - 修改人ID
|
|
* @param {Number} data.modifiedScore - 修改后的分数
|
|
* @param {String} data.note - 修改原因
|
|
* @returns {Promise}
|
|
*
|
|
* 注意:此接口需要后端实现
|
|
* 建议路径: PUT /api/mini/score/modify
|
|
*/
|
|
export function modifyScore(data) {
|
|
return request({
|
|
url: '/api/mini/score/modify',
|
|
method: 'PUT',
|
|
data,
|
|
showLoading: true,
|
|
loadingText: '修改中...'
|
|
})
|
|
}
|
|
|
|
export default {
|
|
getDeductions,
|
|
submitScore,
|
|
getScoreDetail,
|
|
modifyScore
|
|
}
|
|
|
|
/**
|
|
* 后端接口规范(待实现):
|
|
*
|
|
* 1. GET /api/mini/score/detail/{athleteId}
|
|
*
|
|
* 响应:
|
|
* {
|
|
* "code": 200,
|
|
* "success": true,
|
|
* "msg": "操作成功",
|
|
* "data": {
|
|
* "athleteInfo": {
|
|
* "athleteId": "1",
|
|
* "name": "张三",
|
|
* "idCard": "123456789000000000",
|
|
* "team": "少林寺武术大学院",
|
|
* "number": "123-4567898275",
|
|
* "totalScore": 8.907
|
|
* },
|
|
* "judgeScores": [
|
|
* {
|
|
* "judgeId": "1",
|
|
* "judgeName": "欧阳丽娜",
|
|
* "score": 8.907,
|
|
* "scoreTime": "2025-06-25 09:15:00",
|
|
* "note": ""
|
|
* }
|
|
* ],
|
|
* "modification": null
|
|
* }
|
|
* }
|
|
*
|
|
* SQL示例:
|
|
* SELECT
|
|
* s.judge_id AS judgeId,
|
|
* s.judge_name AS judgeName,
|
|
* s.score,
|
|
* s.score_time AS scoreTime,
|
|
* s.note
|
|
* FROM martial_score s
|
|
* WHERE s.athlete_id = #{athleteId}
|
|
* ORDER BY s.score_time ASC
|
|
*
|
|
* ---
|
|
*
|
|
* 2. PUT /api/mini/score/modify
|
|
*
|
|
* 请求:
|
|
* {
|
|
* "athleteId": "1",
|
|
* "modifierId": "789",
|
|
* "modifiedScore": 8.910,
|
|
* "note": "修改原因"
|
|
* }
|
|
*
|
|
* 响应:
|
|
* {
|
|
* "code": 200,
|
|
* "success": true,
|
|
* "msg": "修改成功",
|
|
* "data": {
|
|
* "athleteId": "1",
|
|
* "originalScore": 8.907,
|
|
* "modifiedScore": 8.910,
|
|
* "modifyTime": "2025-06-25 10:00:00"
|
|
* }
|
|
* }
|
|
*
|
|
* 实现逻辑:
|
|
* 1. 验证权限(只有裁判长可以修改)
|
|
* 2. 保存 originalScore(如果是第一次修改)
|
|
* 3. 更新 totalScore
|
|
* 4. 记录 modifyReason 和 modifyTime
|
|
*/
|