From 97d88adcdfa7e13b2203c8716c02866fae087704 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期二, 26 九月 2023 09:38:47 +0800
Subject: [PATCH] 修改磅房忙碌问题及其他问题
---
pages/login/login.vue | 483 ++++++++++++++++++++++++++++++++--------------------
1 files changed, 295 insertions(+), 188 deletions(-)
diff --git a/pages/login/login.vue b/pages/login/login.vue
index d7fe141..f2af9b5 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,215 +1,322 @@
<template>
<view class="login">
- <!-- <view class="loginBtn">
- <u-button text="寰俊涓�閿櫥褰�" type="success" shape="circle" icon="weixin-fill" @click="apiLogin"></u-button>
- </view> -->
-
- <!--鍥介檯鍖�-->
- <js-lang title="login.title" :showBtn="false"></js-lang>
<view class="logo">鏃犱汉鍊煎畧</view>
- <!-- 绉熸埛鍒楄〃 -->
- <!-- <view class="tenantList">
- <u-input v-model="tenantId" placeholder="璇疯緭鍏ュ唴瀹�" type="select" border="true" @click="show = true" />
- <u-action-sheet :list="tenantList" v-model="show" @click="selectTenant"></u-action-sheet>
- </view> -->
<!--鐢ㄦ埛鍚嶅瘑鐮佺櫥褰�-->
- <user-password />
-
- <!-- #ifdef MP -->
- <view class="loginBtn"><u-button class="button" @click.stop="getUserProfile" :disabled="btnLoading" :loading="btnLoading" type="primary" text="寰俊涓�閿櫥褰�"></u-button></view>
- <view class="register" @click="registerClick"><text>娉ㄥ唽</text></view>
- <!-- #endif -->
- <view class="login-bottom-box"><view class="copyright">2023鍐�涓兘婧愭棤浜哄�煎畧寰俊灏忕▼搴�</view></view>
+ <user-password :btnText="0" />
+ <!-- 寰俊openid鐧诲綍 -->
+ <view class="loginBtn">
+ <u-button class="button"
+ @click.stop="beforeLoginEvent"
+ :disabled="btnLoading"
+ :loading="btnLoading"
+ type="primary"
+ text="寰俊涓�閿櫥褰�"></u-button>
+ </view>
+ <!-- <view class="loginBtn">
+ <u-button @click.stop="jumpBindBack"
+ type="primary"
+ text="涓�閿粦瀹氭祴璇�"></u-button>
+ </view> -->
+ <view class="register"
+ @click="PrivacyAgreementHandle"><text>娉ㄥ唽</text></view>
+ <view class="login-bottom-box">
+ <view class="copyright">鍐�涓兘婧愭棤浜哄�煎畧寰俊灏忕▼搴�</view>
+ <view class="copyright">灏忕▼搴忎粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳浣跨敤</view>
+ </view>
+ <!-- 寰俊鎺堟潈鍓嶇殑寮规 -->
+ <view class="loginPopup">
+ <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>
+ </view>
+ </view>
+ </u-popup>
+ </view>
+ <!-- 璇㈤棶鏄惁缁戝畾寰俊 -->
+ <view class="bindWxModel">
+ <u-modal :show="bindWxModelShow"
+ :title="bindWxModelTitle"
+ showCancelButton
+ :content="bindWxContent"
+ @confirm="bindWxConfirm"
+ @cancel="bindWxCancel"></u-modal>
+ </view>
</view>
</template>
<script>
-import { apiLogin, apiLogin2, apiLoginPassword } from '@/api/publicInterface.js';
-import { mapMutations } from 'vuex';
-import userPassword from './userPassword.vue';
-
-export default {
- data() {
- return {
- // wxcode: '31363631363534303739323636', // 瀹㈡埛
- // wxcode: '31363631363534303700000000', // 璐т唬1
- // wxcode: '31363631363534303700000004', // 璐т唬2
- wxcode: '31363631363534303700000001', // 鍙告満1
- // wxcode: '31363631363534303700000005', // 鍙告満2
- // wxcode: '', // 瀹㈡埛
- openid: '',
- roleId: 0,
-
- tenantId: undefined,
- btnLoading: false,
- show: false,
- tenantList: []
- };
- },
- components: {
- userPassword
- },
- methods: {
- ...mapMutations(['setUserTabbar']),
- // 璁块棶wx.login,鑾峰彇code
- login() {
- // let _this = this;
- // 鑾峰彇鐧诲綍鐢ㄦ埛code
- uni.login({
- success: res => {
- console.log('鐧诲綍loginRes', res);
- if (res.code) {
- this.wxcode = res.code;
- } else {
- uni.showToast({
- title: '寰俊鐧诲綍澶辫触锛�',
- duration: 2000
- });
- }
- // this.apiLogin();
- }
- });
+ 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: "",
+ };
},
- // 鐧诲綍鎺ュ彛
- apiLogin() {
- // console.log(this.$uStoreKey.roleType);
- apiLogin2({ code: this.wxcode })
- .then(res => {
- console.log('璇锋眰鐧诲綍', res);
- if (res.msg == '闇�缁戝畾') {
- uni.navigateTo({
- url: `/pages/register/register?code=${res.data}`
- });
- }
- if (res.msg == '鐧诲綍鎴愬姛') {
- uni.setStorageSync('userInfo', res.data);
- this.setUserTabbar(res.data.type);
- uni.switchTab({
- url: '/pages/tabbar-page/index-tabbar/index-tabbar'
- });
- }
+ components: {
+ userPassword
+ },
+ methods: {
+ ...mapMutations(['setUserTabbar', 'changeisLogin']),
+ getAppidAndSercet() {
+ this.$reqGet('getAppidAndSercet').then(res => {
+ this.appid = res.data.appid;
+ this.secret = res.data.secret
})
- .catch(err => {
- console.log('閿欒', err);
+ },
+ // 璁块棶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
+ });
+ }
+ }
});
- },
- 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('鎵撳紑浜�');
+ },
+ 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 {
+ // height: 100vh;
+ // display: flex;
+ // align-items: center;
- // .u-button--success {
- // border-style: none;
- // }
- // }
- .loginBtn {
- margin-top: vww(20);
- .u-button {
+ // .loginBtn {
+ // margin: 0 auto;
+ // width: 80%;
+
+ // .u-button {
+ // .u-icon {
+ // .u-icon__icon {
+ // font-size: vww(20) !important;
+ // }
+ // }
+ // }
+
+ // .u-button--success {
+ // border-style: none;
+ // }
+ // }
+ .loginBtn {
+ margin-top: vww(20);
+
+ .u-button {
+ width: 80%;
+ }
+ }
+
+ .logo {
width: 80%;
- }
- }
- .logo {
- width: 80%;
- font-size: 64rpx;
- color: #497bff;
- margin: 50rpx 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;
+ font-size: 64rpx;
+ color: #497bff;
+ margin: vww(100) auto 0;
+ text-align: center;
}
- .other-text {
- color: #999999;
- font-size: 26rpx;
- padding: 20rpx 0;
+ .list-call-icon {
+ color: #ff0000;
}
- .u-btn {
- margin: 30rpx auto;
+ .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;
+ }
}
- .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;
+ }
+ }
+
+ .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%;
+ }
+ }
+ }
+ }
+ }
+ }
}
}
-
- .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;
- }
- }
-
- .u-tabs {
- padding: 0 70rpx;
- }
-
- .tenantList {
- font-size: 32rpx;
- width: 80%;
- height: 80rpx;
- text-align: center;
- margin: 50rpx auto 0;
- }
-}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.1