From fd285d6245ddd54c2eef8237eb878f573d665f94 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期四, 07 七月 2022 18:27:39 +0800 Subject: [PATCH] lct --- src/utils/request.ts | 130 ++++++++++++++++++++---------------------- 1 files changed, 62 insertions(+), 68 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index 16c6f38..c1b68b5 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,94 +1,88 @@ 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' }, + baseURL: import.meta.env.VITE_API_URL as any, + timeout: 50000, + 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')}`; - } - return config; - }, - (error) => { - // 对请求错误做些什么 - return Promise.reject(error); - } + (config) => { + // 在发送请求之前做些什么 token + if (Session.get('token')) { + (<any>config.headers).common['Authorization'] = `${Session.get('token')}`; + (<any>config.headers).common['uid'] = `${Session.get('uid')}`; + } + return config; + }, + (error) => { + // 对请求错误做些什么 + return Promise.reject(error); + } ); service.defaults.transformResponse = [ - function(data) { - + 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) - } - // if(response.data.code && response.data.code !== '200'){ - return Promise.resolve(response) - // } - // Session.clear() - // window.location.href = '/' - // return Promise.reject(response) - // const res = response.data; - // debugger - // if (res.code && res.code !== 0) { - // // `token` 过期或者账号已在别处登录 - // if (res.code === 401 || res.code === 4001) { - // Session.clear(); // 清除浏览器全部临时缓存 - // window.location.href = '/'; // 去登录页 - // ElMessageBox.alert('你已被登出,请重新登录', '提示', {}) - // .then(() => {}) - // .catch(() => {}); - // } - // return Promise.reject(service.interceptors.response); - // } else { - // return response.data; - // } - }, - (error) => { - // 对响应错误做点什么 - if (error.message.indexOf('timeout') != -1) { - ElMessage.error('网络超时'); - } else if (error.message == 'Network Error') { - ElMessage.error('网络连接错误'); - } else { - if (error.response.data) ElMessage.error(error.response.statusText); - else ElMessage.error('接口路径找不到'); - } - return Promise.reject(error); - } + (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); + } + // if(response.data.code && response.data.code !== '200'){ + return Promise.resolve(response); + // } + // Session.clear() + // window.location.href = '/' + // return Promise.reject(response) + // const res = response.data; + // debugger + // if (res.code && res.code !== 0) { + // // `token` 过期或者账号已在别处登录 + // if (res.code === 401 || res.code === 4001) { + // Session.clear(); // 清除浏览器全部临时缓存 + // window.location.href = '/'; // 去登录页 + // ElMessageBox.alert('你已被登出,请重新登录', '提示', {}) + // .then(() => {}) + // .catch(() => {}); + // } + // return Promise.reject(service.interceptors.response); + // } else { + // return response.data; + // } + }, + (error) => { + // 对响应错误做点什么 + if (error.message.indexOf('timeout') != -1) { + ElMessage.error('网络超时'); + } else if (error.message == 'Network Error') { + ElMessage.error('网络连接错误'); + } else { + if (error.response.data) ElMessage.error(error.response.statusText); + else ElMessage.error('接口路径找不到'); + } + return Promise.reject(error); + } ); export default service; -- Gitblit v1.9.2