根据社区公告的内容,我们根据公告文档中的最佳实践:
1. 安装了对应版本的开发者工具
2. 对登录授权做了向下兼容处理
3. 使用新的wx.getUserProfile 来访问用户授权,获取用户头像与昵称
4. 对授权登录业务功能进行了改造
相关改动,在开发版与体验版功能验收时一切正常,2021-04-13 00:29 分将体验版验收正常的功能发布正式版,正式版报错,打断了授权登录流程。
想知道如何解决体验版与正式版表现不一的问题,让获取用户信息的功能改造能正式发版?
/**
* @Description: 基础库2.10.4 2021-04-13 后可以自由调用不需要授权
* @return {Promise} 返回一个pending结束的promise
*/
_getUserInfo() {
return new Promise((resolve, reject) => {
wx.getUserInfo({
success(res) {
const { rawData, iv, signature, encryptedData } = res
const userInfo = {
rawData,
iv,
signature,
encryptedData
}
resolve(userInfo)
},
fail(err) {
reject(err)
}
})
})
},
/**
* @Description: 微信在2021-04-13进行的调整 基础库2.10.4 以上的用户需要使用wx.getUserProfile 才能获取用户个人信息,地理位置,性别,昵称,头像
* @param {type} {*}
* @return {type} {*}
*/
_getUserProfile({ successCallBack, failCallBack }) {
wx.getUserProfile({
lang: 'zh_CN',
desc: '更新用户头像与昵称',
success: async (res) => {
const { userInfo } = res
successCallBack(res)
},
fail: (err) => {
if (isFunction(failCallBack)) {
failCallBack(err)
}
}
})
},
看提示是直接调用了 wx.getUserInfo,目前正式版的调整还未生效,直接调用是不允许的,得通过 button 或者通过 getSetting 得知已授权才行,这是原有逻辑
而本次调整,应改为调用 getUserProfile,兼容逻辑建议参考文档示例 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html
https://juejin.cn/post/6948058565944803341
请今天在正式版将getUserInfo接口搞好,和体验版一致,和你们发的公告保持一致吧,我们小程序都按照公告开发的,体验本可以,现在发布了一堆bug
// 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
这个基础库不能用,最好是大于2.13.2基础库使用,小于这个版本的可以先使用旧版本登录机制做兼容
未授权调用?
这个API getUserProfile 不需要授权 不要搞混了
上面不是写着getUserInfo报错吗