From b0e249aa5d69791a5d9b9bec64d4e8897b4bae69 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期五, 28 三月 2025 17:32:09 +0800
Subject: [PATCH] feat:体积缩小

---
 pages/login/userPassword.vue |  155 +++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 136 insertions(+), 19 deletions(-)

diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue
index 73b5cfc..31d12eb 100644
--- a/pages/login/userPassword.vue
+++ b/pages/login/userPassword.vue
@@ -2,6 +2,7 @@
 	<view>
 		<view class="list">
 			<view class="list-call">
+				<!--  #ifdef MP-WEIXIN  -->
 				<u--input v-model="username"
 					clearable
 					maxlength="32"
@@ -9,7 +10,20 @@
 					placeholder="璇疯緭鍏ユ墜鏈哄彿"
 					prefixIcon="account"
 					prefixIconStyle="font-size: 22px;color: #909399"></u--input>
+					<!--  #endif  -->
+					  <!--  #ifdef H5  -->
+				<customPagination
+						style="width:100%; height: 60rpx;  font-size: 30rpx;"
+						:options="userList"
+						:value="username"
+						v-model="username"
+						@changeInput="changeInput2"
+						@input="handleInput2"
+						:placeholder="'璇疯緭鍏ョ櫥褰曡处鍙�'"
+					></customPagination>
+					<!--  #endif  -->
 			</view>
+				
 			<view class="list-call">
 				<u--input v-model="password"
 					clearable
@@ -20,15 +34,35 @@
 					prefixIconStyle="font-size: 22px;color: #909399"></u--input>
 			</view>
 		</view>
+		<!-- 璁颁綇瀵嗙爜 -->
+		 <!--  #ifdef H5  -->
+		<view class="jizhu">
+			<view>
+				<u-checkbox-group
+         	v-model="isJizhu"
+            placement="column"
+            @change="checkboxChange"
+        >
+			<u-checkbox
+			:checked="isChecked"
+			label="璁颁綇瀵嗙爜" :size='35' :iconSize="35" :labelSize="30" name="1"
+			placement="row">
+		</u-checkbox>
+		</u-checkbox-group>
+	</view>
+		</view>
+			<!--  #endif  -->
 		<view class="loginBtn"><u-button type="primary"
 				:text="btnText == 1 ? '缁戝畾' : '鐧诲綍'"
-				@click="submit()"></u-button></view>
+				@click="submit()"
+				:loading="submitLoading"></u-button></view>
 	</view>
 </template>
 
 <script>
 	import { apiLoginPassword } from '@/api/publicInterface.js';
 	import { mapMutations } from 'vuex';
+    import customPagination from './user.vue'
 	import { setName, setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js';
 	export default {
 		name: 'userPassword',
@@ -37,7 +71,16 @@
 			btnText: {
 				type: Number,
 				default: 0
+			},
+			userList: {
+				type: Array,
+				default: () => {
+					return [];
+				}
 			}
+		},
+		components: {
+			customPagination
 		},
 		data() {
 			return {
@@ -45,8 +88,15 @@
 				// username:'13333333331',//璐т唬
 				// username: '13333333332',// 鍙告満
 				password: '',
+				isChecked:false,
 				remember: true,
-				baseUrl: ''
+				isJizhu: uni.getStorageSync('remberPassWord').username  ? ['1'] : false,
+				username: uni.getStorageSync('remberPassWord').username || '',//鎵胯繍鍟�
+				password: uni.getStorageSync('remberPassWord').password || '',
+				baseUrl: '',
+				weXinisLoginFlag:[1,2,3], //寰俊
+				H5IsLoginFlag:[5,6,7], //h5
+				submitLoading: false
 			};
 		},
 		methods: {
@@ -67,6 +117,7 @@
 				}
 				let grant_type = 'password';
 				//鐧诲綍鎺ュ彛
+				this.submitLoading = true
 				await apiLoginPassword({
 						username: this.username,
 						password: this.password,
@@ -74,9 +125,11 @@
 						scope: 'server'
 					})
 					.then(res => {
+						this.submitLoading = false
 						setToken(res.access_token);
 						setRefreshToken(res.refresh_token);
 						if (this.btnText == 0) {
+							this.submitLoading = false
 							if (res.code != 1) {
 								// 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭�
 								setToken(res.access_token);
@@ -85,20 +138,58 @@
 								//鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛�
 								this.$reqGet('getUserEntity')
 									.then(res => {
-										this.$u.toast('鐧诲綍鎴愬姛');
-										this.setUserTabbar(res.data.type);
-										uni.setStorageSync('roleType', res.data.type);
-										uni.setStorageSync("userId", res.data.userId)
-										uni.setStorageSync("carNo", res.data.carNo)
-										setCustomerId(res.data.customerid);
-										setName(res.name);
-										uni.hideLoading();
-										//璺宠浆椤甸潰
-										this.$nextTick(() => {
-											redirectHome();
+							
+								// #ifdef H5
+								if(this.weXinisLoginFlag.includes(res.data.type)) {
+									console.log('瑙﹀彂鐧诲綍瑙掕壊')
+									this.$u.toast('褰撳墠瑙掕壊璇峰墠寰�灏忕▼搴忕櫥褰�')
+									return ;
+
+								}
+								//#endif
+                    this.$u.toast('鐧诲綍鎴愬姛');
+					// #ifdef H5
+					if(this.isJizhu.length){ //璁颁綇瀵嗙爜
+							uni.setStorageSync('remberPassWord',{
+									username: this.username,
+									password: this.password,
 										});
+										}else{
+										uni.setStorageSync('remberPassWord',{
+												username: this.username,
+												password: '',
+											});
+										}
+										//#endif	
+					this.submitLoading = false
+					this.getLoginInfo(); // 璁板綍鐧诲綍淇℃伅
+                    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("userInfo", res.data)
+                    setCustomerId(res.data.customerid);
+                    setName(res.name);
+					let data=uni.getStorageSync('userList')?JSON.parse(uni.getStorageSync('userList')):[];
+					let id = data.length + 1;
+				    if (data.filter(item=> item.username == this.username).length == 0){
+				     data.push({username: this.username,password: this.password,type:res.data.type})
+					}
+					uni.setStorageSync("userList", JSON.stringify(data))
+                    uni.hideLoading();
+                    if(res.data.forcePassword == 1) {
+                      uni.navigateTo({
+                        url: '/pages/login/resetPassword/resetPassword'
+                      })
+                    }else {
+                      //璺宠浆椤甸潰
+                      this.$nextTick(() => {
+                        redirectHome();
+                      });
+                    }
 									})
 									.catch(err => {
+										this.submitLoading = false
 										this.$u.toast('鐧诲綍寮傚父锛�');
 										console.log(err);
 									});
@@ -107,14 +198,13 @@
 								this.$u.toast(res.msg);
 							}
 						} else {
+							console.log('寰俊缁戝畾锛燂紵锛燂紵锛�')
 							uni.login({
 								success: res => {
 									if (res.code) {
 										uni.setStorageSync('bindcode', res.code);
 									}
-								}
-							});
-							if (uni.getStorageSync('bindcode')) {
+									if (uni.getStorageSync('bindcode')) {
 								this.$reqPost('wxBind', { state: 'MINI', code: uni.getStorageSync('bindcode') },
 									'params').then(res => {
 									uni.hideLoading();
@@ -126,22 +216,49 @@
 									} else {
 										this.$u.toast(res.msg ? res.msg : '缁戝畾澶辫触');
 									}
+								}).finally(() => {
+									this.submitLoading = false;
 								});
 							}
+								}
+							});
+							this.submitLoading = false
+						
 						}
-					})
-					.catch(e => {
+					}).catch(e => {
+						this.submitLoading = false
 						this.$u.toast(e);
 					});
+
+			},
+			//璁板綍鐧诲綍淇℃伅
+			getLoginInfo(){
+				this.$reqPost('setApplogonTime').then((res) => {
+				  	
+				})
+			},
+			checkboxChange(val){
+				console.log(val,'isJz')
 			}
 		}
 	};
 </script>
 
 <style lang="scss">
+  /* #ifdef H5 */
+  .loginBtn{
+    width: 80%;
+    margin: 0 auto;
+  }
+  /* #endif */
 	@import 'index.scss';
 
 	.dengluBtn {
 		margin-top: 80rpx;
 	}
-</style>
\ No newline at end of file
+	.jizhu{
+	padding: 40rpx 70rpx 40rpx 70rpx;
+	display: flex;
+    justify-content: flex-end;
+  }
+</style>

--
Gitblit v1.9.1