修改jwt判断token 以及订单金额为0时前台 跳转问题
parent
1e53287927
commit
7cbb226416
|
@ -448,7 +448,12 @@ export default {
|
||||||
duration: 2000,
|
duration: 2000,
|
||||||
icon: "none",
|
icon: "none",
|
||||||
});
|
});
|
||||||
|
// 如果当前价格为0跳转到订单列表
|
||||||
|
if (this.orderMessage.priceDetailDTO.billPrice == 0) {
|
||||||
|
uni.redirectTo({
|
||||||
|
url: "/pages/order/myOrder?status=0",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
// #ifdef MP-WEIXIN
|
// #ifdef MP-WEIXIN
|
||||||
// 微信小程序中点击创建订单直接开始支付
|
// 微信小程序中点击创建订单直接开始支付
|
||||||
this.pay(res.data.result.sn);
|
this.pay(res.data.result.sn);
|
||||||
|
@ -459,6 +464,7 @@ export default {
|
||||||
`/pages/cart/payment/payOrder?trade_sn=${res.data.result.sn}`
|
`/pages/cart/payment/payOrder?trade_sn=${res.data.result.sn}`
|
||||||
);
|
);
|
||||||
// #endif
|
// #endif
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "创建订单有误!请稍后重试",
|
title: "创建订单有误!请稍后重试",
|
||||||
|
|
|
@ -164,7 +164,7 @@ import * as API_Trade from "@/api/trade";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
lightColor:this.$lightColor,
|
lightColor: this.$lightColor,
|
||||||
discountDetailsFlag: false, //优惠明细开关
|
discountDetailsFlag: false, //优惠明细开关
|
||||||
// 商品栏右侧滑动按钮
|
// 商品栏右侧滑动按钮
|
||||||
options: [
|
options: [
|
||||||
|
@ -499,16 +499,9 @@ export default {
|
||||||
}
|
}
|
||||||
uni.stopPullDownRefresh();
|
uni.stopPullDownRefresh();
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
} else {
|
|
||||||
uni.showToast({
|
|
||||||
title: result.data.message,
|
|
||||||
duration: 2000,
|
|
||||||
icon: "none",
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -120,6 +120,25 @@ http.interceptors.request.use(
|
||||||
|
|
||||||
config.params = params;
|
config.params = params;
|
||||||
config.header.accessToken = accessToken;
|
config.header.accessToken = accessToken;
|
||||||
|
console.log(accessToken);
|
||||||
|
/**
|
||||||
|
* jwt 因为安卓以及ios没有window的属性
|
||||||
|
* window.atob()这个函数 base64编码的使用方法就是btoa(),而用于解码的使用方法是atob(),
|
||||||
|
* 所以使用手写 base-64 编码的字符串数据。
|
||||||
|
*/
|
||||||
|
//
|
||||||
|
const atob = (str) => Buffer.from(str, "base64").toString("binary");
|
||||||
|
// 判断如果过期时间小于我的当前时间,在请求上重新刷新token
|
||||||
|
if (accessToken.split(".").length <= 1) {
|
||||||
|
refresh();
|
||||||
|
} else {
|
||||||
|
if (
|
||||||
|
JSON.parse(atob(accessToken.split(".")[1])).exp <
|
||||||
|
new Date().getTime() / 1000
|
||||||
|
) {
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
config.header = {
|
config.header = {
|
||||||
...config.header,
|
...config.header,
|
||||||
|
@ -132,6 +151,33 @@ http.interceptors.request.use(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
async function refresh() {
|
||||||
|
// 本地储存的是过期token了,重新获取
|
||||||
|
const getTokenResult = await refreshToken();
|
||||||
|
// if (getTokenResult === "success") {
|
||||||
|
// // 获取新的token成功 刷新当前页面
|
||||||
|
|
||||||
|
// let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
|
||||||
|
// let curRoute = routes[routes.length - 1].route; //获取当前页面路由
|
||||||
|
// let curParam = routes[routes.length - 1].options; //获取路由参数
|
||||||
|
// // 拼接参数
|
||||||
|
// let param = "";
|
||||||
|
// for (let key in curParam) {
|
||||||
|
// param += "&" + key + "=" + curParam[key];
|
||||||
|
// }
|
||||||
|
// // 判断当前路径
|
||||||
|
// if (curRoute.indexOf("pages/tabbar") == 1) {
|
||||||
|
// uni.switchTab({
|
||||||
|
// url: "/" + curRoute + param.replace("&", "?"),
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// uni.redirectTo({
|
||||||
|
// url: "/" + curRoute + param.replace("&", "?"),
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
// 必须使用异步函数,注意
|
// 必须使用异步函数,注意
|
||||||
http.interceptors.response.use(
|
http.interceptors.response.use(
|
||||||
async (response) => {
|
async (response) => {
|
||||||
|
@ -143,33 +189,11 @@ http.interceptors.response.use(
|
||||||
(token && response.statusCode === 403) ||
|
(token && response.statusCode === 403) ||
|
||||||
response.data.status === 403
|
response.data.status === 403
|
||||||
) {
|
) {
|
||||||
expireToken.includes(token) ? cleanStorage() : "";
|
|
||||||
// jwt token 过期了
|
// jwt token 过期了
|
||||||
expireToken.push(token); // 把过期token 储存
|
expireToken.push(token); // 把过期token 储存
|
||||||
const currentToken = storage.getAccessToken();
|
const currentToken = storage.getAccessToken();
|
||||||
if (expireToken.includes(currentToken)) {
|
if (expireToken.includes(currentToken)) {
|
||||||
// 本地储存的是过期token了,重新获取
|
refresh();
|
||||||
const getTokenResult = await refreshToken();
|
|
||||||
if (getTokenResult === "success") {
|
|
||||||
// 获取新的token成功 刷新当前页面
|
|
||||||
|
|
||||||
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
|
|
||||||
let curRoute = routes[routes.length - 1].route; //获取当前页面路由
|
|
||||||
let curParam = routes[routes.length - 1].options; //获取路由参数
|
|
||||||
// 拼接参数
|
|
||||||
let param = "";
|
|
||||||
for (let key in curParam) {
|
|
||||||
param += "&" + key + "=" + curParam[key];
|
|
||||||
}
|
|
||||||
|
|
||||||
uni.redirectTo({
|
|
||||||
url: "/" + curRoute + param.replace("&", "?"),
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
cleanStorage();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cleanStorage();
|
|
||||||
}
|
}
|
||||||
// 如果当前返回没登录
|
// 如果当前返回没登录
|
||||||
} else if (
|
} else if (
|
||||||
|
|
Loading…
Reference in New Issue