/*
|
* @Description:
|
* @Author: 王旭
|
* @Date: 2022-03-03 15:10:54
|
* @LastEditTime: 2022-04-13 15:19:08
|
* @LastEditors: 王旭
|
*/
|
import axios from "axios";
|
import { ElMessage, ElLoading } from "element-plus";
|
import router from "@/router/index";
|
|
import { getToken } from "@/utils/auth";
|
// import config from "../../public/config/config.js";
|
// create an axios instance
|
const service = axios.create({
|
baseURL: config.BASE_URL, // api的base_url
|
timeout: -1, // 请求超时时间
|
// headers: {
|
// "content-type": "application/json;charset=UTF-8",
|
// },
|
// withCredentials: true,
|
});
|
// console.log(store);
|
// request interceptor
|
service.interceptors.request.use(
|
(config) => {
|
//请求携带token
|
var token = getToken();
|
|
if (token) {
|
config.headers["token"] = getToken();
|
}
|
//加载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) => {
|
// store.commit("UPDATE_API_COUNT", "sub");
|
// 报错提示
|
if (response.data.code !== 200) {
|
// ElMessage.error(response.data.msg);
|
}
|
if (getToken()) {
|
if (response.data.code !== 200 && response.data.msg == "用户未登录") {
|
ElMessage.error("登录过期,请重新登录");
|
router.push({ path: "/login" });
|
}
|
}
|
|
return response.data;
|
},
|
(error) => {
|
// store.commit("UPDATE_API_COUNT", "sub");
|
ElMessage({
|
message: error.message,
|
type: "error",
|
duration: 5 * 1000,
|
});
|
return Promise.reject(error);
|
}
|
);
|
|
export default service;
|