前端面试题进阶秘籍:前端知识点梳理
小程序隐私保护授权弹窗组件
最近在微信小程序时,遇到一个常见问题:调用授权接口时,返回了错误信息 {: “: ”, : 112}
。这是因为微信小程序在登录时,增加了用户是否查看隐私协议的验证。如果用户没有跳转到隐私协议页面,就无常登录。
微信在 2025 年 8 月 10 日发布了关于小程序隐私保护指引设置的公告,规定从 9 月 15 日起,所有隐私接口必须经过用户点击同意并同步给微信后才能使用。
为了解决这个问题,我了一个隐私保护指引弹窗组件。当需要授权时,弹窗会自动展示。如果用户点击“拒绝”,小程序会直接退出;如果点击“同意”,结果会同步给微信,并且以后不再弹窗,之后可以正常使用隐私接口。
更新日志
- 8 月 28 日更新:发现小程序可以使用页面的生命周期,对组件进行了简化,现在只需要引入组件即可,无需额外代码。
- 8 月 29 日更新:采纳了网页上的方案,解决了多个页面情况下,用户同意后仍然弹窗的问题。
注意事项
在 2025 年 9 月 15 日之前,默认不会启用隐私相关功能,因此无法检测到是否需要弹窗。你可以在配置文件中进行设置,接口才能检测到是否需要弹窗。个人测试发现,在者工具中配置后,无论如何返回的都是 true
,但在真机模拟的情况下可以正常返回。审核通过后才能在真机模式上进行预览。
自动打开隐私保护指引界面需要在小程序管理后台配置《小程序用户隐私保护指引》并增加类型。官方提供了详细的用户隐私保护指引填写说明。主动查询隐私授权同步状态以及展示隐私协议从基础库 2.32.3 开始支持,需设置者工具的最低基础库版本。
效果展示
你可以通过点击底部导航栏的“我的”来触发隐私弹窗,体验一下效果。
使用方法
- 将组件文件夹拷贝到小程序项目的组件目录中。
- 在配置文件中引入组件。
- 在页面中使用组件。
你可以在所有使用了隐私接口的页面都加上该组件,授权一次之后,使用所有隐私接口不再需要授权。
取消授权
- 在微信中,通过「微信下拉-最近-最近使用的小程序」中删除小程序可以取消授权。
- 在者工具中,通过「清除模拟器缓存-清除授权数据」可以取消授权。
代码模块
- 技术栈:原生微信小程序 + 组件化。
- 创建组件文件,在需要授权的页面添加即可。
- 在小程序工具中使用真机模式进行调试。
原生微信写法与框架版写法
无论是原生微信小程序还是使用框架,都可以通过上述方法实现隐私保护授权弹窗功能。希望这篇文章能帮助你在前端面试中脱颖而出,顺利登顶!
© 版权声明
本站文章均来自于网络,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,核实后本网站将在24小时内删除侵权内容。邮箱:dxsen@qq.com
THE END