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/userPassword.vue | 377 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 271 insertions(+), 106 deletions(-) diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue index 4b8b3fd..a9853cc 100644 --- a/pages/login/userPassword.vue +++ b/pages/login/userPassword.vue @@ -2,134 +2,299 @@ <view> <view class="list"> <view class="list-call"> - <u--input - v-model="username" + <!-- <u--input v-model="username" clearable maxlength="32" type="text" - placeholder="璇疯緭鍏ョ敤鎴峰悕" + placeholder="璇疯緭鍏ユ墜鏈哄彿" prefixIcon="account" - prefixIconStyle="font-size: 22px;color: #909399" - ></u--input> + prefixIconStyle="font-size: 22px;color: #909399"></u--input> --> + <!-- #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 --> + <!-- #ifdef MP-WEIXIN --> + <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 + <u-input v-model="password" + v-if="inpType" + clearable maxlength="32" - type="password" + :type="'password'" placeholder="璇疯緭鍏ュ瘑鐮�" prefixIcon="lock" - prefixIconStyle="font-size: 22px;color: #909399" - ></u--input> + style="padding:0;margin-left:8px;" + prefixIconStyle="font-size: 22px;color: #909399"> + <template slot="suffix"> + <u-icon size="45" name="eye-off" @click.native.stop="todoShow"></u-icon> + </template> + </u-input> + <u-input v-model="password" + v-if="!inpType" + maxlength="32" + clearable + :type="'text'" + placeholder="璇疯緭鍏ュ瘑鐮�" + prefixIcon="lock" + style="padding:0;margin-left:8px;" + prefixIconStyle="font-size: 22px;color: #909399"> + <template slot="suffix"> + <u-icon size="45" name="eye" @click.native.stop="todoShow"></u-icon> + </template> + </u-input> </view> </view> - <view class="loginBtn"><u-button type="primary" :text="btnText == 1 ? '缁戝畾' : '鐧诲綍'" @click="submit()"></u-button></view> + <!-- 璁颁綇瀵嗙爜 --> + <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> + <view class="loginBtn"> + <u-button type="primary" + :text="btnText == 1 ? '缁戝畾' : '鐧诲綍'" + @click="submit()" + :loading="submitLoading"> + </u-button> + </view> </view> </template> <script> -import { apiLoginPassword } from '@/api/publicInterface.js'; -import { mapMutations } from 'vuex'; -import { setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js'; -export default { - name: 'userPassword', - props: { - //0:姝e父锛�1锛氬井淇$粦瀹� - btnText: { - type: Number, - default: 0 - } - }, - data() { - return { - // username: '12222222222',// 瀹㈡埛 - // username: '18805080506',// 鐜嬫锛堝徃鏈猴級 - username: '13333333332',// driver - password: '123456', - remember: true, - baseUrl: '' - }; - }, - methods: { - ...mapMutations(['setUserTabbar']), - //鐧诲綍 - async submit() { - uni.showLoading({ - title: '鐧诲綍涓�...' - }); - //琛ㄥ崟鏍¢獙 - if (this.username.length === 0) { - this.$u.toast('璇疯緭鍏ヨ处鍙�'); - return; + 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', + props: { + //0:姝e父锛�1锛氬井淇$粦瀹� + btnText: { + type: Number, + default: 0 + }, + userList: { + type: Array, + default: () => { + return []; + } } - if (this.password.length === 0) { - this.$u.toast('璇疯緭鍏ュ瘑鐮�'); - return; - } - let grant_type = 'password'; - //鐧诲綍鎺ュ彛 - await apiLoginPassword({ - username: this.username, - password: this.password, - grant_type, - scope: 'server' - }) - .then(res => { - setToken(res.access_token); - setRefreshToken(res.refresh_token); - if (this.btnText == 0) { - if (res.code != 1) { - // 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭� - setToken(res.access_token); - setRefreshToken(res.refresh_token); - setUsernameKey(res.username); - //鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛� - this.$reqGet('getUserEntity').then(res => { - this.$u.toast('鎭枩鎮紝鐧诲綍鎴愬姛锛�'); - this.setUserTabbar(res.data.type); - uni.setStorageSync('roleType', res.data.type); - setCustomerId(res.data.customerid); + }, + components: { + customPagination + }, + data() { + return { + username: '', // 瀹㈡埛 + isJizhu: uni.getStorageSync('remberPassWord').username ? ['1'] : false, + isChecked:false, + username: uni.getStorageSync('remberPassWord').username || '',//鎵胯繍鍟� + password: uni.getStorageSync('remberPassWord').password || '', + remember: true, + inpType:true, + baseUrl: '', + submitLoading: false, + weXinisLoginFlag:[1,2,3], //寰俊 + H5IsLoginFlag:[5,6], //h5 + }; + }, + methods: { + ...mapMutations(['setUserTabbar']), + changeInput2(e){ + this.username=e.username + // this.password=e.password + }, + handleInput2(e){ + }, + todoShow(){ + console.log('鐐瑰嚮') + this.inpType = !this.inpType; + this.password = this.password; + + }, + //鐧诲綍 + async submit() { + uni.showLoading({ + title: '鐧诲綍涓�...' + }); + //琛ㄥ崟鏍¢獙 + if (this.username.length === 0) { + this.$u.toast('璇疯緭鍏ヨ处鍙�'); + return; + } + if (this.password.length === 0) { + this.$u.toast('璇疯緭鍏ュ瘑鐮�'); + return; + } + let grant_type = 'password'; + //鐧诲綍鎺ュ彛 + this.submitLoading = true + await apiLoginPassword({ + username: this.username, + password: this.password, + grant_type, + scope: 'server' + }) + .then(res => { + setToken(res.access_token); + setRefreshToken(res.refresh_token); + if (this.btnText == 0) { + this.submitLoading = false + if (res.code != 1) { + + + // 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭� + setToken(res.access_token); + setRefreshToken(res.refresh_token); + setUsernameKey(res.username); + //鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛� + this.$reqGet('getUserEntity') + .then(res => { + console.log(res,'鐧诲綍淇℃伅----------') + //#ifdef MP-WEIXIN + if(this.H5IsLoginFlag.includes(res.data.type)) { + this.$u.toast('褰撳墠瑙掕壊璇峰墠寰�h5椤甸潰鐧诲綍') + return ; + + } + //#endif + // #ifdef H5 + if(this.weXinisLoginFlag.includes(res.data.type)) { + console.log('瑙﹀彂鐧诲綍瑙掕壊') + this.$u.toast('褰撳墠瑙掕壊璇峰墠寰�灏忕▼搴忕櫥褰�') + return ; + + } + //#endif + + this.$u.toast('鐧诲綍鎴愬姛'); + if(this.isJizhu.length){ //璁颁綇瀵嗙爜 + uni.setStorageSync('remberPassWord',{ + username: this.username, + password: this.password, + }); + }else{ + uni.setStorageSync('remberPassWord',{ + username: this.username, + password: '', + }); + } + this.setUserTabbar(res.data.type); + uni.setStorageSync('productIds',res.data.productIds) + uni.setStorageSync('roleType', res.data.type); + uni.setStorageSync("userId", res.data.userId) + uni.setStorageSync("carNo", res.data.carNo) + uni.setStorageSync("userInfo", res.data) + uni.removeStorageSync('bunkerIds') + uni.setStorageSync("isFirstMeet", false) + 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)) + setCustomerId(res.data.customerid); + setName(res.data.name); + 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); + }); + } else { uni.hideLoading(); - //璺宠浆椤甸潰 - this.$nextTick(() => { - redirectHome(); - }); - }).catch(err=>{ - this.$u.toast('鐧诲綍寮傚父锛�'); - console.log(err); - }); + this.$u.toast(res.msg); + } } else { - uni.hideLoading(); - this.$u.toast(res.msg); - } - } else { - this.$nextTick(() => { - this.$reqPost('wxBind', { state: 'MINI', code: uni.getStorageSync('code') }, 'params').then(res => { - uni.hideLoading(); - if (res.code == 0) { - this.$u.toast('缁戝畾鎴愬姛锛佸嵆灏嗗洖鍒扮櫥褰曢〉锛�'); - setTimeout(() => { - uni.navigateBack(); - }, 1000); - } else { - this.$u.toast(res.msg ? res.msg : '缁戝畾澶辫触'); + uni.login({ + success: res => { + if (res.code) { + uni.setStorageSync('bindcode', res.code); + } + if (uni.getStorageSync('bindcode')) { + this.$reqPost('wxBind', { state: 'MINI', code: uni.getStorageSync('bindcode') }, + 'params').then(res => { + uni.hideLoading(); + if (res.code == 0) { + this.$u.toast('缁戝畾鎴愬姛锛佸嵆灏嗗洖鍒扮櫥褰曢〉锛�'); + setTimeout(() => { + uni.navigateBack(); + }, 1000); + } else { + this.$u.toast(res.msg ? res.msg : '缁戝畾澶辫触'); + } + }); + } } }); - }); - } - }) - .catch(e => { - this.$u.toast(e); - }); + + } + }).catch(e => { + this.submitLoading = false + this.$u.toast(e); + }); + + }, + checkboxChange(val){ + console.log(val,'isJz') + } } - } -}; + }; </script> <style lang="scss"> -@import 'index.scss'; -.dengluBtn { - margin-top: 80rpx; -} + @import 'index.scss'; + + .dengluBtn { + margin-top: 80rpx; + } + /* #ifdef H5 */ + .loginBtn{ + width: 80%; + margin: 0 auto; + } + /* #endif */ + .jizhu{ + padding: 40rpx 70rpx 40rpx 70rpx; + display: flex; + justify-content: flex-end; + } </style> -- Gitblit v1.9.1