mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2025-12-17 16:05:53 +08:00
修改token不刷新问题
This commit is contained in:
194
utils/tools.js
194
utils/tools.js
@@ -1,49 +1,3 @@
|
||||
import Foundation from '@/utils/Foundation.js';
|
||||
import {
|
||||
md5
|
||||
} from '@/utils/md5.js';
|
||||
import storage from "@/utils/storage.js";
|
||||
import store from "@/store/index.js";
|
||||
|
||||
// 重新整理一下config
|
||||
const configHandle = (config) => {
|
||||
// 'development', 'production'
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
const nonce = Foundation.randomString(6)
|
||||
const timestamp = parseInt(new Date().getTime() / 1000)
|
||||
const sign = md5( nonce + timestamp + storage.getAccessToken())
|
||||
if (config.url.indexOf('?') === -1) {
|
||||
config.url = `${config.url}?&nonce=${nonce}×tamp=${timestamp}&sign=${sign}`
|
||||
} else {
|
||||
let params = urlParse(config.url);
|
||||
console.info(params);
|
||||
let url = config.url.split('?')[0];
|
||||
params = { ...params,
|
||||
nonce,
|
||||
timestamp,
|
||||
sign
|
||||
};
|
||||
let str = '';
|
||||
for (var k in params) {
|
||||
console.info(k, params[k])
|
||||
str += '&' + k + '=' + params[k];
|
||||
}
|
||||
str = str.substr(1);
|
||||
config.url = `${url}?${str}`;
|
||||
}
|
||||
config.header = {
|
||||
...config.header,
|
||||
uuid: storage.getUuid()
|
||||
}
|
||||
} else {
|
||||
config.header = {
|
||||
...config.header,
|
||||
Authorization: storage.getAccessToken(),
|
||||
uuid: storage.getUuid()
|
||||
}
|
||||
}
|
||||
return config
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析url参数
|
||||
@@ -51,59 +5,59 @@ const configHandle = (config) => {
|
||||
* @return Object {id:12345,a:b}
|
||||
*/
|
||||
function urlParse(url) {
|
||||
let obj = {};
|
||||
let reg = /[?&][^?&]+=[^?&]+/g;
|
||||
let arr = url.match(reg);
|
||||
if (arr) {
|
||||
arr.forEach((item) => {
|
||||
let tempArr = item.substring(1).split('=');
|
||||
let key = decodeURIComponent(tempArr[0]);
|
||||
let val = decodeURIComponent(tempArr.splice(1).join('='));
|
||||
obj[key] = val;
|
||||
});
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
let obj = {};
|
||||
let reg = /[?&][^?&]+=[^?&]+/g;
|
||||
let arr = url.match(reg);
|
||||
if (arr) {
|
||||
arr.forEach((item) => {
|
||||
let tempArr = item.substring(1).split("=");
|
||||
let key = decodeURIComponent(tempArr[0]);
|
||||
let val = decodeURIComponent(tempArr.splice(1).join("="));
|
||||
obj[key] = val;
|
||||
});
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
const getNetworkType = () => {
|
||||
uni.getNetworkType({
|
||||
success: (res) => {
|
||||
if (res.networkType === 'none') {
|
||||
uni.showToast({
|
||||
title: '网络好像有点问题,请检查后重试!',
|
||||
duration: 2000,
|
||||
icon: 'none'
|
||||
});
|
||||
let pages = getCurrentPages();
|
||||
if (pages.length) {
|
||||
let route = pages[pages.length - 1].route;
|
||||
if (route !== 'pages/empty/empty') {
|
||||
uni.navigateTo({
|
||||
url: `/pages/empty/empty?type=wifi`
|
||||
})
|
||||
}
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
url: `/pages/empty/empty?type=wifi`
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
uni.getNetworkType({
|
||||
success: (res) => {
|
||||
if (res.networkType === "none") {
|
||||
uni.showToast({
|
||||
title: "网络好像有点问题,请检查后重试!",
|
||||
duration: 2000,
|
||||
icon: "none",
|
||||
});
|
||||
let pages = getCurrentPages();
|
||||
if (pages.length) {
|
||||
let route = pages[pages.length - 1].route;
|
||||
if (route !== "pages/empty/empty") {
|
||||
uni.navigateTo({
|
||||
url: `/pages/empty/empty?type=wifi`,
|
||||
});
|
||||
}
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: `/pages/empty/empty?type=wifi`,
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const throttle = (fn, that, gapTime) => {
|
||||
// export function throttle(fn, gapTime) {
|
||||
if (gapTime == null || gapTime == undefined) {
|
||||
gapTime = 1800
|
||||
}
|
||||
let _lastTime = that.lastTime
|
||||
let _nowTime = +new Date()
|
||||
if (_nowTime - _lastTime > gapTime || !_lastTime) {
|
||||
fn.apply(that, arguments) //将this和参数传给原函数
|
||||
that.lastTime = _nowTime
|
||||
}
|
||||
}
|
||||
// export function throttle(fn, gapTime) {
|
||||
if (gapTime == null || gapTime == undefined) {
|
||||
gapTime = 1800;
|
||||
}
|
||||
let _lastTime = that.lastTime;
|
||||
let _nowTime = +new Date();
|
||||
if (_nowTime - _lastTime > gapTime || !_lastTime) {
|
||||
fn.apply(that, arguments); //将this和参数传给原函数
|
||||
that.lastTime = _nowTime;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 计算传秒数的倒计时【天、时、分、秒】
|
||||
@@ -111,33 +65,39 @@ const throttle = (fn, that, gapTime) => {
|
||||
* @returns {{day : *, hours : *, minutes : *, seconds : *}}
|
||||
*/
|
||||
const countTimeDown = (seconds) => {
|
||||
const leftTime = (time) => {
|
||||
if (time < 10) time = '0' + time
|
||||
return time + ''
|
||||
}
|
||||
return {
|
||||
day: leftTime(parseInt(seconds / 60 / 60 / 24, 10)),
|
||||
hours: leftTime(parseInt(seconds / 60 / 60 % 24, 10)),
|
||||
minutes: leftTime(parseInt(seconds / 60 % 60, 10)),
|
||||
seconds: leftTime(parseInt(seconds % 60, 10))
|
||||
}
|
||||
}
|
||||
const leftTime = (time) => {
|
||||
if (time < 10) time = "0" + time;
|
||||
return time + "";
|
||||
};
|
||||
return {
|
||||
day: leftTime(parseInt(seconds / 60 / 60 / 24, 10)),
|
||||
hours: leftTime(parseInt((seconds / 60 / 60) % 24, 10)),
|
||||
minutes: leftTime(parseInt((seconds / 60) % 60, 10)),
|
||||
seconds: leftTime(parseInt(seconds % 60, 10)),
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* 计算当前时间到第二天0点的倒计时[秒]
|
||||
* @returns {number}
|
||||
*/
|
||||
const theNextDayTime = () => {
|
||||
const nowDate = new Date()
|
||||
const time = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate() + 1, 0, 0, 0).getTime() -
|
||||
nowDate.getTime()
|
||||
return parseInt(time / 1000)
|
||||
}
|
||||
const nowDate = new Date();
|
||||
const time =
|
||||
new Date(
|
||||
nowDate.getFullYear(),
|
||||
nowDate.getMonth(),
|
||||
nowDate.getDate() + 1,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
).getTime() - nowDate.getTime();
|
||||
return parseInt(time / 1000);
|
||||
};
|
||||
|
||||
export {
|
||||
//configHandle,
|
||||
getNetworkType,
|
||||
throttle,
|
||||
countTimeDown,
|
||||
theNextDayTime
|
||||
}
|
||||
getNetworkType,
|
||||
throttle,
|
||||
countTimeDown,
|
||||
theNextDayTime,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user