From 3fc70951bbd386c8c85e522cae80deba8823052e Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 15 八月 2024 17:28:20 +0800
Subject: [PATCH] 登录

---
 src/pages/login/index.vue |  410 ++++++++-------------------------------------------------
 1 files changed, 62 insertions(+), 348 deletions(-)

diff --git a/src/pages/login/index.vue b/src/pages/login/index.vue
index 576f13c..624bae4 100644
--- a/src/pages/login/index.vue
+++ b/src/pages/login/index.vue
@@ -7,8 +7,9 @@
 			</view>
 			<view class="login_btn">
 				<!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU -->
-				<!-- <button v-if="canIUseGetUserProfile" type="primary" class="uni-tip-button" @click="login">鎺堟潈骞剁櫥褰�</button> -->
-				<button  type="primary" open-type="getUserInfo" @getuserinfo="login"
+				<button v-if="canIUseGetPhoneNumber" type="primary" class="uni-tip-button"
+					@click="mobileAuthLogin">鎺堟潈骞剁櫥褰�</button>
+				<button type="primary" v-else open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"
 					class="uni-tip-button">鎺堟潈骞剁櫥褰�</button>
 				<view class="no_login" @click="back">
 					鏆備笉鎺堟潈
@@ -25,36 +26,8 @@
 					</view>
 				</checkbox-group>
 			</view>
-			<!-- <view class="mobile_login" @click="toMobileLogin">
-				鍚屾剰骞惰緭鍏ユ墜鏈哄彿鐧诲綍
-			</view> -->
-			<!-- <view class="agreement_wrap">
-				<view class="agree_item">
-					<view class="item_icon" @click="isChecked = !isChecked">
-						<image v-if="!isChecked" :src="$util.img('upload/img/iconCheck.png')" mode="aspectFit"
-							class="item_select_img"></image>
-						<image v-else :src="$util.img('upload/img/publish-selected.png')" mode="aspectFit"
-							class="item_select_img"></image>
-					</view>
-					<view class="item_content">
-						棣栨鐧诲綍鑷姩娉ㄥ唽杩愭弧婊″強璐ц溅甯处鍙凤紝涓斿凡闃呰骞跺悓鎰�<text class="agreement">銆婄敤鎴锋湇鍔″崗璁��</text><text
-							class="agreement">銆婁釜浜轰俊鎭繚鎶ゆ斂绛栥��</text><text class="agreement">銆婅处鍙峰叧鑱斿崗璁��</text>
-					</view>
-				</view>
-				<view class="agree_item">
-					<view class="item_icon" @click="isCheckedSan = !isCheckedSan">
-						<image v-if="!isCheckedSan" :src="$util.img('upload/img/iconCheck.png')" mode="aspectFit"
-							class="item_select_img"></image>
-						<image v-else :src="$util.img('upload/img/publish-selected.png')" mode="aspectFit"
-							class="item_select_img"></image>
-					</view>
-					<view class="item_content">
-						宸查槄璇诲苟鍚屾剰<text class="agreement">銆婄涓夋柟鍚堜綔娓呭崟銆�</text>
-					</view>
-				</view>
-			</view> -->
 		</view>
-		<u-popup ref="popup" type="center">
+		<uni-popup ref="popup" type="center">
 			<view class="bind-wrap">
 				<!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU -->
 				<view class="heard">鎻愮ず</view>
@@ -66,8 +39,8 @@
 					@getphonenumber="mobileAuthLogin"><text>鐐瑰嚮缁戝畾鎵嬫満鍙风爜</text></button> -->
 				<!-- #endif  -->
 			</view>
-		</u-popup>
-		<u-popup ref="bindMobile">
+		</uni-popup>
+		<uni-popup ref="bindMobile">
 			<view class="bind-wrap">
 				<!-- #ifdef MP-WEIXIN || MP-QQ || MP-BAIDU -->
 				<view class="heard">鎻愮ず</view>
@@ -76,7 +49,7 @@
 					@getphonenumber="mobileAuthLogin"><text>鐐瑰嚮缁戝畾鎵嬫満鍙风爜</text></button>
 				<!-- #endif  -->
 			</view>
-		</u-popup>
+		</uni-popup>
 	</view>
 </template>
 
@@ -86,12 +59,12 @@
 			return {
 				isChecked: false,
 				isCheckedSan: false,
-				canIUseGetUserProfile: false
+				canIUseGetPhoneNumber: false
 			};
 		},
 		created() {
 			// #ifdef MP-WEIXIN
-			if (wx.getUserProfile) this.canIUseGetUserProfile = true;
+			if (uni.getStorageSync('queryPhoneNumber')) this.canIUseGetPhoneNumber = true;
 			// #endif
 		},
 		onShow() {
@@ -134,7 +107,7 @@
 												} else {
 													uni.setStorageSync(
 														'is_perfect_user', res.code
-														)
+													)
 												}
 											},
 											fail: res => {
@@ -197,122 +170,70 @@
 			back() {
 				uni.navigateBack()
 			},
-			toMobileLogin() {
-				if (!this.isChecked) {
-					return this.$util.showToast({
-						title: "璇峰厛鍚屾剰鍗忚"
+			getPhoneNumber(e) {
+				if (e.detail.errMsg == 'getPhoneNumber:ok') {
+					this.$db.set('queryPhoneNumber', 'getPhoneNumber:ok');
+					uni.login({
+						provider: 'weixin',
+						timeout: 3000,
+						success: res => {
+							let obj = {
+								bindgetphonenumber: e.detail.code,
+								jsCode: res.code
+							}
+							this.$api.CreateUser(obj).then(result => {
+								if (result.code == 1) {
+									this.$db.set('userToken', result.data.accessToken);
+									this.$util.redirectTo(
+										'/pages/index/index', {},
+										'tabbar')
+								} else {
+									this.$util.showToast({
+										title: result.msg
+									});
+								}
+							}).catch((err) => {
+								console.log(err, 'uni.loginerr')
+							})
+						},
 					})
 				}
-				this.$util.redirectTo('/otherPages/member/mobileLogin/mobileLogin')
+				console.log(e)
 			},
 			mobileAuthLogin(e) {
-				console.log(e)
 				if (!this.isChecked) {
-					return this.$util.showToast({
+					return this.$common.showToast({
 						title: "璇峰厛鍚屾剰鍗忚"
 					})
 				}
-				// return
-				if (e.detail.errMsg == 'getPhoneNumber:ok') {
-					let authData = uni.getStorageSync('authInfo');
-					console.log(authData)
-					var data = {
-						code: e.detail.code,
-						uid: authData.id
-						// iv: e.detail.iv,
-						// encryptedData: e.detail.encryptedData
-					};
-					console.log(e)
-					// if (Object.keys(authData).length) {
-					// 	Object.assign(data, authData);
-					// }
-					// if (authData.avatarUrl) data.headimg = authData.avatarUrl;
-					// if (authData.nickName) data.nickname = authData.nickName;
-					// if (uni.getStorageSync('source_member')) data.source_member = uni.getStorageSync('source_member');
 
-					if (this.isSub) return;
-					this.isSub = true;
-
-					this.$api.temLogin({
-						data,
-						success: res => {
-							if (res.code == 1) {
-								console.log(res)
-
-								if (res.data.wx_openid) {
-									this.$util.showToast({
-										title: "鐧诲綍鎴愬姛",
-										icon: "success"
-									})
-									uni.setStorage({
-										key: 'uid',
-										data: res.data.id,
-										success: () => {
-											uni.removeStorageSync('wx_openid_set');
-											uni.removeStorageSync('source_member');
-											uni.removeStorageSync('authInfo');
-											this.$api.temLogin({
-												data: {
-													uid: res.data.id,
-												},
-												success: res => {
-													if (res.code == 1) {
-														console.log(res)
-														uni.setStorageSync(
-															'is_perfect_user', '1')
-													} else {
-														uni.setStorageSync(
-															'is_perfect_user', res
-															.code)
-													}
-												},
-												fail: res => {
-													this.$util.showToast({
-														title: "鎺ュ彛閿欒"
-													});
-												}
-											});
-											// this.$store.dispatch('getCartNumber');
-											setTimeout(() => {
-												this.$util.redirectTo(
-													'/pages/index/index', {},
-													'tabbar')
-											}, 1000)
-										}
-									});
-								} else {
-									this.$refs.bindMobile.close()
-									// uni.setStorageSync('wx_openid_set',1)
-									this.$refs.popup.open()
-								}
-
-								// this.$store.commit('setToken', res.data.token);
-								// this.$refs.bindMobile.close();
-								// if (res.data.is_register && this.$refs.registerReward.getReward()) {
-								// 	this.$refs.registerReward.open();
-								// }
+				uni.login({
+					provider: 'weixin',
+					timeout: 3000,
+					success: res => {
+						this.$api.temLogin(res.code).then((result) => {
+							if (result.code == 1) {
+								this.$db.set('userToken', result.data.accessToken);
+								this.$util.redirectTo(
+									'/pages/index/index', {},
+									'tabbar')
 							} else {
-								this.isSub = false;
 								this.$util.showToast({
-									title: res.msg
+									title: result.msg
 								});
 							}
-						},
-						fail: res => {
-							this.isSub = false;
-							this.$util.showToast({
-								title: 'request:fail'
-							});
-						}
-					});
-				}
+						}).catch((err) => {
+							console.log('err', err);
+						})
+					},
+				})
 			},
 			getCode(userInfo, callback) {
 				uni.login({
 					provider: 'weixin',
 					timeout: 3000,
 					success: res => {
-						console.log(res)
+						console.log(res, 'getCode')
 						let data = {
 							code: res.code,
 							nickname: userInfo.nickName,
@@ -339,219 +260,11 @@
 						title: "璇峰厛鍚屾剰鍗忚"
 					})
 				}
-				// if (!this.isChecked || !this.isCheckedSan) {
-				// 	this.$util.showToast({
-				// 		title: "璇峰嬀閫夌敤鎴锋敞鍐�/鐧诲綍鍗忚鍜岀涓夋柟鍚堜綔娓呭崟"
-				// 	})
-				// 	return
-				// }
-				// #ifdef MP-WEIXIN
-				if (this.canIUseGetUserProfile) {
-					wx.getUserProfile({
-						desc: '鑾峰彇鐢ㄦ埛涓汉淇℃伅', // 澹版槑鑾峰彇鐢ㄦ埛涓汉淇℃伅鍚庣殑鐢ㄩ�旓紝鍚庣画浼氬睍绀哄湪寮圭獥涓紝璇疯皑鎱庡~鍐�
-						success: (res) => {
-							console.log(res)
-							if (res.errMsg == 'getUserProfile:ok') {
-
-								// this.authInfo.nickName = res.userInfo.nickName;
-								// this.authInfo.avatarUrl = res.userInfo.avatarUrl;
-								// uni.setStorageSync('authInfo', this.authInfo)
-
-								this.getCode(res.userInfo, data => {
-									console.log(data)
-									if (data.code == 1) {
-										uni.setStorageSync('authInfo', data.data)
-										if (!data.data.mobile) {
-											this.$refs.bindMobile.open()
-										} else {
-											if (data.data.wx_openid) {
-												this.$util.showToast({
-													title: "鐧诲綍鎴愬姛",
-													icon: "success"
-												})
-												uni.setStorage({
-													key: 'uid',
-													data: data.data.id,
-													success: () => {
-														uni.removeStorageSync(
-															'wx_openid_set');
-														uni.removeStorageSync(
-															'source_member');
-														uni.removeStorageSync('authInfo');
-														this.$api.temLogin({
-															data: {
-																uid: data.data.id,
-															},
-															success: res => {
-																if (res.code ==
-																	1) {
-																	console
-																		.log(
-																			res
-																			)
-																	uni.setStorageSync(
-																		'is_perfect_user',
-																		'1'
-																		)
-																} else {
-																	uni.setStorageSync(
-																		'is_perfect_user',
-																		res
-																		.code
-																		)
-																}
-															},
-															fail: res => {
-																this.$util
-																	.showToast({
-																		title: "鎺ュ彛閿欒"
-																	});
-															}
-														});
-														// this.$store.dispatch('getCartNumber');
-														setTimeout(() => {
-															this.$util.redirectTo(
-																'/pages/index/index', {},
-																'tabbar')
-														}, 1000)
-													}
-												});
-											} else {
-												// uni.setStorageSync('wx_openid_set',1)
-												this.$refs.popup.open()
-											}
-
-
-										}
-									}
-									return
-									// if (data) {
-									// 	this.authLogin(data);
-									// } else {
-									// 	this.$refs.auth.close();
-									// 	this.toLogin();
-									// }
-								});
-							}
-						}
-					})
-				} else if (e.detail.errMsg == 'getUserInfo:ok') {
-					this.getCode(data => {
-						if (data.code == 1) {
-							uni.setStorageSync('authInfo', data.data)
-							if (!data.data.mobile) {
-								this.$refs.bindMobile.open()
-							} else {
-								if (data.data.wx_openid) {
-									this.$util.showToast({
-										title: "鐧诲綍鎴愬姛",
-										icon: "success"
-									})
-									uni.setStorage({
-										key: 'uid',
-										data: data.data.id,
-										success: () => {
-											uni.removeStorageSync('wx_openid_set');
-											uni.removeStorageSync('source_member');
-											uni.removeStorageSync('authInfo');
-											this.$api.temLogin({
-												data: {
-													uid: data.data.id,
-												},
-												success: res => {
-													if (res.code == 1) {
-														console.log(res)
-														uni.setStorageSync(
-															'is_perfect_user', '1')
-													} else {
-														uni.setStorageSync(
-															'is_perfect_user', res.code
-															)
-													}
-												},
-												fail: res => {
-													this.$util.showToast({
-														title: "鎺ュ彛閿欒"
-													});
-												}
-											});
-											// this.$store.dispatch('getCartNumber');
-											setTimeout(() => {
-												this.$util.redirectTo(
-													'/pages/index/index', {},
-													'tabbar')
-											}, 1000)
-										}
-									});
-								} else {
-									// uni.setStorageSync('wx_openid_set',1)
-									this.$refs.popup.open()
-								}
-
-
-							}
-						}
-					});
-				}
-				// #endif
-				// if (!uni.getStorageSync('wx_openid_set')) {
-				// 	// #ifdef MP-QQ || MP-BAIDU
-				// 	if (e.detail.errMsg == 'getUserInfo:ok') {
-				// 		this.getCode(data => {
-				// 			if (data) {
-				// 				this.authLogin(data);
-				// 			} else {
-				// 				this.$refs.auth.close();
-				// 				this.toLogin();
-				// 			}
-				// 		});
-				// 	}
-				// 	// #endif
-
-				// 	// #ifdef MP-WEIXIN
-				// 	if (this.canIUseGetUserProfile) {
-				// 		wx.getUserProfile({
-				// 			desc: '鑾峰彇鐢ㄦ埛涓汉淇℃伅', // 澹版槑鑾峰彇鐢ㄦ埛涓汉淇℃伅鍚庣殑鐢ㄩ�旓紝鍚庣画浼氬睍绀哄湪寮圭獥涓紝璇疯皑鎱庡~鍐�
-				// 			success: (res) => {
-				// 				if (res.errMsg == 'getUserProfile:ok') {
-
-				// 					// this.authInfo.nickName = res.userInfo.nickName;
-				// 					// this.authInfo.avatarUrl = res.userInfo.avatarUrl;
-				// 					// uni.setStorageSync('authInfo', this.authInfo)
-
-				// 					this.getCode(data => {
-				// 						console.log(data)
-				// 						return
-				// 						if (data) {
-				// 							this.authLogin(data);
-				// 						} else {
-				// 							this.$refs.auth.close();
-				// 							this.toLogin();
-				// 						}
-				// 					});
-				// 				}
-				// 			}
-				// 		})
-				// 	} else if (e.detail.errMsg == 'getUserInfo:ok') {
-				// 		this.getCode(data => {
-				// 			if (data) {
-				// 				this.authLogin(data);
-				// 			} else {
-				// 				this.$refs.auth.close();
-				// 				this.toLogin();
-				// 			}
-				// 		});
-				// 	}
-				// 	// #endif
-
-				// 	// #ifndef MP
-				// 	this.$refs.auth.close();
-				// 	this.toLogin();
-				// 	// #endif
-				// } else {
-				// 	this.$refs.auth.close();
-				// 	this.toLogin();
-				// }
+				uni.login({
+					provider: 'weixin',
+					timeout: 3000,
+					success: res => {},
+				})
 			},
 		}
 	}
@@ -601,6 +314,7 @@
 				line-height: 70rpx;
 				background-color: #35A6FF;
 				border-radius: 70rpx;
+				padding: 0;
 			}
 
 			.no_login {
@@ -718,4 +432,4 @@
 		color: #ffffff;
 		background-color: #35A6FF;
 	}
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1