迁移版本
This commit is contained in:
70
api/request.js
Normal file
70
api/request.js
Normal file
@@ -0,0 +1,70 @@
|
||||
import {
|
||||
runRequestInterceptors,
|
||||
runResponseInterceptors,
|
||||
globalConfig
|
||||
} from './interceptor.js';
|
||||
// import * as uni from "@/api/request"; // 原错误导入保留供参考
|
||||
|
||||
// 基础请求方法
|
||||
export function request(options) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
try {
|
||||
// 合并全局配置
|
||||
const mergedConfig = {
|
||||
...globalConfig,
|
||||
...options,
|
||||
header: { ...globalConfig.header, ...(options.header || {}) }
|
||||
};
|
||||
|
||||
// 执行请求拦截器
|
||||
let finalConfig;
|
||||
try {
|
||||
finalConfig = await runRequestInterceptors(mergedConfig);
|
||||
} catch (err) {
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
if (!finalConfig.url) {
|
||||
return reject(new Error('URL is required'));
|
||||
}
|
||||
|
||||
// 发起请求(修复点:移除多余的await)
|
||||
uni.request({
|
||||
...finalConfig,
|
||||
url: finalConfig.baseURL + finalConfig.url,
|
||||
success: async (res) => {
|
||||
try {
|
||||
const handledRes = await runResponseInterceptors(res);
|
||||
// console.log(handledRes, 'ssssssssssssssss'); // 保留调试日志
|
||||
resolve(handledRes);
|
||||
} catch (err) {
|
||||
reject(err);
|
||||
}
|
||||
},
|
||||
fail: (err) => reject(err)
|
||||
});
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 封装GET方法(保持async/await结构)
|
||||
export async function get(url, params = {}, options = {}) {
|
||||
return await request({
|
||||
url,
|
||||
method: 'GET',
|
||||
data: params,
|
||||
...options
|
||||
});
|
||||
}
|
||||
|
||||
// 封装POST方法(保持async/await结构)
|
||||
export async function post(url, data = {}, options = {}) {
|
||||
return await request({
|
||||
url,
|
||||
method: 'POST',
|
||||
data,
|
||||
...options
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user