/*
|
* @Description:
|
* @Author: 王旭
|
* @Date: 2022-03-03 15:10:54
|
* @LastEditTime: 2022-03-08 17:40:02
|
* @LastEditors: 王旭
|
*/
|
import axios from "axios";
|
import { Message } from "element-ui";
|
import store from "@/store";
|
import { getToken } from "@/utils/auth";
|
import router from "../router"
|
// create an axios instance
|
const service = axios.create({
|
baseURL: BASE_URL, // api的base_url
|
timeout: 35000, // 请求超时时间
|
headers: {
|
"content-type": "application/json;charset=UTF-8",
|
},
|
// withCredentials: true,
|
});
|
|
// request interceptor
|
service.interceptors.request.use(
|
(config) => {
|
// 请求携带token
|
let token = getToken();
|
if (token) {
|
config.headers["token"] = token;
|
}
|
//加载loading
|
store.commit("UPDATE_API_COUNT", "add");
|
return config;
|
},
|
(error) => {
|
//减去loading
|
store.commit("UPDATE_API_COUNT", "sub");
|
console.log(error); // for debug
|
return Promise.reject(error);
|
}
|
); service.interceptors.response.use(
|
(response) => {
|
// if (window.localStorage.getItem("LFToken") != null) {
|
// var expire = JSON.parse(window.localStorage.getItem("LFToken")).expire;
|
// var timeire = new Date().getTime();
|
// console.log(timeire, expire)
|
// if (timeire >= expire) {
|
|
// router.push('/login')
|
// localStorage.removeItem("LFToken");
|
// }
|
// }
|
|
|
store.commit("UPDATE_LISTEN_TIME", response.data.time);
|
|
store.commit("UPDATE_API_COUNT", "sub");
|
//console.log(response)
|
//返回因有ResponeType===Blob ,分开处理
|
if (Object.prototype.toString.call(response.data).indexOf("Blob") > -1) {
|
let reader = new FileReader()
|
reader.onload = function (e) {
|
{
|
try {
|
let str = this.result.toString();
|
let res = JSON.parse(str);
|
if (res.code != null) {
|
if (res.code !== 200) {
|
Message.error(res.msg);
|
}
|
}
|
|
} catch { }
|
}
|
}
|
reader.readAsText(response.data, "utf-8");
|
} else {
|
if (response.data.code !== 200) {
|
// Message.error(response.data.msg);
|
}
|
}// 报错提示
|
return response.data;
|
},
|
(error) => {
|
store.commit("UPDATE_API_COUNT", "sub");
|
const { status, data } = error.response;
|
//返回因有ResponeType===Blob ,分开处理
|
if (Object.prototype.toString.call(data).indexOf("Blob") > -1) {
|
let reader = new FileReader()
|
reader.onload = function (e) {
|
{
|
let str = this.result.toString();
|
let res = JSON.parse(str);
|
|
Message({
|
message: res.message,
|
type: "error",
|
duration: 5 * 1000,
|
});
|
}
|
}
|
reader.readAsText(data, "utf-8");
|
} else {
|
Message({
|
message: data.message,
|
type: "error",
|
duration: 5 * 1000,
|
});
|
}
|
return Promise.reject(error);
|
}
|
);
|
|
|
export default service;
|