You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
290 lines
7.1 KiB
290 lines
7.1 KiB
5 years ago
|
<!-- pos机账号登录入口 -->
|
||
|
<template>
|
||
|
<view class="page-content my-bg">
|
||
|
<cu-custom class="main-topbar bg-main-oil" bgColor="bg-main-oil" :isBack="true">
|
||
|
<block slot="content">星油云站</block>
|
||
|
</cu-custom>
|
||
|
<view class="bg-img margin flex padding-lg radius align-center text-center" :style="'background-image: url('+mainURL+'login-bg.png)'">
|
||
|
<view class="padding-lg margin text-center text-lg text-white w100">
|
||
|
<text class="">
|
||
|
油站工作人员绑定油站
|
||
|
</text>
|
||
|
</view>
|
||
|
|
||
|
</view>
|
||
|
<view class="pannel">
|
||
|
<view class="bg-white margin padding radius shadow-warp">
|
||
|
<view class="cu-form-group">
|
||
|
<view class="title text-black">手机号</view>
|
||
|
<input type="number" v-model="auth.phone" placeholder="请输入手机号" name="input"></input>
|
||
|
</view>
|
||
|
<view class="cu-form-group padding-top-sm" v-if="showRandom">
|
||
|
<view class="title text-black">验证码</view>
|
||
|
<input type="number" :maxlength="6" v-model="auth.captcha" placeholder="六位数字验证码" name="input"></input>
|
||
|
<button class='cu-btn bg-main-oil shadow' @tap="sendMsg">验证码</button>
|
||
|
</view>
|
||
|
<view class="cu-form-group padding-top-sm" v-else>
|
||
|
<view class="title text-black">密码</view>
|
||
|
<input inpitype="password" v-model="auth.password" placeholder="请输入登入密码" name="input"></input>
|
||
|
</view>
|
||
|
</view>
|
||
|
|
||
|
<view class="margin-left padding-left-lg" @tap="showRandom=true" v-if="!showRandom">
|
||
|
<text class="text-sm">短信验证码登录</text>
|
||
|
</view>
|
||
|
<view class="margin-left padding-left-lg" @tap="showRandom=false" v-else>
|
||
|
<text class="text-sm">密码登录</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="margin-lg padding-lg bottom-bg">
|
||
|
<button class="bg-main-oil round" v-if="showRandom" @tap="loginRandom">
|
||
|
登录
|
||
|
</button>
|
||
|
<button class="bg-main-oil round" v-else @tap="loginPwd">
|
||
|
登录
|
||
|
</button>
|
||
|
</view>
|
||
|
<view class="bottom-part">
|
||
|
<service-hotline />
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import cloudSiteApi from '@/api/cloud-site.js'
|
||
|
import loginApi from '@/api/login.js'
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
baseURL: this.global.baseURL,
|
||
|
mainURL: this.global.mainURL,
|
||
|
forcedLogin: true,
|
||
|
oilSiteNo: '',
|
||
|
showRandom: true,
|
||
|
auth: {}
|
||
|
}
|
||
|
},
|
||
|
created() {
|
||
|
uni.showShareMenu()
|
||
|
// this.loginWeixin()
|
||
|
},
|
||
|
methods: {
|
||
|
loginPwd() {
|
||
|
const data3 = {
|
||
|
username: this.auth.phone,
|
||
|
password: this.auth.password,
|
||
|
IMEI: 'IMEI',
|
||
|
androidMsgId: 'androidMsgId'
|
||
|
}
|
||
|
loginApi.loginApp(data3).then(res => {
|
||
|
console.log('res', res)
|
||
|
uni.showToast({
|
||
|
title: res.msg,
|
||
|
icon: 'none'
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
loginWeixin() {
|
||
|
uni.login({
|
||
|
provider: 'weixin',
|
||
|
success: loginRes => {
|
||
|
const code = loginRes.code
|
||
|
console.log(code)
|
||
|
loginApi.loginWeixin(code).then(res => {
|
||
|
if (res.code === 20000) {
|
||
|
uni.reLaunch({
|
||
|
url: '/pages/index/index',
|
||
|
fail: (err) => {
|
||
|
console.log(err)
|
||
|
}
|
||
|
})
|
||
|
uni.showToast({
|
||
|
title: res.msg,
|
||
|
icon: 'success',
|
||
|
duration: 3000
|
||
|
})
|
||
|
uni.setStorage({
|
||
|
key: 'Authorization',
|
||
|
data: res.data.accessToken,
|
||
|
success: () => {
|
||
|
console.log('Authorization成功', res.data.accessToken)
|
||
|
}
|
||
|
})
|
||
|
uni.setStorage({
|
||
|
key: 'device',
|
||
|
data: res.data.openid,
|
||
|
success: () => {
|
||
|
console.log('deviceopenid', res.data.openid)
|
||
|
}
|
||
|
})
|
||
|
uni.setStorageSync('userMenu', res.data.loginUser.procedureAuthList)
|
||
|
uni.setStorageSync('loginUser', {
|
||
|
id: res.data.loginUser.id,
|
||
|
name: res.data.loginUser.name
|
||
|
})
|
||
|
} else {
|
||
|
console.log('res', res.code)
|
||
|
}
|
||
|
|
||
|
|
||
|
})
|
||
|
},
|
||
|
fail: err => {
|
||
|
console.log(err)
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
sendMsg() {
|
||
|
const data2 = {
|
||
|
phone: this.auth.phone
|
||
|
}
|
||
|
loginApi.loginAppSendSms(data2).then(res => {
|
||
|
console.log('res', res)
|
||
|
uni.showToast({
|
||
|
title: res.msg,
|
||
|
icon: 'none'
|
||
|
})
|
||
|
})
|
||
|
},
|
||
|
loginRandom() {
|
||
|
uni.login({
|
||
|
provider: 'weixin',
|
||
|
success: loginRes => {
|
||
|
const code = loginRes.code
|
||
|
console.log(code)
|
||
|
const data2 = {
|
||
|
phone: this.auth.phone,
|
||
|
username: "mock", //类型:String 必有字段 备注:手机号
|
||
|
verifyCode: "mock", //类型:String 必有字段 备注:验证码
|
||
|
code: "mock" //类型:String 必有字段 备注:微信code
|
||
|
}
|
||
|
loginApi.loginWeiXinSMS(data2).then(res => {
|
||
|
console.log('res', res)
|
||
|
uni.showToast({
|
||
|
title: res.msg,
|
||
|
icon: 'none'
|
||
|
})
|
||
|
|
||
|
console.log('oilSiteCode', this.oilSiteNo)
|
||
|
if (res.code === 20000) {
|
||
|
// address: "安徽省合肥市庐阳区大杨镇"
|
||
|
// fuelLogo: null
|
||
|
// linkMan: "符红敏"
|
||
|
// oilSiteCode: "1591260293"
|
||
|
// oilSiteName: "杭州首鸿金融信息服务有限公司"
|
||
|
// phone: "15617055136"
|
||
|
uni.setStorage({
|
||
|
key: 'oilSiteCode',
|
||
|
data: this.oilSiteNo,
|
||
|
success: () => {
|
||
|
console.log('缓存成功')
|
||
|
}
|
||
|
})
|
||
|
uni.setStorage({
|
||
|
key: 'oilSite',
|
||
|
data: res.data,
|
||
|
success: () => {
|
||
|
console.log('缓存成功')
|
||
|
}
|
||
|
})
|
||
|
uni.navigateTo({
|
||
|
url: '/pages/Auth/Auth'
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
fail: err => {
|
||
|
console.log(err)
|
||
|
}
|
||
|
});
|
||
|
|
||
|
// uni.setStorage({
|
||
|
// key: 'oilSiteCode',
|
||
|
// data: this.oilSiteNo,
|
||
|
// success: () => {
|
||
|
// console.log('缓存成功')
|
||
|
// }
|
||
|
// })
|
||
|
// uni.navigateTo({
|
||
|
// url: '/pages/Auth/Auth'
|
||
|
// })
|
||
|
|
||
|
},
|
||
|
getMsg() {
|
||
|
uni.requestSubscribeMessage({
|
||
|
tmplIds: ['W5XD3NQVa6knC5jXHeWT8GS7q5CHrDUMY_sF79kLkKk'],
|
||
|
success: (res) => {
|
||
|
console.log(res)
|
||
|
}
|
||
|
})
|
||
|
},
|
||
|
getUserInfo({
|
||
|
detail
|
||
|
}) {
|
||
|
console.log('三方登录只演示登录api能力,暂未关联云端数据');
|
||
|
console.log('detail', detail)
|
||
|
if (detail.userInfo) {
|
||
|
this.loginLocal(detail.userInfo.nickName);
|
||
|
} else {
|
||
|
uni.showToast({
|
||
|
icon: 'none',
|
||
|
title: '登陆失败'
|
||
|
});
|
||
|
}
|
||
|
|
||
|
},
|
||
|
loginLocal(nickName) {
|
||
|
uni.setStorageSync('login_type', 'local')
|
||
|
uni.setStorageSync('username', nickName)
|
||
|
this.toMain(nickName);
|
||
|
},
|
||
|
toMain(userName) {
|
||
|
// this.login(userName)
|
||
|
console.log(userName)
|
||
|
/**
|
||
|
* 强制登录时使用reLaunch方式跳转过来
|
||
|
* 返回首页也使用reLaunch方式
|
||
|
*/
|
||
|
if (this.forcedLogin) {
|
||
|
uni.reLaunch({
|
||
|
url: '/pages/index/index',
|
||
|
success: () => {
|
||
|
console.log('success')
|
||
|
},
|
||
|
fail: err => {
|
||
|
console.log(err)
|
||
|
}
|
||
|
});
|
||
|
} else {
|
||
|
uni.navigateBack();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
</script>
|
||
|
|
||
|
<style scoped>
|
||
|
.page-content {
|
||
|
min-height: 100%;
|
||
|
position: relative;
|
||
|
}
|
||
|
|
||
|
.logo {
|
||
|
min-width: 100%;
|
||
|
text-align: center;
|
||
|
}
|
||
|
|
||
|
.logo img {
|
||
|
width: 200upx;
|
||
|
height: 200rpx;
|
||
|
background-size: contain;
|
||
|
margin: auto;
|
||
|
}
|
||
|
|
||
|
.bottom-bg {
|
||
|
position: sticky;
|
||
|
bottom: 50upx;
|
||
|
}
|
||
|
</style>
|