Jelajahi Sumber

登录处理bug

zhengkaixin 4 tahun lalu
induk
melakukan
e2554e014b
6 mengubah file dengan 95 tambahan dan 82 penghapusan
  1. 3 59
      bobo-router/index.js
  2. 68 9
      components/Common.vue
  3. 18 9
      pages/index/login.js
  4. 1 1
      pages/index/login.vue
  5. 1 1
      pages/index/scan.vue
  6. 4 3
      utils/request.js

+ 3 - 59
bobo-router/index.js

@@ -3,8 +3,6 @@ import {
 	getWeixinRedirectURI,
 	isWeiXin
 } from '@/utils'
-import * as API_WeiXin from '@/apis/weixin.js'
-import * as API_user from '@/apis/user.js'
 
 import  carhelp from '@/utils/mixin.js'
 
@@ -69,68 +67,14 @@ router.beforeEach(function(to, from, next) {
 		if (!carhelp.getOpenId()) {
 			carhelp.setOpenId("test")
 		}
-		routerBeforeEach(to, from, next);
-	} else {
-		
-		if (!carhelp.getOpenId()) {
-			getOpenId();
-			// if (isWeiXin()) {
-				
-			// }else{
-			// alert("请使用微信登录")
-			// }
-		} else {
-			
-			routerBeforeEach(to, from, next);
-		}
-
-	}
+	} 
+	
+	routerBeforeEach(to, from, next);
 
 
 
 })
 
-function getOpenId() {
-	const code = getUrlParam('code');
-	
-	if (!code) {
-		var url = document.URL;
-		
-		window.location.href = getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
-	} else {
- 
-		 
-		API_WeiXin.getDataByCode(code).then(response => {
-			var openId=response.data.openid;
-			carhelp.setOpenId(response.data.openid)
-			//var linkUrl = document.URL.replace(/\?code=(.*?)&state=STATE/g, '');
-			//window.location = linkUrl; //隐藏参数
-			//return Promise.resolve(response.openid);
-			
-			API_user.findByOpenId({
-				openId:openId
-			}).then(response2 => {
-				  
-				if(response.data){
-					var token = response2.data ? response2.data.token : '';
-					carhelp.setToken(token);
-					carhelp.setPersonInfo(response2.data.token)	
-					
-					uni.switchTab({
-						url: '/pages/index/index'
-					});
-				}
-					
-			}).catch(error => {					
-					console.log(error);
-			})
-		}).catch(error => {
-			console.log(error);
-		});
-
-	}
-
-}
 
 function routerBeforeEach(to, from, next) {
 	next();

+ 68 - 9
components/Common.vue

@@ -15,7 +15,14 @@
 
 <script>
 	import * as API from '@/apis/common.js'
+	import * as API_WeiXin from '@/apis/weixin.js'
+	import * as API_user from '@/apis/user.js'
 	
+	import {
+		getUrlParam,
+		getWeixinRedirectURI,
+		isWeiXin
+	} from '@/utils'
  	export default {
 		name:"Common",
 		props:{
@@ -49,20 +56,72 @@
 			
 		},methods:{
 			
-			
-			islogin(){
+			 getOpenId() {
+				const code = getUrlParam('code');
 				
-				if(this.login){
+				if (!code) {
+					var url = document.URL;
 					
-					if (!this.carhelp.getPersonInfo()) {
-						//var route_path = window.location.href.split("#")[1];
+					window.location.href = getWeixinRedirectURI(process.car.VUE_APP_WXAPPID, url);
+				} else {
+			 
+					 
+					API_WeiXin.getDataByCode(code).then(response => {
+						var openId=response.data.openid;
+						this.carhelp.setOpenId(response.data.openid)
+						//var linkUrl = document.URL.replace(/\?code=(.*?)&state=STATE/g, '');
+						//window.location = linkUrl; //隐藏参数
+						//return Promise.resolve(response.openid);
+						this.$emit("myOpenId")
+						this.getLogin(openId)
 						
-						uni.reLaunch({
-							url: '/pages/car/login'
-						})
-					}
+					}).catch(error => {
+						console.log(error);
+					});
+			
+				}
+			
+			},
+			getLogin(openId){
+				 
+				if(this.login){
+					
+					API_user.findByOpenId({
+						openId:openId
+					}).then(response2 => {
+						  
+						  
+						if(response2.data){
+							var token = response2.data ? response2.data.token : '';
+							this.carhelp.setToken(token);
+							this.carhelp.setPersonInfo(response2.data.token)	
+							
+							this.$emit("myLogin")
+							// uni.switchTab({
+							// 	url: '/pages/index/index'
+							// });
+						}
+							
+					}).catch(error => {	
+						 
+							console.log(error);
+							uni.reLaunch({
+								url: '/pages/index/login'
+							})
+					})
 				}
 			},
+			islogin(){
+				if(!this.carhelp.getOpenId()){
+					this.getOpenId();
+				}else{
+					
+				}
+				if(this.login&&this.carhelp.getOpenId()){
+					this.getLogin(this.carhelp.getOpenId());
+				}
+				
+			},
 			goError(message){
 				this.setFnc(function(){
 					uni.switchTab({

+ 18 - 9
pages/index/login.js

@@ -14,7 +14,7 @@ import {
 				isSendMsgIng: false,
 				sendMsgSecond: 60,
 				back:false,
-				message:'',
+				code:'',
 			}
 		},
 		methods: {
@@ -114,10 +114,18 @@ import {
 				}, 1000)
 			},	//登录成功
 			loginSuccess() {
-			 
-				uni.switchTab({
-				    url: '/pages/index/index'
-				});
+				var url=this.carhelp.get("back_url")
+				if(url&&this.code=="scan"){
+					uni.redirectTo({
+						url: url
+					})
+				}else{
+					uni.switchTab({
+					    url: '/pages/index/index'
+					});
+				}
+				
+				
 			},
 			findByOpenId(){
 				
@@ -155,16 +163,17 @@ import {
 			}
 			console.log(ob)
 			this.subFormCode.openId = this.carhelp.getOpenId();
-			if(temp.message){
-				this.message=temp.message;
+			if(temp.code){
+				this.code=temp.code;
 			}
 		
 			console.log(this.carhelp.getPrefix())
 			
 				
 		},onReady(){
-			if(this.message){
-				this.$refs.common.showLoading(false,this.message) 
+			
+			if(this.code=="scan"){
+				this.$refs.common.showLoading(false,"请登录后再进行扫码打卡") 
 			}
 			if(this.carhelp.getOpenId()){
 				this.findByOpenId();

+ 1 - 1
pages/index/login.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="cxd-login">
-		<car-common   ref="common"  ></car-common>
+		<car-common   ref="common"  @myOpenId="findByOpenId" ></car-common>
 		<view class="text-center">
 			<image src="/static/img/logo_1.png"></image>
 			<h2>车信达</h2>

+ 1 - 1
pages/index/scan.vue

@@ -1,6 +1,6 @@
 <template>
 	<view  class="cxd-login">
-		<car-common   ref="common"  ></car-common>
+		<car-common   ref="common" :login="true" @myLogin="getDriverAttendance" ></car-common>
 		<u-navbar   title="扫码打卡" :is-back="false" >
 				<view class="slot-wrap"></view>	
 		</u-navbar>

+ 4 - 3
utils/request.js

@@ -31,14 +31,15 @@ const request = (options) => {
 			if (!process.car.SIMPLE_RUN) {
 				
 				if (res.data.code == 415&&res.data.message=='请先注册信息') {
-					var message=""
+					var code=""
 					if(options.url=="/mobile/merchantApi/driverAttendance"){
-						message="请登录后再进行扫码打卡"
+						code="scan"// 扫码打卡code
+						carhelp.set("back_url","/pages/index/scan?"+options.data)
 					}
 					
 					carhelp.signOut()
 					uni.redirectTo({
-						url: '/pages/index/login?message='+message
+						url: '/pages/index/login?code='+code
 					})
 					return;
 				}