小程序开发好之后,几百个人只有三个人wx.getPrivacySetting压根没反应,我做了一个按钮《授权登陆》调下面getUserInfo这个方法,下面是我的代码,请问是我的代码哪里有问题么,还是wx.getPrivacySetting需要额外的加什么东西,还是说有什么稀奇古怪的bug?
getUserInfo: function () {
const self = this
wx.getPrivacySetting({
success(res) {
console.log(res)
if (res.errMsg === 'getPrivacySetting:ok') {
self.privacyContractName = res.privacyContractName
self.showPrivacy = true
}
},
fail(res) {
console.log(res)
self.privacyContractName = '《蜀道生活小程序隐私保护指引》'
self.showPrivacy = true
},
})
},
// 打开隐私协议页面
openPrivacyContract() {
wx.openPrivacyContract({
success: (res) => {
console.log('openPrivacyContract success', res)
},
fail: (res) => {
console.error('openPrivacyContract fail', res)
},
})
},
// 拒绝隐私协议
exitMiniProgram() {
// 直接退出小程序
wx.exitMiniProgram()
},
// 同意隐私协议
handleAgreePrivacyAuthorization() {
let self = this
this.showPrivacy = false
wx.showModal({
title: '温馨提示',
content: '亲,授权微信登录后才能正常使用小程序功能',
success(res) {
console.log(res)
//如果用户点击了确定按钮
if (res.confirm) {
wx.getUserProfile({
desc: '用于完善会员资料',
success: (res) => {
console.log(res)
if (res.errMsg !== 'getUserProfile:ok') {
return false
}
uni.showLoading({
title: '正在登录',
mask: true,
})
// 执行微信登录
wx.login({
success(res_login) {
// 发送用户信息
console.log(res_login)
self._post(
'user.user/login',
{
code: res_login.code,
user_info: res.rawData,
encrypted_data: encodeURIComponent(res.encryptedData),
iv: encodeURIComponent(res.iv),
signature: res.signature,
referee_id: uni.getStorageSync('referee_id'),
source: 'wx',
},
(result) => {
// 记录token user_id
uni.setStorageSync('token', result.data.token)
uni.setStorageSync('user_id', result.data.user_id)
// 执行回调函数
uni.navigateBack()
},
false,
() => {
uni.hideLoading()
},
)
},
})
},
fail: (res) => {
console.error('getUserProfile', res)
},
})
} else if (res.cancel) {
//如果用户点击了取消按钮
wx.showToast({
title: '您拒绝了请求,不能正常使用小程序',
icon: 'error',
duration: 2000,
})
return
}
},
})
},
看看这三个用户的详细信息?
const self = this
try {
self.isShow = true
console.log('try')
wx.getPrivacySetting({
success(res) {
console.log(res)
if (res.errMsg === 'getPrivacySetting:ok') {
self.privacyContractName = res.privacyContractName
self.showPrivacy = true
}
},
fail(res) {
console.log(res)
self.privacyContractName = '《蜀道生活小程序隐私保护指引》'
self.showPrivacy = true
},
})
} catch {
self.isShow = false
console.log('catch')
self.privacyContractName = '《蜀道生活小程序隐私保护指引》'
self.showPrivacy = true
}
},
现在这个privacyContractName是写死的,getPrivacySetting有兼容的处理方式么,真接调登录的接口是不可能的,所有的接口都要依赖于同意协议
你没有做兼容处理啊,这三个人的手机,是不是基础库不满足要求