From ea87c908fb6cdfc3e227a584a53e6730efb8262a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 26 十月 2023 13:41:12 +0800
Subject: [PATCH] 小程序代码

---
 minipro_standard/pages/login/login.vue |   60 +++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/minipro_standard/pages/login/login.vue b/minipro_standard/pages/login/login.vue
index 1632dbc..5ff60ab 100644
--- a/minipro_standard/pages/login/login.vue
+++ b/minipro_standard/pages/login/login.vue
@@ -7,50 +7,78 @@
 		</view>
 		<view class="bg_w rd8 ptb30 pl40 bbox com-input flex input-height">
 			<image src="@/static/login_ic_code@2x.png" mode="" class="img40 mr25"></image>
-			<u--input placeholder="浼佷笟浠g爜" border="none" v-model="loginForm.companyId"></u--input>
+			<u--input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"></u--input>
 		</view>
 		<view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height">
 			<image src="@/static/login_ic_phone@2x.png" mode="" class="img40 mr25"></image>
-			<u--input placeholder="鎵嬫満鍙�" border="none" v-model="loginForm.username"></u--input>
+			<u--input placeholder="鎵嬫満鍙�" border="none" v-model="form.username"></u--input>
 		</view>
 		<view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height">
 			<image src="@/static/login_ic_password@2x.png" mode="" class="img40 mr25"></image>
-			<u--input placeholder="瀵嗙爜" border="none" v-model="loginForm.password"></u--input>
+			<u--input placeholder="瀵嗙爜" border="none" password v-model="form.password"></u--input>
 		</view>
 		<view class="login-btn mt80" @click="loginAction">绔嬪嵆鐧诲綍</view>
 	</view>
 </template>
 
 <script>
-	import { wxAccountLogin, getUserInfo } from '@/util/api/index.js'
+	import { wxLogin, wxAccountLogin, getUserInfo, wxProgramLogin } from '@/util/api/index.js';
 	export default {
 		data() {
 			return {
-				loginForm: {
+				form: {
+					openid: '',
+					unionid: '',
 					companyId: '',
 					username: '',
 					password: ''
 				}
 			};
 		},
+		onLoad() {
+			var that = this
+			uni.login({
+				provider: 'weixin',
+				success: function (loginRes) {
+					wxProgramLogin({ code: loginRes.code })
+						.then(async (res) => {
+							if (res.code === 200) {
+								// 鍏嶇櫥褰曪紝鐩存帴璺抽椤�
+								if (res.data.loginStatus == 0) {
+									that.$store.commit('SETSESSION', res.data.session)
+									let info = await getUserInfo()
+									if (info.code === 200) {
+										await that.$store.commit('setEntrance', 'WX')
+										await that.$store.commit('SETUSERINFO', info.data)
+										await that.$store.dispatch('getMenuList', 2)
+										uni.switchTab({
+											url: '/pages/workbench/workbench'
+										});
+									}
+								} else {
+									that.form.openid = res.data.openid
+									that.form.unionid = res.data.unionid
+								}
+							}
+						})
+				}
+			});
+		},
 		methods: {
 			async loginAction() {
-				if (!this.loginForm.companyId) return uni.showToast({ title: '浼佷笟浠g爜涓嶈兘涓虹┖', icon:"error", duration: 2000 });
-				if (!this.loginForm.username) return uni.showToast({ title: '鎵嬫満鍙蜂笉鑳戒负绌�', icon:"error", duration: 2000 });
-				if (!this.loginForm.password) return uni.showToast({ title: '瀵嗙爜涓嶈兘涓虹┖', icon:"error", duration: 2000 });
-				let res = await wxAccountLogin({
-					companyId: this.loginForm.companyId,
-					username: this.loginForm.username,
-					password: this.loginForm.password
-				})
+				if (!this.form.companyId) return uni.showToast({ title: '浼佷笟浠g爜涓嶈兘涓虹┖', icon:"error", duration: 2000 });
+				if (!this.form.username) return uni.showToast({ title: '鎵嬫満鍙蜂笉鑳戒负绌�', icon:"error", duration: 2000 });
+				if (!this.form.password) return uni.showToast({ title: '瀵嗙爜涓嶈兘涓虹┖', icon:"error", duration: 2000 });
+				let res = await wxAccountLogin(this.form)
 				if (res.code === 200) {
+					await this.$store.commit('SETSESSION', res.data)
 					let user = await getUserInfo({})
 					if (user.code === 200) {
 						await this.$store.commit('SETUSERINFO', user.data)
 						await this.$store.dispatch('getMenuList', 2)
-						uni.reLaunch({
+						uni.switchTab({
 							url: '/pages/workbench/workbench'
-						})
+						});
 					}
 				}
 			}
@@ -94,6 +122,8 @@
 	}
 	.com-input {
 		margin-top: -60px;
+		position: relative;
+		z-index: 2;
 	}
 	.login-btn {
 		height: 98rpx;

--
Gitblit v1.9.3