<template>
<view class="content">
<button open-type="getUserInfo" @getuserinfo="getUserInfo">用户授权</button>
</view>
</template>
<script>
export default {
data() {
return {
title: 'hello uni-app'
}
},
onLoad() {
this.toLogin()
},
methods: {
getUserInfo(e){//获取个人信息
let that = this
let p = this.getSetting() //判断是否授权
p.then((isAuth) => {
console.log('是否已授权',isAuth)
if(isAuth){
console.log('用户信息加密',e)
}else{
uni.showToast({
icon: 'none',
title: '用户信息授权失败'
})
}
})
},
toLogin(){//获取code
uni.login({
provider: 'weixin',
success: (res) => {
console.log("登陆成功",res)
console.log('登陆用户code',res.code)
},
fail: (res) => {
console.log('登陆失败', res)
}
})
},
getSetting(){//判断是否授权
return new Promise(function(resolve,reject){
uni.getSetting({
success: (res) => {
if(res.authSetting['scope.userInfo']){
console.log('存在')
resolve(true)
}else{
console.log('不存在')
reject(false)
}
}
})
}).catch((e)=>{
console.log(e)
})
}
}
}
</script>
<style>
</style>
有写的不对的地方或有更好的实现方案 希望大家给予意见或思路
网友评论