小程序用户隐私授权弹窗组件的优化与实现方案

前端面试题进阶秘籍:前端知识点梳理

小程序隐私保护授权弹窗组件

  最近在微信小程序时,遇到一个常见问题:调用授权接口时,返回了错误信息 {: “: ”, : 112}。这是因为微信小程序在登录时,增加了用户是否查看隐私协议的验证。如果用户没有跳转到隐私协议页面,就无常登录。

  微信在 2025 年 8 月 10 日发布了关于小程序隐私保护指引设置的公告,规定从 9 月 15 日起,所有隐私接口必须经过用户点击同意并同步给微信后才能使用。

  为了解决这个问题,我了一个隐私保护指引弹窗组件。当需要授权时,弹窗会自动展示。如果用户点击“拒绝”,小程序会直接退出;如果点击“同意”,结果会同步给微信,并且以后不再弹窗,之后可以正常使用隐私接口。

更新日志

  • 8 月 28 日更新:发现小程序可以使用页面的生命周期,对组件进行了简化,现在只需要引入组件即可,无需额外代码。
  • 8 月 29 日更新:采纳了网页上的方案,解决了多个页面情况下,用户同意后仍然弹窗的问题。

注意事项

  在 2025 年 9 月 15 日之前,默认不会启用隐私相关功能,因此无法检测到是否需要弹窗。你可以在配置文件中进行设置,接口才能检测到是否需要弹窗。个人测试发现,在者工具中配置后,无论如何返回的都是 true,但在真机模拟的情况下可以正常返回。审核通过后才能在真机模式上进行预览。

  自动打开隐私保护指引界面需要在小程序管理后台配置《小程序用户隐私保护指引》并增加类型。官方提供了详细的用户隐私保护指引填写说明。主动查询隐私授权同步状态以及展示隐私协议从基础库 2.32.3 开始支持,需设置者工具的最低基础库版本。

效果展示

  你可以通过点击底部导航栏的“我的”来触发隐私弹窗,体验一下效果。

使用方法

  1. 将组件文件夹拷贝到小程序项目的组件目录中。
  2. 在配置文件中引入组件。
  3. 在页面中使用组件。

  你可以在所有使用了隐私接口的页面都加上该组件,授权一次之后,使用所有隐私接口不再需要授权。

取消授权

  • 在微信中,通过「微信下拉-最近-最近使用的小程序」中删除小程序可以取消授权。
  • 在者工具中,通过「清除模拟器缓存-清除授权数据」可以取消授权。

代码模块

  1. 技术栈:原生微信小程序 + 组件化。
  2. 创建组件文件,在需要授权的页面添加即可。
  3. 小程序工具中使用真机模式进行调试。

原生微信写法与框架版写法

  无论是原生微信小程序还是使用框架,都可以通过上述方法实现隐私保护授权弹窗功能。希望这篇文章能帮助你在前端面试中脱颖而出,顺利登顶!

© 版权声明
THE END
分享