daikins/.svn/pristine/36/3667f0c34db2324f275b2c4be73...

57 lines
1.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import createAxios from "./axios";
import { token } from "@/stores/modules/user";
import { message } from "./message";
const TOKEN_KEY = "token";
const APP_KEY = "appid";
const API_PREFIX = "";
// 请求拦截
const beforeRequest = (config: any) => {
// =====》 token 逻辑自定义处理
console.log("token 逻辑自定义处理")
// if (APP_ID) config.headers[APP_KEY] = APP_ID
if (token) config.headers[TOKEN_KEY] = unref(token);
};
// 响应拦截
const afterResponse = async (response: any) => {
const { data, status } = response;
if (data instanceof Blob) {
const fileName = response.headers["content-disposition"]
?.split(";")[1]
?.split("=")[1];
return {
data,
fileName,
};
}
const { errCode, code, msg } = data || {};
const errMsg = data?.errMsg || data?.message || msg;
console.log(11, code, errMsg)
// // =====》 自定义业务状态处理
// const app = Vue.prototype.getApp();
// if (code === 10005) {
// // await logout()
// }
if (![0, 200].includes(code)) {
message.error(errMsg);
return Promise.reject(errMsg);
}
if (/^[4|5].*/.test(code || errCode || status)) {
console.error('> axios(interceptors.response): ', errMsg);
message.error(errMsg);
// 处理未登录token过期等 情况
// if (code !== 404 && /^[4].*/.test(code || errCode || status)) {
// await app.fedLogout();
// }
return Promise.reject(data);
}
return data;
};
export default createAxios