Sfoglia il codice sorgente

登录判断角色跳转

htc 1 mese fa
parent
commit
f220699d25
2 ha cambiato i file con 18 aggiunte e 11 eliminazioni
  1. 17 11
      pages/login/wxLogin.vue
  2. 1 0
      pages/operation/index.vue

+ 17 - 11
pages/login/wxLogin.vue

@@ -24,11 +24,13 @@
 		methods:{
 			decryptPhoneNumber(e){
 				if(uni.getStorageSync('token')){
-					uni.reLaunch({
-						// url:'/pagesStorage/home'
-						// url:'/pagesClockin/index'
-						url:'/pages/operation/index'
-					})
+					let url = '';
+					let roleCodes = JSON.parse(uni.getStorageSync('userInfo'))?.roleCodes;
+					if(roleCodes.length==0||!roleCodes) url = '/pagesClockin/index';
+					else if(roleCodes.includes('Maintenance')) url = '/pages/operation/index';
+					else if(roleCodes.includes('inventory')||roleCodes.includes('Warehouse Manager')) url = '/pagesStorage/home';
+					if(!url) return this.$showToast('无菜单角色,请后台查看!')
+					uni.reLaunch({ url })
 					return
 				}
 				if(e.detail.code) this.wxLogin(e.detail.code);
@@ -49,16 +51,20 @@
 									gender:res.data.data.gender,
 									realName:res.data.data.realName,
 									email:res.data.data.email,
-									headUrl:res.data.data.headUrl
+									headUrl:res.data.data.headUrl,
+									roleCodes:res.data.data.roleCodes
 								}));
 								uni.hideLoading();
 								that.$showToast('登录成功');
+								
+								let url = '';
+								let roleCodes = res.data.data.roleCodes;
+								if(roleCodes.length==0) url = '/pagesClockin/index';
+								else if(roleCodes.includes('Maintenance')) url = '/pages/operation/index';
+								else if(roleCodes.includes('inventory')||roleCodes.includes('Warehouse Manager')) url = '/pagesStorage/home';
+								if(!url) return this.$showToast('无菜单角色,请后台查看!')
 								setTimeout(()=>{
-									uni.reLaunch({
-										// url:'/pagesStorage/home'
-										// url:'/pagesClockin/index'
-										url:'/pages/operation/index'
-									})
+									uni.reLaunch({ url })
 								},1500)
 							}else that.$showToast(res.data.msg)
 						})

+ 1 - 0
pages/operation/index.vue

@@ -266,6 +266,7 @@
 	
 		.list{
 			margin-top: 49rpx;
+			position: relative;
 			.title{
 				display: flex;
 				align-items: center;