From 9f70d557de19cdea79e25b28f5765c580ed2fd10 Mon Sep 17 00:00:00 2001 From: fengerli <528575642@qq.com> Date: Mon, 7 Jul 2025 11:12:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85=E8=AF=B7=E6=B1=82=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/request.js | 52 +++++++++--------------------------------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/utils/request.js b/utils/request.js index a8fb59d..7c5f2a3 100644 --- a/utils/request.js +++ b/utils/request.js @@ -1,26 +1,18 @@ import axios from 'axios' -// 如果使用 Vuex 且需要 token,请取消注释 -// import store from '@/store' -// 示例:如果你有身份验证相关的工具函数 -// import { getToken } from '@/utils/auth' - +const BASE_URL = 'http://192.168.2.23:8000' // 创建 Axios 实例 const service = axios.create({ - // 重要:请在此处配置你的 API 基础 URL - // 你可以从环境变量或配置文件中获取 - baseURL: process.env.VUE_APP_BASE_API || '/api', // 示例基础 URL - timeout: 10000 // 请求超时时间 (毫秒) + baseURL: BASE_URL, + timeout: 10000 }) - // 请求拦截器 service.interceptors.request.use( config => { - // 如果需要,添加 Authorization 请求头 - // 示例:检查用户是否登录(例如,通过 Vuex store 或 auth 工具函数) - // if (store.getters.token) { - // // 根据你的认证方案调整 - // config.headers['Authorization'] = 'Bearer ' + getToken() - // } + console.log('Full Request URL:', config.baseURL + config.url) + const token = uni.getStorageSync('token') + if (token) { + config.headers['Authorization'] = 'Bearer ' + token + } config.headers['Content-Type'] = config.headers['Content-Type'] || 'application/json'; return config }, @@ -30,43 +22,17 @@ service.interceptors.request.use( return Promise.reject(error) } ) - // 响应拦截器 service.interceptors.response.use( - /** - * 如果你想获取诸如头信息或状态之类的http信息 - * 请返回 response => response - */ - - /** - * 通过自定义代码确定请求状态 - * 这里只是一个例子 - * 你也可以通过HTTP状态码判断状态 - */ response => { const res = response.data - // 示例:根据你的后端响应结构调整此部分 - // 如果自定义状态码不是 200 (或你的成功状态码),则判断为错误。 - if (res.code !== 200 && res.code !== 0) { // 假设 200 或 0 表示成功 - // 你可以在此添加全局错误处理,例如显示提示消息 - // uni.showToast({ title: res.message || '错误', icon: 'none' }); console.error('API Error:', res.message || 'Error') - - // 示例:处理特定的错误代码,例如未授权 (401) - // if (res.code === 401) { - // // 例如:重定向到登录页面 - // } return Promise.reject(new Error(res.message || 'Error')) } else { - // 如果成功,则返回响应的数据部分 - // 如果后端没有将数据包装在 'data' 字段中,请调整此项 - return res.data + return res } }, error => { - console.error('Response Error:', error.message) // 用于调试 - // 处理网络错误或其他错误 - // uni.showToast({ title: error.message, icon: 'none' }); return Promise.reject(error) } )