From f064f30c91750ae7ffb912e47bca5f9dbc143c8b Mon Sep 17 00:00:00 2001 From: Admin <978517621@qq.com> Date: 星期二, 16 八月 2022 16:02:21 +0800 Subject: [PATCH] Default Changelist --- src/utils/request.ts | 49 +++++++++++++++++++++++++++++++++++++------------ 1 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index c1b68b5..ef709ab 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -1,22 +1,28 @@ import axios from 'axios'; -import { ElMessage } from 'element-plus'; -import { Session } from '/@/utils/storage'; +import { ElMessage, ElMessageBox } from 'element-plus'; import JSONbig from 'json-bigint'; +import Cookies from 'js-cookie'; +import {useLoginApi} from "/@/api/login"; +import { Session, } from '/@/utils/storage'; // var jsonBig = require('json-bigint')({ "storeAsString": true }); // 配置新建一个 axios 实例 const service = axios.create({ - baseURL: import.meta.env.VITE_API_URL as any, + // 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')) { - (<any>config.headers).common['Authorization'] = `${Session.get('token')}`; - (<any>config.headers).common['uid'] = `${Session.get('uid')}`; + for (let key in config.data) { + if (config.data[key] == '' && config.data[key] !== 0) { + config.data[key] = null; + } + } + if (Cookies.get('token')) { + (<any>config.headers).common['Authorization'] = `${Cookies.get('token')}`; + (<any>config.headers).common['uid'] = `${Cookies.get('uid')}`; } return config; }, @@ -44,10 +50,21 @@ 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 === 'A0213') { + ElMessage.error('用户uid不存在'); + setTimeout(() => { + Session.clear(); + window.location.href = '/'; + }, 1000); + } else if (response.data.code && response.data.code === 'A0215') { + ElMessage.error('token失效'); + // logOut; + useLoginApi().signOut().then(()=>{ + setTimeout(() => { + Session.clear(); + window.location.href = '/'; + }, 1000); + }) } // if(response.data.code && response.data.code !== '200'){ return Promise.resolve(response); @@ -75,10 +92,18 @@ // 对响应错误做点什么 if (error.message.indexOf('timeout') != -1) { ElMessage.error('网络超时'); + setTimeout(() => { + // Session.clear(); + window.location.href = '/'; + }, 1000); } else if (error.message == 'Network Error') { ElMessage.error('网络连接错误'); + // setTimeout(() => { + // Session.clear(); + // window.location.href = '/'; + // }, 1000); } else { - if (error.response.data) ElMessage.error(error.response.statusText); + if (error.response.data) ElMessage.error(error.response.data.error); else ElMessage.error('接口路径找不到'); } return Promise.reject(error); -- Gitblit v1.9.2