From 0ad1bb4a25e7b5d98b4d0fc18e7294d132e1ec3e Mon Sep 17 00:00:00 2001 From: wk Date: 星期四, 13 六月 2024 14:44:58 +0800 Subject: [PATCH] feat:运输证 --- pages/login/login.vue | 477 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 264 insertions(+), 213 deletions(-) diff --git a/pages/login/login.vue b/pages/login/login.vue index 944adea..2f5b0c9 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -2,265 +2,317 @@ <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"> + <view @click="forgetPassword"><text>蹇樿瀵嗙爜?</text></view> + <view @click="PrivacyAgreementHandle"><text>鏂扮敤鎴锋敞鍐�</text></view> + </view> + <view class="login-bottom-box"> <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 { - 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.apiLogin(res.code); - } else { - uni.showToast({ - title: '寰俊鐧诲綍澶辫触锛�', - duration: 2000 - }); - } - } - }); + components: { + userPassword }, - // 鐧诲綍鎺ュ彛 - apiLogin(code) { - /** - * @openid - * 鑾峰彇寰俊鐢ㄦ埛openid,寰俊涓�閿櫥褰曟殏鏃犵浉鍏虫帴鍙o紝鐢ㄤ簬娴嬭瘯鍛煎彨瀹㈡湇鍔熻兘 - */ - uni.showLoading({ - title: '鍔犺浇涓�...' - }); - wx.request({ - url: `https://api.weixin.qq.com/sns/jscode2session?appid=wx4a62fc1684c429a9&secret=ee90afe376cdcec2fdd947c0a4db961a&js_code=${code}&grant_type=authorization_code`, - success(res) { - uni.setStorageSync('openid', res.data.openid); - uni.showToast({ - title: '鎴愬姛鑾峰彇娴嬭瘯openid', - icon: 'none' - }); - } - }); - this.$nextTick(() => { - apiLoginWx({ code: uni.getStorageSync('openid') }).then(res => { - uni.hideLoading(); - 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) + setCustomerId(res.data.customerid); + uni.hideLoading(); + //璺宠浆椤甸潰 + this.$nextTick(() => { + redirectHome(); + }); + }); + } else { + this.$u.toast(res.msg); + this.bindWxModelShow = true; + } + }); + }); + 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%; + } } } } @@ -268,5 +320,4 @@ } } } -} </style> -- Gitblit v1.9.1