Browse Source

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
登录过期处理

1004749546@qq.com 4 năm trước cách đây
mục cha
commit
d3e2328631
3 tập tin đã thay đổi với 47 bổ sung9 xóa
  1. 29 4
      libs/axios.js
  2. 11 0
      libs/tools.js
  3. 7 5
      pages/getOrder/getOrder.vue

+ 29 - 4
libs/axios.js

@@ -1,3 +1,4 @@
+import { objToUrl } from '@/libs/tools.js';
 const baseUrl = getApp().globalData.baseUrl
 //带Token请求
 const request = (opts, hasToken) => {
@@ -38,15 +39,17 @@ const request = (opts, hasToken) => {
 				if(ret.status == '200'){
 					resolve(ret)
 				}else{
-					if(ret.status == 1001 && loginTimeOut == 'NO'){  //  未登录或登录过期
+					if(ret.status == 401 && loginTimeOut == 'NO'){  //  未登录或登录过期
 						uni.showToast({
 							icon:'none',
 							title: ret.message,
 							duration: 5000 
 						})
-						uni.reLaunch({
-							url: '/pages/login/login'
-						})
+						setTimeout(function() {
+						  const currentRoute = getRoutePath();
+						  const url = `/pages/login/login?lanuch=${currentRoute.lanuch}&path=` + encodeURIComponent(currentRoute.url);
+						  uni.reLaunch({ url });
+						}, 1000);
 						uni.setStorageSync('loginTimeOut', 'YES');
 					}
 					// 503
@@ -69,6 +72,28 @@ const request = (opts, hasToken) => {
 	})
 	return promise
 }
+function getRoutePath() {
+  // eslint-disable-next-line no-undef
+  const pages = getCurrentPages(); // 获取加载的页面
+
+  const currentPage = pages[pages.length - 1]; // 获取当前页面的对象
+
+  let url = currentPage.route; // 当前页面url
+
+  const options = objToUrl(currentPage.options); // 如果要获取url中所带的参数可以查看options
+
+  const lanuch = [
+    'pages/index/index'
+  ].includes(url);
+  url = '/' + url;
+  if (options.length) {
+    url += '?' + options;
+  }
+  return {
+    url,
+    lanuch
+  };
+}
 
 export default {
 	baseUrl,

+ 11 - 0
libs/tools.js

@@ -0,0 +1,11 @@
+export function objToUrl(obj) {
+  let uri = '';
+  let keys = Object.keys(obj);
+  keys.forEach(item => {
+    uri += '&' + item + '=' + obj[item];
+  });
+
+  uri = uri.substr(1);
+
+  return uri;
+}

+ 7 - 5
pages/getOrder/getOrder.vue

@@ -293,10 +293,8 @@
 				saveOrder(params).then(res =>{
 					if (res.status==200) {
 						let data = res.data
-						let orderId = res.data.id
 						// 保存成功后 请求预支付返回吊起微信支付所需参数
-						// this.getPayData(orderId)
-						// 付款成功后开始洗车
+						// this.getPayData(data)
 						uni.redirectTo({
 							url:`/pages/work/index/index?washCarType=${data.itemCode}&orderNo=${data.orderNo}`
 						})
@@ -309,8 +307,8 @@
 				})
 			},
 			// 预支付 返回微信支付所需参数
-			getPayData (id) {
-				signPay({orderId:id}).then(res =>{
+			getPayData (data) {
+				signPay({orderId:data.id}).then(res =>{
 					console.log(res,'11111111')
 					uni.hideLoading()
 					if (res.status == 200) {
@@ -324,6 +322,10 @@
 						    paySign: data.paySign,
 						    success: function (res) {
 						        console.log('success:' + JSON.stringify(res));
+								// 付款成功后开始洗车
+								uni.redirectTo({
+									url:`/pages/work/index/index?washCarType=${data.itemCode}&orderNo=${data.orderNo}`
+								})
 						    },
 						    fail: function (err) {
 						        console.log('fail:' + JSON.stringify(err));