| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // src/utils/request.js
- import config from '@/config'
- const baseUrl = config.baseUrl
-
- const http = {
- get(url, params = {}, options = {}) {
- return this.request('GET', url, params, options)
- },
-
- post(url, data = {}, options = {}) {
- return this.request('POST', url, data, options)
- },
-
- request(method, url, data = {}, options = {}) {
- return new Promise((resolve, reject) => {
- // 确保URL以斜杠开头
- let finalUrl = url.startsWith('/') ? url : `/${url}`;
-
- // 特殊处理Java API请求
- if (url.startsWith('/java-api')) {
- finalUrl = url;
- }
- // 其他API添加前缀
- else if (!url.startsWith('http')) {
- finalUrl = '/api' + finalUrl;
- }
-
- const header = {
- 'Content-Type': 'application/json',
- ...(options.headers || {})
- }
-
- // 添加认证token
- const token = uni.getStorageSync('token')
- if (token) {
- header['Authorization'] = `Bearer ${token}`
- }
-
- uni.request({
- url: baseUrl + finalUrl,
- method,
- data,
- header,
- success: (res) => {
- // 统一处理成功响应
- if (res.statusCode >= 200 && res.statusCode < 300) {
- resolve(res.data)
- } else {
- // 尝试提取错误消息
- const errorMsg = res.data?.msg || res.data?.message || '请求失败';
- reject(new Error(errorMsg))
- }
- },
- fail: (err) => {
- reject(err)
- }
- })
- })
- }
- }
-
- // 确保正确导出
- export default http
|