From 6d42c4a5ed2c937b2ea0200b881d1f72629aeb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Thu, 11 Dec 2025 18:58:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DAPI=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=92=8CGET=E8=AF=B7=E6=B1=82=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🐛 修复的问题: 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 --- api/athlete.js | 8 ++++---- api/score.js | 2 +- config/env.config.js | 2 +- utils/request.js | 11 ++++++++--- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/api/athlete.js b/api/athlete.js index fad6e2d..a8459de 100644 --- a/api/athlete.js +++ b/api/athlete.js @@ -20,7 +20,7 @@ export function getMyAthletes(params) { return request({ url: '/api/mini/athletes', method: 'GET', - data: params, + params: params, // GET 请求使用 params showLoading: true }) } @@ -40,7 +40,7 @@ export function getAthletesForAdmin(params) { return request({ url: '/api/mini/athletes/admin', method: 'GET', - data: params, + params: params, // GET 请求使用 params showLoading: true }) } @@ -55,7 +55,7 @@ export function getVenues(params) { return request({ url: '/martial/venue/list', method: 'GET', - data: { + params: { ...params, current: 1, size: 100 @@ -73,7 +73,7 @@ export function getProjects(params) { return request({ url: '/martial/project/list', method: 'GET', - data: { + params: { ...params, current: 1, size: 100 diff --git a/api/score.js b/api/score.js index e554c35..6fbc6fe 100644 --- a/api/score.js +++ b/api/score.js @@ -15,7 +15,7 @@ export function getDeductions(params) { return request({ url: '/martial/deductionItem/list', method: 'GET', - data: { + params: { ...params, current: 1, size: 100 diff --git a/config/env.config.js b/config/env.config.js index 3697f22..d6d5c3e 100644 --- a/config/env.config.js +++ b/config/env.config.js @@ -14,7 +14,7 @@ const ENV_CONFIG = { // 数据模式: 'mock' | 'api' // mock - 使用本地Mock数据(保护UI版本) // api - 调用真实后端接口 - dataMode: 'mock', + dataMode: 'api', // API基础路径(dataMode为'api'时使用) apiBaseURL: 'http://localhost:8080', diff --git a/utils/request.js b/utils/request.js index b1ab70d..e6d5077 100644 --- a/utils/request.js +++ b/utils/request.js @@ -33,7 +33,8 @@ function getHeaders(customHeader = {}) { * @param {Object} options 请求配置 * @param {String} options.url 请求路径(不含baseURL) * @param {String} options.method 请求方法(GET/POST/PUT/DELETE) - * @param {Object} options.data 请求数据 + * @param {Object} options.data 请求数据(POST/PUT使用) + * @param {Object} options.params 查询参数(GET使用) * @param {Object} options.header 自定义请求头 * @param {Boolean} options.showLoading 是否显示Loading * @param {String} options.loadingText Loading文本 @@ -44,6 +45,7 @@ function request(options = {}) { url = '', method = 'GET', data = {}, + params = {}, header = {}, showLoading = false, loadingText = '加载中...' @@ -59,14 +61,17 @@ function request(options = {}) { // 打印调试信息 if (config.debug) { - console.log(`[API请求] ${method} ${url}`, data) + console.log(`[API请求] ${method} ${url}`, method === 'GET' ? params : data) } + // 对于 GET 请求,使用 params 作为查询参数 + const requestData = method === 'GET' ? params : data + return new Promise((resolve, reject) => { uni.request({ url: config.apiBaseURL + url, method, - data, + data: requestData, header: getHeaders(header), timeout: config.timeout, success: (res) => {