From 513be798a677672644770e2b2f7025b6d4d20414 Mon Sep 17 00:00:00 2001 From: 付延余 <f-yanyu@outlook.com> Date: 星期三, 07 九月 2022 14:44:04 +0800 Subject: [PATCH] 完善登录,登录授权 --- pages/login/login.vue | 135 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 119 insertions(+), 16 deletions(-) diff --git a/pages/login/login.vue b/pages/login/login.vue index 5654590..fe8c0c7 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -1,7 +1,32 @@ <template> <view class="login"> <image src="@/static/login/banner.png" class="background"></image> - <view class="loginBtn"><u-button throttleTime="3000" text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="wxLogin"></u-button></view> + <view class="login-container"> + <view class="loginBtn"><u-button text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="toGrantAuthorization"></u-button></view> + <view class="utils"><text @click="toBindPage">缁戝畾绯荤粺璐﹀彿</text></view> + </view> + <!-- 鐗瑰畾鑼冨洿璇存槑 --> + <view class="loginBottom"><text>灏忕▼搴忎粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳浣跨敤</text></view> + <u-modal + @confirm="wxLoginConfirm" + @cancel="wxLoginCancel" + @close="wxLoginClose" + :show="wxLoginModal.show" + :title="wxLoginModal.title" + :content="wxLoginModal.content" + :showCancelButton="true" + ></u-modal> + <view class="toGrantAuthorization-container"> + <u-popup :show="popupShow" 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="popupShow = 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> </template> @@ -10,7 +35,13 @@ export default { data() { return { - wxcode: '' + wxcode: '', //寰俊code + wxLoginModal: { + show: false, + title: '鎻愮ず', + content: '' + }, + popupShow: false }; }, onShow() { @@ -20,7 +51,11 @@ } }, methods: { + toGrantAuthorization() { + this.popupShow = true; + }, wxLogin() { + this.popupShow = false; uni.showLoading({ title: '鍔犺浇涓�...' }); @@ -32,12 +67,9 @@ this.wxSmallLogin(this.wxcode) .then(res => { if (res.data.data == '鐢ㄦ埛涓嶅瓨鍦�') { - this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�') - setTimeout(()=>{ - uni.navigateTo({ - url: '/pages/register/register' - }); - },1000) + // this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�'); + this.wxLoginModal.content = '鏈粦瀹氱郴缁熻处鍙凤紝鏄惁璺宠浆璐﹀彿缁戝畾椤甸潰锛�'; + this.wxLoginModal.show = true; } else if (res.data.active && res.data.active == true) { const { access_token, refresh_token, token_type, scope } = res.data; try { @@ -66,6 +98,32 @@ } } }); + }, + toBindPage() { + uni.navigateTo({ + url: '/pages/register/register' + }); + }, + // 妯℃�佹 + wxLoginConfirm() { + uni.navigateTo({ + url: '/pages/register/register' + }); + this.wxLoginModal.show = false; + }, + wxLoginCancel() { + this.wxLoginModal.show = false; + }, + wxLoginClose() { + this.wxLoginModal.show = false; + }, + // 寮瑰嚭妗� + openPopup() { + console.log('open'); + }, + closePopup() { + this.popupShow = false; + console.log('close'); } } }; @@ -80,20 +138,65 @@ // height: vww(289); height: vww(246); } - - .loginBtn { + .login-container { margin: vww(60) auto; width: 80%; - .u-button { - .u-icon { - .u-icon__icon { - font-size: vww(30) !important; + .loginBtn { + .u-button { + .u-icon { + .u-icon__icon { + font-size: vww(30) !important; + } } + .u-button__text { + font-size: vww(17) !important; + font-weight: 530; + } + } + + .u-button--success { + border-style: none; + background-color: #3ebc17; } } - .u-button--success { - border-style: none; + .utils { + font-size: vww(14); + margin-top: vww(20); + text-align: center; + color: #346a9d; + } + } + + .loginBottom { + color: #aaaaaa; + margin-top: vww(180); + font-size: vww(14); + text-align: center; + } + + // 寮瑰嚭妗� + .toGrantAuthorization-container { + .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%; + } + } + } + } + } } } } -- Gitblit v1.9.1