This commit is contained in:
xiaozhiyong
2023-09-08 14:04:23 +08:00
parent 036b09f772
commit 28500d9d0b
5 changed files with 502 additions and 358 deletions

View File

@@ -3,7 +3,8 @@
<cu-custom class="main-topbar bg-main-oil" bgColor="bg-main-oil">
<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="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="">
油站工作人员绑定油站
@@ -25,16 +26,21 @@
</view>
</view> -->
</view>
</view>
<view class="margin text-center">
<button class="cu-btn round bg-main-oil lg text-lg" open-type="getPhoneNumber"
<button v-if="checked" class="cu-btn round bg-main-oil lg text-lg" open-type="getPhoneNumber"
@getphonenumber="decryptPhoneNumber">
<!-- <text class="cuIcon-weixin padding-right-xs"> </text> -->
<text>
手机号快捷登录
</text>
</button>
<button v-else class="cu-btn round bg-main-oil lg text-lg" @click="$refs.popup.open('center')">
<text>
手机号快捷登录
</text>
</button>
<!-- <button class="cu-btn round btnSize" open-type="getPhoneNumber"
@getphonenumber="decryptPhoneNumber">
<text class="cuIcon-weixin text-green lg"></text>
@@ -42,8 +48,26 @@
</view>
<view class="bottom-part">
<service-hotline />
<service-hotline ref="serviceHotline" :checked='checked' @onCheck="checkAgree" />
</view>
<uni-popup ref='popup'>
<view class="protocol_body">
<view class="protocol_header">
使用协议及隐私保护
</view>
<view class="protocol_content">
为了更好地保障您的合法权益请您阅读并同意 <text style=" color: black; font-weight: 600;"
@click="$refs.serviceHotline.toAgree('xoilCloudUserAgree')">用户协议</text> <text
style=" color: black; font-weight: 600;"
@click="$refs.serviceHotline.toAgree('xoilCloudPrivacyAgreement')">隐私政策</text>
</view>
<view class="protocol_footer">
<button @click="$refs.popup.close()" class="protocol_footer_close">取消</button>
<button @click="checked=true;$refs.popup.close();" class="protocol_footer_confirm">确定</button>
</view>
</view>
</uni-popup>
</view>
</template>
@@ -52,7 +76,11 @@
import loginApi from '@/api/login.js'
import oilIdentityApi from '@/api/oil-identity.js'
import oliUserApi from '@/api/oli-user.js'
// import loginBottom from './components/loginBottom.vue'
export default {
// components:{
// loginBottom
// },
data() {
return {
count: 0,
@@ -60,8 +88,9 @@
mainURL: this.global.mainURL,
forcedLogin: true,
oilSiteNo: '',
sessionKey:'',
outType:'0'
sessionKey: '',
outType: '0',
checked: false
};
},
created() {
@@ -69,9 +98,9 @@
// this.loginWeixin()
},
onLoad(option) {
if(option.type == '1'){
if (option.type == '1') {
this.outType = option.type
uni.clearStorageSync()//清除缓存
uni.clearStorageSync() //清除缓存
}
// this.refreshLocation()
uni.login({ //微信登陆
@@ -84,11 +113,11 @@
if (res.code === 20000) {
this.sessionKey = res.data.sessionKey
uni.setStorageSync('openid', res.data.openId)
uni.setStorageSync('unionid', res.data.unionId)
if(_that.outType !== '1'){
uni.setStorageSync('unionid', res.data.unionId)
if (_that.outType !== '1') {
this.autoLogin()
return
}
}
} else if (res.code == 1002) {
uni.showModal({
title: '微信登录失败提醒',
@@ -96,7 +125,7 @@
})
} else {
// console.log('res', res.code)
}
}
}).catch(err => {
uni.reLaunch({
url: '/BagAuth/pages/login/boforeLogin/boforeLogin',
@@ -110,7 +139,18 @@
})
},
methods: {
decryptPhoneNumber(e) { // 通过用户授权获取到用户的手机号信息
checkAgree(val) {
this.checked = val
},
decryptPhoneNumber(e) {
if (!this.checked) {
uni.showToast({
title: '请您阅读并同意协议',
icon: 'none'
})
return
}
// 通过用户授权获取到用户的手机号信息
if (e.detail.errMsg === 'getPhoneNumber:ok') {
const data1 = {
...e.detail,
@@ -126,7 +166,7 @@
title: '您已拒绝授权手机号'
})
}
},
},
bindLoginByPhone(data, url) { //绑定用户手机号
if (this.count < 1) {
oilIdentityApi.bindLoginByPhonePersonal(data, url).then(res => {
@@ -134,10 +174,10 @@
this.loginSuccess(res)
}
})
}
}
},
loginSuccess(res) {//这里是绑定登录
if (res.data.authTokenDTO.loginFlag) {
loginSuccess(res) { //这里是绑定登录
if (res.data.authTokenDTO.loginFlag) {
this.setStored(res)
}
},
@@ -154,25 +194,25 @@
url: url
})
},
autoLogin() { //根据登录时获取到的 unionid openid 自动登录
let data={
unionId:uni.getStorageSync('unionid'),
openId:uni.getStorageSync('openid')
}
console.log(data,'这里是自动登录data')
autoLogin() { //根据登录时获取到的 unionid openid 自动登录
let data = {
unionId: uni.getStorageSync('unionid'),
openId: uni.getStorageSync('openid')
}
console.log(data, '这里是自动登录data')
oilIdentityApi.loginPersonal(data).then(res => { //微信自动登录
console.log(res,'这里是自动登录res')
if (res.data.authTokenDTO.loginFlag == true) {
console.log(res, '这里是自动登录res')
if (res.data.authTokenDTO.loginFlag == true) {
this.setStored(res)
}
})
},
// 存值本地 根据手机号获取其下的油站并且存储本地
setStored(res){
setStored(res) {
let user = res.data.authTokenDTO.loginUser,
unionId = uni.getStorageSync('unionid'),
openId = uni.getStorageSync('openid'),
phone = res.data.sysCustomerInfo.phone //获取该用户手机号
unionId = uni.getStorageSync('unionid'),
openId = uni.getStorageSync('openid'),
phone = res.data.sysCustomerInfo.phone //获取该用户手机号
setTimeout(() => {
uni.showToast({
title: res.msg,
@@ -182,7 +222,7 @@
}
})
}, 1000);
uni.setStorageSync('user', user)
uni.setStorageSync('user', user)
uni.setStorage({
key: 'Authorization',
data: res.data.authTokenDTO.accessToken,
@@ -199,7 +239,7 @@
})
uni.setStorage({
key: 'unionId',
data:unionId,
data: unionId,
success: () => {
console.log('deviceunionId', unionId)
}
@@ -212,12 +252,12 @@
})
//根据获取手机号 获取其号下的油站信息
console.log('这里是获取手机号登录')
oliUserApi.getByPhone(phone).then((res)=>{
console.log('这里是获取手机号登录',res)
if(res.code == 20000){
uni.setStorageSync('oliList',res.data)//本地存储当前用户其下有多少油站,用于用户登录进入时选择进入油站
oliUserApi.getByPhone(phone).then((res) => {
console.log('这里是获取手机号登录', res)
if (res.code == 20000) {
uni.setStorageSync('oliList', res.data) //本地存储当前用户其下有多少油站,用于用户登录进入时选择进入油站
// 获取信息存储本地
uni.setStorageSync('checkFirst',true) //进入前重置进入状态,判断用户是否是登录进入,用来做区分
uni.setStorageSync('checkFirst', true) //进入前重置进入状态,判断用户是否是登录进入,用来做区分
uni.showToast({
title: res.msg,
icon: 'success',
@@ -229,20 +269,20 @@
console.log(err)
}
})
} else {
} else {
uni.showToast({
title: '未绑定油站请联系客服',
icon: 'none',
duration: 1500
})
}
}
})
},
nextStep() {
if (this.oilSiteNo) {
cloudSiteApi.verifyOilSite({
oilSiteCode: this.oilSiteNo
}).then(res => {
}).then(res => {
if (res.code === 20000) {
//历史遗留代码---------------------------------
// address: "安徽省合肥市庐阳区大杨镇"
@@ -345,9 +385,58 @@
</script>
<style scoped>
.btnSize{
font-size:60rpx;
.protocol_footer_close {
width: 185rpx;
border-radius: 94rpx 94rpx 94rpx 94rpx;
opacity: 1;
border: 1px solid #000000;
font-size: 26rpx;
}
.protocol_footer_confirm {
width: 185rpx;
background: #FD0505;
border-radius: 56rpx 56rpx 56rpx 56rpx;
opacity: 1;
font-size: 26rpx;
color: #FFFFFF;
}
.protocol_footer {
display: flex;
justify-content: space-between;
color: #FFFFFF;
}
.protocol_content {
font-size: 32rpx;
font-family: PingFang SC-Medium, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 46rpx;
margin: 60rpx 0;
}
.protocol_header {
width: 330rpx;
height: 32rpx;
font-size: 36rpx;
color: #000000;
width: 100%;
text-align: center;
}
.protocol_body {
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
opacity: 1;
padding: 70rpx 50rpx;
max-width: 634rpx;
box-sizing: border-box;
}
.btnSize {
font-size: 60rpx;
}
.page-content {
position: relative;
}