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.
289 lines
7.1 KiB
289 lines
7.1 KiB
<!-- 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>
|
|
|