<template>
<view>
<!-- https://uniapp.dcloud.net.cn/univerify.html
一键登录,获取手机号码,发送后台,后台返回token和用户id, -->
<button type="default" @click="login">登录</button><br /><br />
<button type="default" @click="oneLogin">登录2</button><br /><br />
<button type="default" @click="xs">显示</button><br /><br />
<u-modal :show="show" @confirm="confirm" :content='content'></u-modal>
</view>
</template>
<script>
let _this
export default {
data() {
return {
one: false,
show: false,
content: '请开启数据流量进行登录认证!'
}
},
onLoad() {
_this = this
},
onShow() {
this.preLogin()
},
methods: {
xs() {
this.show = true
},
confirm() {
this.show = false;
},
login() {
this.preLogin()
// if (this.one) {
// console.log("--------开始登录----------")
// this.oneLogin()
// } else {
// console.log("--------不能登录----------")
// uni.navigateTo({
// url: '../yuyin/yuyin'
// })
// }
},
preLogin() {
uni.preLogin({
provider: 'univerify',
success() {
console.log("------------预登录成功-------------")
// 显示一键登录选项
// _this.one = true
_this.oneLogin()
},
fail(res) { // 预登录失败
// 不显示一键登录选项(或置灰)
// 根据错误信息判断失败原因,如有需要可将错误提交给统计服务器
console.log(res.errCode)
console.log(res.errMsg)
// 与登录失败,直接去手机号登录
uni.redirectTo({
url:'../yuyin/yuyin'
})
}
})
},
oneLogin() {
uni.login({
provider: 'univerify',
univerifyStyle: { // 自定义登录框样式
fullScreen: true,
"icon": {
"path": "static/gu144.png" // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo
},
"privacyTerms": {
"privacyItems": [ // 自定义协议条款,最大支持2个,需要同时设置url和title. 否则不生效
{
"url": "https://static-f77e4a72-9871-4785-9ab6-1d598defc1ae.bspapp.com/user.html", // 点击跳转的协议详情页面
"title": "用户服务协议" // 协议名称
},
{
"url": "https://static-f77e4a72-9871-4785-9ab6-1d598defc1ae.bspapp.com/yinsi.html", // 点击跳转的协议详情页面
"title": "隐私协议" // 协议名称
}
]
},
},
success(res) { // 登录成功
console.log(res.authResult); // {openid:'登录授权唯一标识',access_token:'接口返回的 token'}
console.log(res.authResult.openid); //1003f497b6e8f6c4337a1a94e1f949594ff66
console.log(res.authResult
.access_token); //OGY4MDc2OTY4MDcxNDI0YzlmZDljZjJlOWUwY2FkYmF8fDJ8djJ8Mg==
// uniCloud.callFunction({
// name: 'login',
// data: {
// access_token: res.authResult.access_token,
// openid: res.authResult.openid
// }
// }).then(res => {
// console.log("-----------999-----------")
// console.log(res.result.code)//0
// console.log(res.result.success)//true
// console.log(res.result.phoneNumber)
// uni.closeAuthView()客户端关闭一键登录授权界面
// }).catch(err => {
// console.log("----------66----------")
// console.log(err)
// })
},
fail(res) { // 登录失败
console.log("----------fail----------", res)
console.log(res.errCode)
console.log(res.errMsg)
if (res.errCode == 30002) {//跳转到短信登录页面
uni.redirectTo({
url:'../yuyin/yuyin'
})
}
}
})
},
}
}
</script>
<style>
</style>
uniapp一键登录
原创wx62cbd84cdb743 ©著作权
文章标签 uniapp 一键登录 文章分类 JavaScript 前端开发
©著作权归作者所有:来自51CTO博客作者wx62cbd84cdb743的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Excel一键导入导出-EasyPOI
EasyPOI是一个功能强大、易用的Java库,可以帮助开发者快速实现Excel文件的导入导出功能。
excel EasyPOI java