Conf:请求库替换,移除之前的flyIo,改用luch-request
This commit is contained in:
+67
-36
@@ -1,38 +1,60 @@
|
||||
import Fly from "flyio/dist/npm/wx";
|
||||
import {handleLoginFailure} from "@/utils";
|
||||
import {VUE_APP_API_URL} from "@/config";
|
||||
import store from "@/store/index.js";
|
||||
import Request from "@/utils/luch-request/index.js";
|
||||
import cookie from "@/utils/store/cookie";
|
||||
import { handleLoginFailure } from "@/utils";
|
||||
import { VUE_APP_API_URL } from "@/config";
|
||||
|
||||
const fly = new Fly()
|
||||
fly.config.baseURL = VUE_APP_API_URL
|
||||
const http = new Request();
|
||||
/* 设置全局配置 */
|
||||
http.setConfig((config) => {
|
||||
config.baseURL = VUE_APP_API_URL;
|
||||
config.timeout = 2000;
|
||||
config.method = "POST";
|
||||
config.responseType = "text";
|
||||
config.header = {
|
||||
...config.header,
|
||||
};
|
||||
return config;
|
||||
});
|
||||
|
||||
fly.interceptors.response.use(
|
||||
response => {
|
||||
// 定时刷新access-token
|
||||
return response;
|
||||
},
|
||||
error => {
|
||||
if (error.toString() == 'Error: Network Error') {
|
||||
console.log('————————')
|
||||
console.log('发送请求失败', error)
|
||||
console.log('————————')
|
||||
handleLoginFailure();
|
||||
return Promise.reject({msg: "未登录", toLogin: true});
|
||||
} else if (error.status == 401) {
|
||||
console.log('————————')
|
||||
console.log('登录失效 401', error)
|
||||
console.log('————————')
|
||||
handleLoginFailure();
|
||||
return Promise.reject({msg: "未登录", toLogin: true});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: '服务开小差了,请稍后再试',
|
||||
icon: 'none',
|
||||
duration: 3000
|
||||
})
|
||||
}
|
||||
return Promise.reject(error);
|
||||
|
||||
// /* 请求之前拦截器 */
|
||||
http.interceptors.request.use((config, cancel) => {
|
||||
const token = cookie.get('login_status');
|
||||
config.header = {
|
||||
...config.header,
|
||||
Authorization: token ? ('Bearer ' + token) : ''
|
||||
}
|
||||
return config;
|
||||
});
|
||||
|
||||
// 必须使用异步函数,注意
|
||||
http.interceptors.response.use(
|
||||
(response) => {
|
||||
return response;
|
||||
},
|
||||
(err) => {
|
||||
if (error.toString() == "Error: Network Error") {
|
||||
console.log("————————");
|
||||
console.log("发送请求失败", error);
|
||||
console.log("————————");
|
||||
handleLoginFailure();
|
||||
return Promise.reject({ msg: "未登录", toLogin: true });
|
||||
} else if (error.status == 401) {
|
||||
console.log("————————");
|
||||
console.log("登录失效 401", error);
|
||||
console.log("————————");
|
||||
handleLoginFailure();
|
||||
return Promise.reject({ msg: "未登录", toLogin: true });
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "服务开小差了,请稍后再试",
|
||||
icon: "none",
|
||||
duration: 3000,
|
||||
});
|
||||
}
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
const defaultOpt = {login: true};
|
||||
@@ -51,13 +73,22 @@ function baseRequest(options) {
|
||||
|
||||
// 结构请求需要的参数
|
||||
const {url, params, data, login, ...option} = options
|
||||
console.log(params, '=====params');
|
||||
console.log(params, '=====data');
|
||||
console.log(option, '=======option');
|
||||
let _params = {}
|
||||
if(['get', 'GET'].includes(options.method)) {
|
||||
_params = {
|
||||
params: params
|
||||
}
|
||||
} else if (['post', 'POST'].includes(options.method)) {
|
||||
_params = params || data
|
||||
}
|
||||
|
||||
// 发起请求
|
||||
return fly.request(url, params || data, {
|
||||
...option
|
||||
}).then(res => {
|
||||
return http[options.method](url, _params).then(res => {
|
||||
const resData = res.data || {};
|
||||
if (res.status !== 200) {
|
||||
if (res.statusCode !== 200) {
|
||||
return Promise.reject({msg: "请求失败", res, resData});
|
||||
}
|
||||
if ([401, 403].indexOf(resData.status) !== -1) {
|
||||
@@ -117,4 +148,4 @@ const request = ["post", "put", "patch"].reduce((request, method) => {
|
||||
};
|
||||
});
|
||||
|
||||
export default request;
|
||||
export default request
|
||||
|
||||
Reference in New Issue
Block a user