<template>
|
<view class="login-content plr60">
|
<view class="login-bg">
|
<image src="@/static/login_bg@2x.png" mode="aspectFill" class="bg-img"></image>
|
<image src="@/static/logo@2x.png" mode="aspectFill" class="login-log img180"></image>
|
<view class="tc title">DM云工厂</view>
|
</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="企业代码" 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="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" password v-model="form.password"></u--input>
|
</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 {
|
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: '企业代码不能为空', 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>
|
|
<style lang="scss" scoped>
|
.login-content {
|
height: 100vh;
|
background: #FFFFFF linear-gradient(180deg, rgba(66,117,252,0.2) 0%, rgba(66,117,252,0) 100%);
|
.login-bg {
|
position: relative;
|
height: 812rpx;
|
.bg-img {
|
position: absolute;
|
z-index: 1;
|
width: 100%;
|
height: 100%;
|
}
|
.login-log {
|
margin: 356rpx auto 0 auto ;
|
left: 0;
|
right: 0;
|
position: absolute;
|
}
|
.title {
|
position: absolute;
|
margin-top: 576rpx;
|
left: 0;
|
width: 100%;
|
height: 60rpx;
|
font-size: 44rpx;
|
font-weight: 600;
|
color: #333333;
|
line-height: 60rpx;
|
}
|
}
|
.input-height {
|
height: 100rpx;
|
}
|
.com-input {
|
margin-top: -60px;
|
position: relative;
|
z-index: 2;
|
}
|
.login-btn {
|
height: 98rpx;
|
background: #4275FC;
|
box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(66,117,252,0.2);
|
border-radius: 8rpx;
|
text-align: center;
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #FFFFFF;
|
line-height: 98rpx;
|
}
|
}
|
</style>
|