| | |
| | | import axios from 'axios'; |
| | | import { ElMessage, ElMessageBox } from 'element-plus'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { Session } from '/@/utils/storage'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import {storeToRefs} from "pinia"; |
| | | import JSONbig from 'json-bigint' |
| | | import JSONbig from 'json-bigint'; |
| | | |
| | | // var jsonBig = require('json-bigint')({ "storeAsString": true }); |
| | | // 配置新建一个 axios 实例 |
| | | const service = axios.create({ |
| | | baseURL: import.meta.env.VITE_API_URL as any, |
| | | timeout: 50000, |
| | | headers: { 'Content-Type': 'application/json' }, |
| | | headers: { 'Content-Type': 'application/json' } |
| | | }); |
| | | |
| | | service.interceptors.request.use( |
| | | (config) => { |
| | | // 在发送请求之前做些什么 token |
| | | if (Session.get('token')) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | (<any>config.headers).common['Authorization'] = `${Session.get('token')}`; |
| | | (<any>config.headers).common['uid'] = `${Session.get('uid')}`; |
| | | } |
| | |
| | | |
| | | service.defaults.transformResponse = [ |
| | | function(data) { |
| | | |
| | | try { |
| | | // 正常同通过return JSON.parse(data)对数据进行转换 |
| | | // 但是转化完成的数据可能超出安全数据长度 |
| | | // 因此我们定制使用第三包来转化 |
| | | return JSONbig.parse(data) |
| | | return JSONbig.parse(data); |
| | | } catch (err) { |
| | | console.log(err); |
| | | // 转换失败返回一个空对象 |
| | | return {} |
| | | return {}; |
| | | } |
| | | } |
| | | ] |
| | | ]; |
| | | |
| | | service.interceptors.response.use( |
| | | |
| | | (response) => { |
| | | // 对响应数据做点什么 |
| | | if(response.data.code && (response.data.code ==='A0215' || response.data.code === 'A0214' || response.data.code === 'A0213')){ |
| | | Session.clear() |
| | | window.location.href = '/' |
| | | return Promise.reject(response) |
| | | Session.clear(); |
| | | window.location.href = '/'; |
| | | return Promise.reject(response); |
| | | } |
| | | // if(response.data.code && response.data.code !== '200'){ |
| | | return Promise.resolve(response) |
| | | return Promise.resolve(response); |
| | | // } |
| | | // Session.clear() |
| | | // window.location.href = '/' |