| | |
| | | import axios from 'axios'; |
| | | import store from '@/store/'; |
| | | import router from '@/router/'; |
| | | import { serialize } from '@/utils/util'; |
| | | import { getToken, removeToken, removeRefreshToken } from '@/utils/auth'; |
| | | import { isURL, validatenull } from '@/utils/validate'; |
| | | import { ElMessage } from 'element-plus'; |
| | | import { |
| | | serialize |
| | | } from '@/utils/util'; |
| | | import { |
| | | getToken, |
| | | removeToken, |
| | | removeRefreshToken |
| | | } from '@/utils/auth'; |
| | | import { |
| | | isURL, |
| | | validatenull |
| | | } from '@/utils/validate'; |
| | | import { |
| | | ElMessage |
| | | } from 'element-plus'; |
| | | import website from '@/config/website'; |
| | | import NProgress from 'nprogress'; // progress bar |
| | | import 'nprogress/nprogress.css'; // progress bar style |
| | | import { Base64 } from 'js-base64'; |
| | | import { baseUrl } from '@/config/env'; |
| | | import { |
| | | Base64 |
| | | } from 'js-base64'; |
| | | import { |
| | | baseUrl |
| | | } from '@/config/env'; |
| | | import crypto from '@/utils/crypto'; |
| | | |
| | | // 全局未授权错误提示状态,只提示一次 |
| | |
| | | const cryptoData = config.cryptoData === true; |
| | | const token = getToken(); |
| | | if (token && !isToken) { |
| | | config.headers[website.tokenHeader] = cryptoToken |
| | | ? 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) |
| | | : 'bearer ' + token; |
| | | config.headers[website.tokenHeader] = cryptoToken ? |
| | | 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) : |
| | | 'bearer ' + token; |
| | | } |
| | | // 开启报文加密 |
| | | // if (cryptoData) { |
| | |
| | | // 获取刷新后的token |
| | | const token = getToken(); |
| | | if (token && !isToken) { |
| | | config.headers[website.tokenHeader] = cryptoToken |
| | | ? 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) |
| | | : 'bearer ' + token; |
| | | config.headers[website.tokenHeader] = cryptoToken ? |
| | | 'crypto ' + crypto.encryptAES(token, crypto.cryptoKey) : |
| | | 'bearer ' + token; |
| | | } |
| | | // 重新发送原来的请求 |
| | | return axios(config); |
| | |
| | | if (!isErrorShown) { |
| | | isErrorShown = true; |
| | | ElMessage({ |
| | | message: '用户令牌过期,请重新登录', |
| | | message: message, |
| | | type: 'error', |
| | | }); |
| | | } |
| | |
| | | removeToken(); |
| | | removeRefreshToken(); |
| | | // 重定向到登录页 |
| | | store.dispatch('FedLogOut').then(() => router.push({ path: '/login' })); |
| | | store.dispatch('FedLogOut').then(() => router.push({ |
| | | path: '/login' |
| | | })); |
| | | return Promise.reject(new Error(message)); |
| | | }); |
| | | } |
| | |
| | | removeToken(); |
| | | removeRefreshToken(); |
| | | // 重定向到登录页 |
| | | store.dispatch('FedLogOut').then(() => router.push({ path: '/login' })); |
| | | store.dispatch('FedLogOut').then(() => router.push({ |
| | | path: '/login' |
| | | })); |
| | | return Promise.reject(new Error(message)); |
| | | } |
| | | // 如果请求为oauth2错误码则首次报错时提示 |
| | |
| | | } |
| | | // 如果请求为非200默认统一处理 |
| | | if (status !== 200) { |
| | | if (!isErrorShown) { |
| | | ElMessage({ |
| | | message: message, |
| | | type: 'error', |
| | | }); |
| | | } |
| | | return Promise.reject(new Error(message)); |
| | | } |
| | | // 解析加密报文 |