|
@@ -6,7 +6,7 @@ import { tansParams, blobValidate } from '@/utils/ruoyi'
|
|
|
import cache from '@/utils/cache'
|
|
|
import { showLoadingToast, closeToast,showNotify,showFailToast } from 'vant';
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
-
|
|
|
+import CryptoJS from 'crypto-js'
|
|
|
|
|
|
export let isRelogin = { show: false };
|
|
|
import 'vant/lib/index.css'
|
|
@@ -17,15 +17,36 @@ const service = axios.create({
|
|
|
|
|
|
timeout: 10000
|
|
|
})
|
|
|
-
|
|
|
+function generateRandomString(length) {
|
|
|
+ var result = '';
|
|
|
+ var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
|
+ var charactersLength = characters.length;
|
|
|
+ for (var i = 0; i < length; i++) {
|
|
|
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
|
|
|
service.interceptors.request.use(config => {
|
|
|
|
|
|
const isToken = (config.headers || {}).isToken === false
|
|
|
|
|
|
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
|
|
|
- if ( getToken() || !isToken) {
|
|
|
- config.headers['Authorization'] = 'Bearer ' + getToken()
|
|
|
+ if (getToken() && !isToken) {
|
|
|
+
|
|
|
+ let randomNumber = generateRandomString(20)
|
|
|
+
|
|
|
+ let data = getToken() + new Date().getTime() + randomNumber;
|
|
|
+
|
|
|
+
|
|
|
+ let key = CryptoJS.enc.Utf8.parse('N[9f%2gKyo7(GNv3');
|
|
|
+
|
|
|
+ let encrypted = CryptoJS.AES.encrypt(data, key, {
|
|
|
+ mode: CryptoJS.mode.ECB,
|
|
|
+ padding: CryptoJS.pad.Pkcs7
|
|
|
+ });
|
|
|
+ config.headers['Authorization'] = encrypted
|
|
|
+ config.headers['randomNumber'] = randomNumber
|
|
|
}
|
|
|
if (config.url === 'https://winfaster.obs.cn-south-1.myhuaweicloud.com') {
|
|
|
config.headers['Content-Type'] = 'multipart/form-data'
|