一般我们在进入登录页面的时候回选择登录方式,以按钮的方式进行选择触发第三方的登录类型。
在小程序中的登录授权时,格式被确定为使用
vue文件
<!-- #ifdef MP-WEIXIN -->
<button type="primary" open-type="getUserInfo" @getuserinfo="getUserInfo" withCredentials="true">微信登录</button>
<!-- #endif -->
<script>
export default {
methods:{
getUserInfo:function(res){
if(!res.detail.iv){
uni.showToast({
title:"您取消了授权,登录失败",
icon:"none"
})
return false
}
console.log("login res getUserInfo",res);
}
}
}
</script>
如果授权成功,console打出来的内容如下
如果失败,detail中的内容会有所不同,这里就不演示了,
详细描述在微信公众平台里面有微信开发api传送门
通常我们是判断detail.iv(加密算法的初始向量)是否存在,就可以确定授权成功与否。
注意:上述信息是无法判断用户唯一性的,只能获取到微信用户的一些描述信息而已,后面我们要通过iv值,进行转换,这样才能获取到用户的openId 和 unionId
openId 和 unionId,二者的区别
解密步骤iv基本是两步
- 获取sessionKey
- 根据sessionKey去解密用户的iv
那么如何获取sessionKey呢?