From a28d0135ee42809b2c5863609da37155d3ecba5b Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期二, 29 四月 2025 15:11:39 +0800
Subject: [PATCH] feat:增加类型显示

---
 pages/login/login.vue |  507 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 272 insertions(+), 235 deletions(-)

diff --git a/pages/login/login.vue b/pages/login/login.vue
index 7a3b0b5..4f27eac 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -2,286 +2,324 @@
 	<view class="login">
 		<view class="logo">鏃犱汉鍊煎畧</view>
 		<!--鐢ㄦ埛鍚嶅瘑鐮佺櫥褰�-->
-		<user-password :btnText='0'/>
+		<user-password :btnText="0" :userList="userList"/>
 		<!-- 寰俊openid鐧诲綍 -->
+    <!--  #ifdef MP-WEIXIN  -->
 		<view class="loginBtn">
-			<u-button class="button" @click.stop="beforeLoginEvent" :disabled="btnLoading" :loading="btnLoading" type="primary" text="寰俊涓�閿櫥褰�"></u-button>
+			<u-button class="button"
+				@click.stop="beforeLoginEvent"
+				:disabled="btnLoading"
+				:loading="btnLoading"
+				type="primary"
+				text="寰俊涓�閿櫥褰�"></u-button>
 		</view>
-		<view class="register" @click="registerClick"><text>娉ㄥ唽</text></view>
+    <!--  #endif  -->
+		<view class="utils-block">
+			<!--  #ifdef MP-WEIXIN  -->
+			<view @click="forgetPassword"><text>蹇樿瀵嗙爜?</text></view>
+			 <!--  #endif  -->
+   <!--  #ifdef MP-WEIXIN  -->
+			<view @click="PrivacyAgreementHandle"><text>鏂扮敤鎴锋敞鍐�</text></view>
+    <!--  #endif  -->
+		</view>
+
 		<view class="login-bottom-box">
-			<view class="copyright">鍐�涓兘婧愭棤浜哄�煎畧寰俊灏忕▼搴�</view>
+			<view class="copyright">娌у窞鑱氶殕鍖栧伐鏃犱汉鍊煎畧寰俊灏忕▼搴�</view>
 			<view class="copyright">灏忕▼搴忎粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳浣跨敤</view>
 		</view>
+
+    <!--  #ifdef MP-WEIXIN  -->
 		<!-- 寰俊鎺堟潈鍓嶇殑寮规 -->
 		<view class="loginPopup">
-			<u-popup :show="loginPopupShow" mode="bottom" @close="closePopup" @open="openPopup" round="10" :safeAreaInsetBottom="true">
+			<u-popup :show="loginPopupShow"
+				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="loginPopupShow = false" type="error" text="涓嶅悓鎰�" shape="circle" :plain="true"></u-button>
-						<u-button @click="wxLogin" type="error" text="鍚屾剰" throttleTime="3000" shape="circle"></u-button>
+						<u-button @click="loginPopupShow = 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 class="bindWxModel">
-			<u-modal :show="bindWxModelShow" :title="bindWxModelTitle" showCancelButton :content="bindWxContent" @confirm="bindWxConfirm" @cancel="bindWxCancel"></u-modal>
+			<u-modal :show="bindWxModelShow"
+				:title="bindWxModelTitle"
+				showCancelButton
+				:content="bindWxContent"
+				@confirm="bindWxConfirm"
+				@cancel="bindWxCancel"></u-modal>
 		</view>
+    <!--  #endif  -->
 	</view>
 </template>
 
 <script>
-import { apiLoginWx, apiLoginPassword } from '@/api/publicInterface.js';
-import { mapMutations } from 'vuex';
-import userPassword from './userPassword.vue';
-import { setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js';
-export default {
-	data() {
-		return {
-			wxcode: '', // 鍙告満1
-			btnLoading: false,
-			loginPopupShow: false,
-			// 缁戝畾寰俊妯℃�佹
-			bindWxModelShow: false,
-			bindWxModelTitle: '鎻愮ず',
-			bindWxContent: '濡傛灉宸叉嫢鏈夌郴缁熻处鍙凤紝鍙互鐩存帴璺宠浆缁戝畾寰俊椤甸潰'
-		};
-	},
-	components: {
-		userPassword
-	},
-	methods: {
-		...mapMutations(['setUserTabbar']),
-		// 璁块棶wx.login,鑾峰彇code
-		beforeLoginEvent() {
-			this.loginPopupShow = true;
+	import { apiLoginWx, apiLoginPassword } from '@/api/publicInterface.js';
+	import { mapMutations } from 'vuex';
+	import userPassword from './userPassword.vue';
+	import { setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js';
+	export default {
+		data() {
+			return {
+				btnLoading: false,
+				loginPopupShow: false,
+				// 缁戝畾寰俊妯℃�佹
+				bindWxModelShow: false,
+				bindWxModelTitle: '鎻愮ず',
+				bindWxContent: '濡傛灉宸叉嫢鏈夌郴缁熻处鍙凤紝鍙互鐩存帴璺宠浆缁戝畾寰俊椤甸潰',
+				appid: "",
+				secret: "",
+				userList:[]
+			};
 		},
-		wxLogin() {
-			// 鑾峰彇鐧诲綍鐢ㄦ埛code
-			uni.login({
-				success: res => {
-					if (res.code) {
-						this.wxcode = res.code;
-						this.apiLogin();
-					} else {
-						uni.showToast({
-							title: '寰俊鐧诲綍澶辫触锛�',
-							duration: 2000
-						});
-					}
-				}
-			});
+		components: {
+			userPassword
 		},
-		// 鐧诲綍鎺ュ彛
-		apiLogin() {
-			// apiLoginWx({ code: this.wxcode })
-			// 	.then(res => {
-			// 		console.log('璇锋眰鐧诲綍', res);
-			// 		if (res.msg == '闇�缁戝畾') {
-			// 			uni.navigateTo({
-			// 				url: `/pages/register/register?code=${res.data}`
-			// 			});
-			// 		}
-			// 		if (res.msg == '鐧诲綍鎴愬姛') {
-			// 			uni.setStorageSync('userInfo', res.data);
-			// 			this.setUserTabbar(res.data.type);
-			// 			uni.switchTab({
-			// 				url: '/pages/tabbar-page/index-tabbar/index-tabbar'
-			// 			});
-			// 		}
-			// 	})
-			// 	.catch(err => {
-			// 		console.log('閿欒', err);
-			// 	});
-
-			/**
-			 * @openid
-			 * 鑾峰彇寰俊鐢ㄦ埛openid,寰俊涓�閿櫥褰曟殏鏃犵浉鍏虫帴鍙o紝鐢ㄤ簬娴嬭瘯鍛煎彨瀹㈡湇鍔熻兘
-			 */
-
-			wx.request({
-				url: `https://api.weixin.qq.com/sns/jscode2session?appid=wx4a62fc1684c429a9&secret=ee90afe376cdcec2fdd947c0a4db961a&js_code=${this.wxcode}&grant_type=authorization_code`,
-				success(res) {
-					let id = res.data.openid;
-					uni.setStorageSync('openid', id);
-					uni.showToast({
-						title: '鎴愬姛鑾峰彇娴嬭瘯openid',
-						icon: 'none'
-					});
-				}
-			});
-			this.$nextTick(() => {
-				apiLoginWx({ code: uni.getStorageSync('openid') }).then(res => {
-					if (res.code != 1) {
-						this.$u.toast('鎭枩鎮紝鐧诲綍鎴愬姛锛�');
-						// 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭�
-						setToken(res.access_token);
-						setRefreshToken(res.refresh_token);
-						setUsernameKey(res.username);
-						//鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛�
-						this.$reqGet('getUserEntity').then(res => {
-							this.setUserTabbar(res.data.type);
-							uni.setStorageSync('roleType', res.data.type);
-							setCustomerId(res.data.customerid);
-							//璺宠浆椤甸潰
-							this.$nextTick(() => {
-								redirectHome();
+		onShow() {
+			this.userList=uni.getStorageSync('userList')?JSON.parse(uni.getStorageSync('userList')):[];
+		},
+		methods: {
+			...mapMutations(['setUserTabbar', 'changeisLogin']),
+			getAppidAndSercet() {
+				this.$reqGet('getAppidAndSercet').then(res => {
+					this.appid = res.data.appid;
+					this.secret = res.data.secret
+				})
+			},
+			// 璁块棶wx.login,鑾峰彇code
+			beforeLoginEvent() {
+				this.loginPopupShow = true;
+				this.getAppidAndSercet();
+			},
+			wxLogin() {
+				// 鑾峰彇鐧诲綍鐢ㄦ埛code
+				uni.login({
+					success: res => {
+						if (res.code) {
+							uni.setStorageSync('code', res.code);
+							this.apiLogin(res.code);
+						} else {
+							uni.showToast({
+								title: '寰俊鐧诲綍澶辫触锛�',
+								duration: 2000
 							});
-						});
-					} else {
-						this.$u.toast(res.msg);
-						this.bindWxModelShow = true;
+						}
 					}
 				});
-			});
-
-			this.loginPopupShow = false;
-		},
-		bindWxConfirm() {
-			uni.navigateTo({
-				url: `/pages/login/wxLogin?code=${uni.getStorageSync('openid')}`
-			});
-			this.bindWxModelShow = false;
-		},
-		bindWxCancel() {
-			this.bindWxModelShow = false;
-		},
-		// 寮瑰嚭灞傛椂闂�
-		closePopup() {
-			this.loginPopupShow = false;
-		},
-		openPopup() {
-			console.log('鎵撳紑浜�');
-		},
-		registerClick() {
-			uni.navigateTo({
-				url: '/pages/register/register'
-			});
+			},
+			// 鐧诲綍鎺ュ彛
+			apiLogin(code) {
+				// 鑾峰彇寰俊鐢ㄦ埛openid,寰俊涓�閿櫥褰曟殏鏃犵浉鍏虫帴鍙o紝鐢ㄤ簬娴嬭瘯鍛煎彨瀹㈡湇鍔熻兘
+				uni.showLoading({
+					title: '鍔犺浇涓�...'
+				});
+				// wx.request({
+				// 	url: `https://api.weixin.qq.com/sns/jscode2session?appid=${this.appid}&secret=${this.secret}&js_code=${code}&grant_type=authorization_code`,
+				// 	success(res) {
+				// 		console.log(res, 'openid');
+				// 		uni.setStorageSync('openid', res.data.openid);
+				// 		// uni.showToast({
+				// 		// 	title: '鎴愬姛鑾峰彇娴嬭瘯openid',
+				// 		// 	icon: 'none'
+				// 		// });
+				// 	}
+				// });
+				this.$nextTick(() => {
+					apiLoginWx({ code: code }).then(res => {
+						if (res.code != 1) {
+							this.$u.toast('鐧诲綍鎴愬姛');
+							this.changeisLogin(true);
+							// 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭�
+							setToken(res.access_token);
+							setRefreshToken(res.refresh_token);
+							setUsernameKey(res.username);
+							//鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛�
+							this.$reqGet('getUserEntity').then(res => {
+								this.setUserTabbar(res.data.type);
+								uni.setStorageSync('roleType', res.data.type);
+								uni.setStorageSync("userId", res.data.userId)
+								uni.setStorageSync("carNo", res.data.carNo)
+								uni.setStorageSync("isFirstMeet", false)
+								setCustomerId(res.data.customerid);
+								uni.hideLoading();
+								//璺宠浆椤甸潰
+								this.$nextTick(() => {
+									redirectHome();
+								});
+							});
+						} else {
+							this.$u.toast(res.msg);
+							this.bindWxModelShow = true;
+						}
+					}).catch((err) => {
+						this.loginPopupShow = false;
+					});
+				});
+				this.loginPopupShow = false;
+			},
+			bindWxConfirm() {
+				uni.navigateTo({
+					url: `/pages/login/wxLogin?code=${uni.getStorageSync('code')}`
+				});
+				this.bindWxModelShow = false;
+			},
+			bindWxCancel() {
+				this.bindWxModelShow = false;
+			},
+			// 寮瑰嚭灞傛椂闂�
+			closePopup() {
+				this.loginPopupShow = false;
+			},
+			openPopup() {
+				console.log('鎵撳紑浜�');
+			},
+			forgetPassword() {
+				uni.navigateTo({
+					url: '/pages/login/forgetPassword/forgetPassword'
+				})
+			},
+			PrivacyAgreementHandle() {
+				uni.navigateTo({
+					url: '/pages/login/PrivacyAgreementText/PrivacyAgreementText'
+				})
+			},
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-@import 'index.scss';
-.login {
-	// height: 100vh;
-	// display: flex;
-	// align-items: center;
+	@import 'index.scss';
 
-	// .loginBtn {
-	//   margin: 0 auto;
-	//   width: 80%;
+	.PrivacyAgreement {
+		color: rgb(60, 156, 255)
+	}
 
-	//   .u-button {
-	//     .u-icon {
-	//       .u-icon__icon {
-	//         font-size: vww(20) !important;
-	//       }
-	//     }
-	//   }
+	.login {
+		.loginBtn {
+			margin-top: vww(20);
 
-	//   .u-button--success {
-	//     border-style: none;
-	//   }
-	// }
-	.loginBtn {
-		margin-top: vww(20);
-		.u-button {
+			.u-button {
+				width: 80%;
+			}
+		}
+
+		.utils-block {
 			width: 80%;
-		}
-	}
-	.logo {
-		width: 80%;
-		font-size: 64rpx;
-		color: #497bff;
-		margin: vww(100) auto 0;
-		text-align: center;
-	}
-
-	.list-call-icon {
-		color: #ff0000;
-	}
-
-	.currentPhone-box {
-		text-align: center;
-		padding: 40rpx 80rpx;
-
-		.number-text {
-			color: #000000;
-			font-size: 60rpx;
+			margin: vww(20) auto;
+			display: flex;
+			justify-content: space-between;
+			color: #497bff;
+			font-size: vww(17);
 		}
 
-		.other-text {
-			color: #999999;
-			font-size: 26rpx;
-			padding: 20rpx 0;
+		.logo {
+			width: 80%;
+			font-size: 64rpx;
+			color: #497bff;
+			margin: vww(100) auto 0;
+			text-align: center;
 		}
 
-		.u-btn {
-			margin: 30rpx auto;
+		.list-call-icon {
+			color: #ff0000;
 		}
 
-		.u-hairline-border {
-			border: 1px solid #fff;
+		.currentPhone-box {
+			text-align: center;
+			padding: 40rpx 80rpx;
+
+			.number-text {
+				color: #000000;
+				font-size: 60rpx;
+			}
+
+			.other-text {
+				color: #999999;
+				font-size: 26rpx;
+				padding: 20rpx 0;
+			}
+
+			.u-btn {
+				margin: 30rpx auto;
+			}
+
+			.u-hairline-border {
+				border: 1px solid #fff;
+			}
 		}
-	}
 
-	.register {
-		color: #497bff;
-		height: 40rpx;
-		line-height: 40rpx;
-		font-size: 28rpx;
-		position: fixed;
-		bottom: vww(70);
-		text-align: center;
-		width: 100%;
-	}
-
-	.register-link {
-		float: right;
-		padding: 0 16rpx;
-	}
-
-	.reg-link {
-		display: inline-block;
-		color: #497bff;
-	}
-
-	.oauth2 {
-		display: flex;
-		flex-direction: row;
-		justify-content: space-around;
-		margin: 0rpx 100rpx 30rpx;
-
-		image {
-			height: 80rpx;
-			width: 80rpx;
+		.register {
+			color: #497bff;
+			height: 40rpx;
+			line-height: 40rpx;
+			font-size: 28rpx;
+			position: fixed;
+			bottom: vww(70);
+			text-align: center;
+			width: 100%;
 		}
-	}
 
-	.u-tabs {
-		padding: 0 70rpx;
-	}
+		.register-link {
+			float: right;
+			padding: 0 16rpx;
+		}
 
-	// 寮瑰嚭妗�
-	.loginPopup {
-		.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%;
+		.reg-link {
+			display: inline-block;
+			color: #497bff;
+		}
+
+		.oauth2 {
+			display: flex;
+			flex-direction: row;
+			justify-content: space-around;
+			margin: 0rpx 100rpx 30rpx;
+
+			image {
+				height: 80rpx;
+				width: 80rpx;
+			}
+		}
+
+		.u-tabs {
+			padding: 0 70rpx;
+		}
+
+		// 寮瑰嚭妗�
+		.loginPopup {
+			.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%;
+								}
 							}
 						}
 					}
@@ -289,5 +327,4 @@
 			}
 		}
 	}
-}
 </style>

--
Gitblit v1.9.1