From d36eb757af8867278125c6999fcaa5bdb902151c Mon Sep 17 00:00:00 2001
From: 付延余 <f-yanyu@outlook.com>
Date: 星期二, 21 三月 2023 17:38:45 +0800
Subject: [PATCH] 司机称重页面,签到页面
---
pages/login/login.vue | 202 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 140 insertions(+), 62 deletions(-)
diff --git a/pages/login/login.vue b/pages/login/login.vue
index d7fe141..7a3b0b5 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,49 +1,51 @@
<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>
+ <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="register" @click="registerClick"><text>娉ㄥ唽</text></view>
- <!-- #endif -->
- <view class="login-bottom-box"><view class="copyright">2023鍐�涓兘婧愭棤浜哄�煎畧寰俊灏忕▼搴�</view></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 { 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 {
- // wxcode: '31363631363534303739323636', // 瀹㈡埛
- // wxcode: '31363631363534303700000000', // 璐т唬1
- // wxcode: '31363631363534303700000004', // 璐т唬2
- wxcode: '31363631363534303700000001', // 鍙告満1
- // wxcode: '31363631363534303700000005', // 鍙告満2
- // wxcode: '', // 瀹㈡埛
- openid: '',
- roleId: 0,
-
- tenantId: undefined,
+ wxcode: '', // 鍙告満1
btnLoading: false,
- show: false,
- tenantList: []
+ loginPopupShow: false,
+ // 缁戝畾寰俊妯℃�佹
+ bindWxModelShow: false,
+ bindWxModelTitle: '鎻愮ず',
+ bindWxContent: '濡傛灉宸叉嫢鏈夌郴缁熻处鍙凤紝鍙互鐩存帴璺宠浆缁戝畾寰俊椤甸潰'
};
},
components: {
@@ -52,51 +54,110 @@
methods: {
...mapMutations(['setUserTabbar']),
// 璁块棶wx.login,鑾峰彇code
- login() {
- // let _this = this;
+ beforeLoginEvent() {
+ this.loginPopupShow = true;
+ },
+ wxLogin() {
// 鑾峰彇鐧诲綍鐢ㄦ埛code
uni.login({
success: res => {
- console.log('鐧诲綍loginRes', res);
if (res.code) {
this.wxcode = res.code;
+ this.apiLogin();
} else {
uni.showToast({
title: '寰俊鐧诲綍澶辫触锛�',
duration: 2000
});
}
- // this.apiLogin();
}
});
},
// 鐧诲綍鎺ュ彛
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}`
+ // apiLoginWx({ 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'
+ // });
+ // }
+ // })
+ // .catch(err => {
+ // console.log('閿欒', err);
+ // });
+
+ /**
+ * @openid
+ * 鑾峰彇寰俊鐢ㄦ埛openid,寰俊涓�閿櫥褰曟殏鏃犵浉鍏虫帴鍙o紝鐢ㄤ簬娴嬭瘯鍛煎彨瀹㈡湇鍔熻兘
+ */
+
+ wx.request({
+ url: `https://api.weixin.qq.com/sns/jscode2session?appid=wx4a62fc1684c429a9&secret=ee90afe376cdcec2fdd947c0a4db961a&js_code=${this.wxcode}&grant_type=authorization_code`,
+ success(res) {
+ let id = res.data.openid;
+ uni.setStorageSync('openid', id);
+ uni.showToast({
+ title: '鎴愬姛鑾峰彇娴嬭瘯openid',
+ icon: 'none'
+ });
+ }
+ });
+ this.$nextTick(() => {
+ apiLoginWx({ code: uni.getStorageSync('openid') }).then(res => {
+ 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();
+ });
});
+ } else {
+ this.$u.toast(res.msg);
+ this.bindWxModelShow = true;
}
- if (res.msg == '鐧诲綍鎴愬姛') {
- uni.setStorageSync('userInfo', res.data);
- this.setUserTabbar(res.data.type);
- uni.switchTab({
- url: '/pages/tabbar-page/index-tabbar/index-tabbar'
- });
- }
- })
- .catch(err => {
- console.log('閿欒', err);
});
+ });
+
+ this.loginPopupShow = false;
},
- registerClick(){
+ bindWxConfirm() {
uni.navigateTo({
- url:"/pages/register/register"
- })
+ 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'
+ });
}
}
};
@@ -135,7 +196,7 @@
width: 80%;
font-size: 64rpx;
color: #497bff;
- margin: 50rpx auto 0;
+ margin: vww(100) auto 0;
text-align: center;
}
@@ -204,12 +265,29 @@
padding: 0 70rpx;
}
- .tenantList {
- font-size: 32rpx;
- width: 80%;
- height: 80rpx;
- text-align: center;
- margin: 50rpx auto 0;
+ // 寮瑰嚭妗�
+ .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%;
+ }
+ }
+ }
+ }
+ }
+ }
}
}
</style>
--
Gitblit v1.9.1