From f47ce70afac05ce941b5eafb2d9114c7a017f774 Mon Sep 17 00:00:00 2001
From: 付延余 <f-yanyu@outlook.com>
Date: 星期二, 06 九月 2022 20:01:27 +0800
Subject: [PATCH] 新增微信账号快捷登录、账号绑定、换绑功能,及页面更新。
---
pages/login/login.vue | 171 ++++++++++++++++++++++++--------------------------------
1 files changed, 73 insertions(+), 98 deletions(-)
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 4956eb1..5654590 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,125 +1,100 @@
<template>
<view class="login">
<image src="@/static/login/banner.png" class="background"></image>
- <view class="inputBox">
- <view class="phone">
- <image src="@/static/login/phone.png" mode="鍔犺浇閿欒"></image>
- <input type="text" placeholder="璇疯緭鍏ョ敤鎴峰悕/鎵嬫満鍙�" v-model="formData.username" />
- </view>
- <view class="password">
- <image src="@/static/login/lock.png" mode="鍔犺浇閿欒" />
- <input type="password" placeholder="璇疯緭鍏ヨ处鍙峰瘑鐮�" v-model="formData.password" />
- </view>
- <view class="loginBtn"><button type="default" @click="loginSubmit">鐧诲綍</button></view>
- </view>
+ <view class="loginBtn"><u-button throttleTime="3000" text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="wxLogin"></u-button></view>
</view>
</template>
<script>
-import { setAccessToken,setTokenType,setRefreshToken,setClientId,setScope,redirectHome,redirectLogin } from '@/utils/status.js'
+import { setAccessToken, setTokenType, setRefreshToken, setClientId, setScope, redirectHome, redirectLogin } from '@/utils/status.js';
export default {
- name: 'login',
data() {
return {
- formData:{
- username:'',
- password:''
- }
+ wxcode: ''
};
},
- onShow(){
- // 娓呴櫎缂撳瓨
- if(uni.getStorageSync('userInfo')||uni.getStorageSync('access_token')||uni.getStorageSync('refresh_token')){
- this.$u.toast('鎴愬姛杩涘叆鐧诲綍椤�');
- uni.clearStorageSync();
- }
- },
- methods:{
- loginSubmit(){
- console.log('鐐瑰嚮鐧诲綍');
- // console.log('login');
- uni.showLoading({
- title:'鐧诲綍涓�...'
- });
- this.apiLogin(this.formData).then(this.saveUserInfo).catch(this.loginFail);
- },
- saveUserInfo(response){
- uni.hideLoading();
- if(response.statusCode === 200){
- // console.log('res',response);
- const { data } = response;
- const { access_token,refresh_token,token_type,scope } = data;
- try {
- setAccessToken(access_token);
- setTokenType(token_type);
- setRefreshToken(refresh_token);
- setScope(scope);
- this.$store.dispatch('menus')
- redirectHome();
- uni.hideLoading();
- } catch (e) {
- // error
- console.log(e);
- }
- } else{
- uni.showToast({
- title:response.data.msg,
- icon:'error',
- duration:2000
- })
- }
+ onShow() {
+ // 娓呴櫎缂撳瓨
+ if (uni.getStorageSync('userInfo') || uni.getStorageSync('access_token') || uni.getStorageSync('refresh_token')) {
+ uni.clearStorageSync();
}
-
+ },
+ methods: {
+ wxLogin() {
+ uni.showLoading({
+ title: '鍔犺浇涓�...'
+ });
+ uni.login({
+ success: res => {
+ console.log('鐧诲綍loginRes', res);
+ if (res.code) {
+ this.wxcode = res.code;
+ this.wxSmallLogin(this.wxcode)
+ .then(res => {
+ if (res.data.data == '鐢ㄦ埛涓嶅瓨鍦�') {
+ this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�')
+ setTimeout(()=>{
+ uni.navigateTo({
+ url: '/pages/register/register'
+ });
+ },1000)
+ } else if (res.data.active && res.data.active == true) {
+ const { access_token, refresh_token, token_type, scope } = res.data;
+ try {
+ setAccessToken(access_token);
+ setTokenType(token_type);
+ setRefreshToken(refresh_token);
+ setScope(scope);
+ this.$store.dispatch('menus');
+ redirectHome();
+ uni.hideLoading();
+ } catch (e) {
+ // error
+ console.log(e);
+ }
+ }
+ console.log('寰俊鐧诲綍', res);
+ })
+ .catch(err => {
+ console.log('閿欒', err);
+ });
+ } else {
+ uni.showToast({
+ title: '寰俊鐧诲綍澶辫触锛�',
+ duration: 2000
+ });
+ }
+ }
+ });
+ }
}
};
</script>
<style lang="scss" scoped>
-.login {
+::v-deep.login {
+ height: 100vh;
+
.background {
width: 100%;
- height: vww(289);
+ // height: vww(289);
+ height: vww(246);
}
- .inputBox {
- width: vww(280);
- margin: vww(40) auto;
- input {
- width: vww(240);
- margin-left: vww(8);
- }
- .phone {
- width: vww(280);
- height: vww(36);
- display: flex;
- align-items: center;
- border-bottom: vww(1) solid #cccccc;
- image {
- width: vww(20);
- height: vww(20);
- }
- }
- .password {
- width: vww(280);
- height: vww(36);
- display: flex;
- align-items: center;
- margin-top: vww(40);
- border-bottom: vww(1) solid #cccccc;
- image {
- width: vww(20);
- height: vww(20);
- }
- }
- .loginBtn {
- margin-top: vww(80);
- button {
- background-color: #007aff;
- color: #ffffff;
- font-size: vww(16);
- border-radius: vww(22);
+ .loginBtn {
+ margin: vww(60) auto;
+ width: 80%;
+ .u-button {
+ .u-icon {
+ .u-icon__icon {
+ font-size: vww(30) !important;
+ }
}
}
+
+ .u-button--success {
+ border-style: none;
+ }
}
}
</style>
--
Gitblit v1.9.1