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 |   70 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/minipro_standard/pages/login/login.vue b/minipro_standard/pages/login/login.vue
index 0fd9d00..5ff60ab 100644
--- a/minipro_standard/pages/login/login.vue
+++ b/minipro_standard/pages/login/login.vue
@@ -7,26 +7,81 @@
 		</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"></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"></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"></u--input>
+			<u--input placeholder="瀵嗙爜" border="none" password v-model="form.password"></u--input>
 		</view>
-		<view class="login-btn mt80">绔嬪嵆鐧诲綍</view>
+		<view class="login-btn mt80" @click="loginAction">绔嬪嵆鐧诲綍</view>
 	</view>
 </template>
 
 <script>
+	import { wxLogin, wxAccountLogin, getUserInfo, wxProgramLogin } from '@/util/api/index.js';
 	export default {
 		data() {
 			return {
-				bgImg: require('@/static/login_bg@2x.png')
+				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.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.switchTab({
+							url: '/pages/workbench/workbench'
+						});
+					}
+				}
+			}
 		}
 	}
 </script>
@@ -45,7 +100,6 @@
 			height: 100%;
 		}
 		.login-log {
-			// margin-top: ;
 			margin: 356rpx auto 0 auto ;
 			left: 0;
 			right: 0;
@@ -64,10 +118,12 @@
 		}
 	}
 	.input-height {
-		height: 100rpx;
+		height: 100rpx; 
 	}
 	.com-input {
 		margin-top: -60px;
+		position: relative;
+		z-index: 2;
 	}
 	.login-btn {
 		height: 98rpx;

--
Gitblit v1.9.3