今天是4月27号,本来这篇文章是应该4月17号写的,但是我实在是太懒了,而且近期也比较忙,忙着改bug,忙着上线。那时候小程序授权登录才刚刚改,好巧不巧我们的小程序刚刚开始准备上线,测试的时候就发现到了问题
是因为小程序的登录接口改了,从wx.getUserInfo改成了wx.getUserProfile
然而现在手机端支持了新的api,但是pc端仍然没支持,所以要做一下适配
就在获取用户授权得时候直接try catch一下就好了。走不了新的wx.getUserProfile就走老的wx.getUserInfo
代码
/**
* @name 授权登录
* @date 2021-04-06
*/
getUserProfile(e){
let that=this
try{
// 新版
wx.getUserProfile({
desc: '用于完善会员资料',
success: (res) => {
let {avatarUrl, gender, nickName,province,city}=res.userInfo
that.setData({ avatarUrl, gender, nickName })
wx.login({
success: (rest) => {
if (rest.code) {
that.getOpenId(rest.code,that)
} else {
wx.showToast({
title: '授权失败',
icon: 'none',
duration: 3000
});
}
}
});
},
fail(e){
console.log(e)
}
})
}catch(e){
// 老版
//进入未授权 -- wx.getUserInfo获取用户信息
wx.getUserInfo({
success: function(ress) {
let {avatarUrl, gender, nickName,province,city}=ress.userInfo
that.setData({ avatarUrl, gender, nickName })
wx.login({
success: (rest) => {
if (rest.code) {
that.getOpenId(rest.code,that)
} else {
wx.showToast({
title: '授权失败',
icon: 'none',
duration: 3000
});
}
}
});
}
})
}
},