import axios from "axios"; import { ElMessage } from "element-plus"; import router from "@/router/index"; import { localSet, localGet, localRemove } from "./index"; import config from "~/config"; import { response } from '../proto/data/pd'; axios.defaults.baseURL = config[ import.meta.env.MODE].baseUrl; axios.defaults.withCredentials = true; // 请求头,headers 信息 axios.defaults.headers["X-Requested-With"] = "XMLHttpRequest"; axios.interceptors.request.use( (req) => { req.headers["cdcm"] = localGet("token"); return req; } ); axios.interceptors.response.use( (res) => { const token = res.headers["token"] // 如果token不为空,就缓存到本地 if (typeof (token) != "undefined") { localSet("token", token); } const ret = response.decode(new Uint8Array(res.data)); // token过期 if (ret.code === 2003) { localRemove("token"); ElMessage.closeAll(); ElMessage.error(ret.msg + "[" + new TextDecoder().decode(res.data) + "]" || "Token异常,请重新登录"); router.push({ path: "/login" }); return Promise.reject(ret); } return ret }, (error) => { ElMessage.closeAll(); ElMessage.error(error); router.push({ path: "/login" }); return Promise.reject(error); } ); // post请求 export function postPBRequest(url, params, actionNum) { return axios({ method: "post", url: url, data: params, responseType: 'arraybuffer', headers: { "action": actionNum, }, }); }