/* * @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: 35000, // 请求超时时间 // 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;