[渲染层错误] Thu Apr 09 2026 11:27:16 GMT+0800 (中国标准时间) 社区相关帖子推荐
原报错信息: getPhoneNumber:fail privacy permission is not authorized or buttonId is wrong,errno:104
请适配小程序隐私保护指引
关于上述报错,点击查看更多信息:https://developers.weixin.qq.com/community/develop/doc/00042e3ef54940ce8520e38db61801(env: Windows,mp,2.01.2601082; lib: 3.13.2)

appid提供下
一、最推荐:全局隐私授权弹窗(不用每个页面加按钮)
微信提供
<button open-type="openPrivacyAuthorization">可以直接弹出官方隐私授权弹窗,用户点同意后,整个小程序所有隐私接口都恢复正常。代码最简版
wxml
<button open-type="openPrivacyAuthorization" @agreeprivacyauthorization="onAgree" > 开启权限 </button>js
onAgree() { console.log('用户已同意隐私政策,所有隐私接口可用') }特点:
二、自动检测授权状态 + 静默唤起(用户体验最好)
在 app.js 或页面 onShow 里检测是否已授权,未授权则自动弹授权框。
js
wx.getPrivacySetting({ success: res => { // needAuthorization: true 说明还没授权 if (res.needAuthorization) { wx.openPrivacyAuthorization({ success: () => { console.log('自动授权完成') } }) } } })优点:
这是目前最稳、最通用、不会突然失效的方案。
三、改用隐私授权组件 <privacy-panel>
微信官方隐私面板组件,不会出现 buttonId 错误。
wxml
<privacy-panel bindagreeprivacy="onAgree"> <view slot="content"> 为使用上传、获取手机号等功能,请同意隐私政策 </view> </privacy-panel>优点:
四、后台隐私协议重新提交发布(很多人忽略)
有时候不是前端问题,而是:
进入:mp.weixin.qq.com → 开发 → 开发设置 → 用户隐私保护指引重新勾选所有用到的权限 → 提交 → 发布
很多人 “突然不能用” 就是这个原因。
五、强制清除授权状态 + 重新授权(解决诡异缓存问题)
开发者工具:清缓存 → 清授权缓存 → 清文件缓存 → 重新编译
真机:删除小程序 → 重新进入
授权状态一旦错乱,会一直报 104,清掉就恢复。
六、降级基础库(临时应急)
你的基础库是 3.13.2部分版本隐私校验逻辑有 bug,可临时切到:
这些版本隐私授权最稳定。
七、如果你只是想 “快速恢复功能”,最强方案
直接在 app.js 的 onLaunch 里加上:
js
wx.getPrivacySetting({ success(res) { if (res.needAuthorization) { wx.openPrivacyAuthorization() } } })用户一进小程序就自动弹隐私授权,弹完所有接口立刻恢复。不会出现任何 buttonId 错误、104 错误、上传失败。
隐私政策是好的 没有打回,突然用的好好的 什么信息也没有 就给我停了