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