From 513be798a677672644770e2b2f7025b6d4d20414 Mon Sep 17 00:00:00 2001
From: 付延余 <f-yanyu@outlook.com>
Date: 星期三, 07 九月 2022 14:44:04 +0800
Subject: [PATCH] 完善登录,登录授权

---
 pages/login/login.vue |  135 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 119 insertions(+), 16 deletions(-)

diff --git a/pages/login/login.vue b/pages/login/login.vue
index 5654590..fe8c0c7 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,7 +1,32 @@
 <template>
 	<view class="login">
 		<image src="@/static/login/banner.png" class="background"></image>
-		<view class="loginBtn"><u-button throttleTime="3000" text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="wxLogin"></u-button></view>
+		<view class="login-container">
+			<view class="loginBtn"><u-button text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="toGrantAuthorization"></u-button></view>
+			<view class="utils"><text @click="toBindPage">缁戝畾绯荤粺璐﹀彿</text></view>
+		</view>
+		<!-- 鐗瑰畾鑼冨洿璇存槑 -->
+		<view class="loginBottom"><text>灏忕▼搴忎粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳浣跨敤</text></view>
+		<u-modal
+			@confirm="wxLoginConfirm"
+			@cancel="wxLoginCancel"
+			@close="wxLoginClose"
+			:show="wxLoginModal.show"
+			:title="wxLoginModal.title"
+			:content="wxLoginModal.content"
+			:showCancelButton="true"
+		></u-modal>
+		<view class="toGrantAuthorization-container">
+			<u-popup :show="popupShow" mode="bottom" @close="closePopup" @open="openPopup" round="10" :safeAreaInsetBottom="true">
+				<view class="popup-warp">
+					<view class="body"><text>鏈皬绋嬪簭锛屼粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳鐧诲綍浣跨敤锛岀偣鍑诲悓鎰忓嵆琛ㄧず鎮ㄥ凡鍚屾剰鐩稿簲淇℃伅鎺堟潈銆�</text></view>
+					<view class="btn">
+						<u-button @click="popupShow = false" type="error" text="涓嶅悓鎰�" shape="circle" :plain="true"></u-button>
+						<u-button @click="wxLogin" type="error" text="鍚屾剰" throttleTime="3000" shape="circle"></u-button>
+					</view>
+				</view>
+			</u-popup>
+		</view>
 	</view>
 </template>
 
@@ -10,7 +35,13 @@
 export default {
 	data() {
 		return {
-			wxcode: ''
+			wxcode: '', //寰俊code
+			wxLoginModal: {
+				show: false,
+				title: '鎻愮ず',
+				content: ''
+			},
+			popupShow: false
 		};
 	},
 	onShow() {
@@ -20,7 +51,11 @@
 		}
 	},
 	methods: {
+		toGrantAuthorization() {
+			this.popupShow = true;
+		},
 		wxLogin() {
+			this.popupShow = false;
 			uni.showLoading({
 				title: '鍔犺浇涓�...'
 			});
@@ -32,12 +67,9 @@
 						this.wxSmallLogin(this.wxcode)
 							.then(res => {
 								if (res.data.data == '鐢ㄦ埛涓嶅瓨鍦�') {
-									this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�')
-									setTimeout(()=>{
-										uni.navigateTo({
-											url: '/pages/register/register'
-										});
-									},1000)
+									// this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�');
+									this.wxLoginModal.content = '鏈粦瀹氱郴缁熻处鍙凤紝鏄惁璺宠浆璐﹀彿缁戝畾椤甸潰锛�';
+									this.wxLoginModal.show = true;
 								} else if (res.data.active && res.data.active == true) {
 									const { access_token, refresh_token, token_type, scope } = res.data;
 									try {
@@ -66,6 +98,32 @@
 					}
 				}
 			});
+		},
+		toBindPage() {
+			uni.navigateTo({
+				url: '/pages/register/register'
+			});
+		},
+		// 妯℃�佹
+		wxLoginConfirm() {
+			uni.navigateTo({
+				url: '/pages/register/register'
+			});
+			this.wxLoginModal.show = false;
+		},
+		wxLoginCancel() {
+			this.wxLoginModal.show = false;
+		},
+		wxLoginClose() {
+			this.wxLoginModal.show = false;
+		},
+		// 寮瑰嚭妗�
+		openPopup() {
+			console.log('open');
+		},
+		closePopup() {
+			this.popupShow = false;
+			console.log('close');
 		}
 	}
 };
@@ -80,20 +138,65 @@
 		// height: vww(289);
 		height: vww(246);
 	}
-
-	.loginBtn {
+	.login-container {
 		margin: vww(60) auto;
 		width: 80%;
-		.u-button {
-			.u-icon {
-				.u-icon__icon {
-					font-size: vww(30) !important;
+		.loginBtn {
+			.u-button {
+				.u-icon {
+					.u-icon__icon {
+						font-size: vww(30) !important;
+					}
 				}
+				.u-button__text {
+					font-size: vww(17) !important;
+					font-weight: 530;
+				}
+			}
+
+			.u-button--success {
+				border-style: none;
+				background-color: #3ebc17;
 			}
 		}
 
-		.u-button--success {
-			border-style: none;
+		.utils {
+			font-size: vww(14);
+			margin-top: vww(20);
+			text-align: center;
+			color: #346a9d;
+		}
+	}
+
+	.loginBottom {
+		color: #aaaaaa;
+		margin-top: vww(180);
+		font-size: vww(14);
+		text-align: center;
+	}
+
+	// 寮瑰嚭妗�
+	.toGrantAuthorization-container {
+		.u-popup {
+			.u-transition {
+				.u-popup__content {
+					.popup-warp {
+						height: vww(200);
+						padding: vww(10) vww(20);
+						.body {
+							width: 100%;
+							height: 70%;
+						}
+						.btn {
+							display: flex;
+							justify-content: space-between;
+							.u-button {
+								width: 40%;
+							}
+						}
+					}
+				}
+			}
 		}
 	}
 }

--
Gitblit v1.9.1