评论

一个组件解决隐私授权:小程序用户隐私保护授权弹窗组件

使用组件实现弹窗提示用户阅读隐私保护指引的功能。

项目链接:https://github.com/94xy/miniprogram-privacy

效果预览:


使用方法:

1、复制项目 component 文件夹中的 privacy 文件夹到小程序项目中的组件目录;

2 、在 page.json 中引入组件

{
  "usingComponents": {
    "Privacy": "/component/privacy/privacy"
  }
}

3 、在 page.wxml 中使用组件,需要授权显示弹窗,不需要不显示

<Privacy />

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


跳过阅读:

可以不阅读就点击“同意”按钮

<Privacy skipRead="{{true}}" />


流程:

  1. 页面显示时使用 wx.getPrivacySetting 接口查询是否需要授权,需要授权则显示组件;
  2. 用户点击“拒绝”直接退出小程序,用户点击“同意”关闭弹窗并同步给微信,之后可以正常使用所有隐私接口。


注意事项:

  1. 2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 app.json 中配置 "__usePrivacyCheck__": true 之后,接口才可以检测到是否需要弹窗。个人实际情况:我在开发者工具中配置了 "__usePrivacyCheck__": true ,needAuthorization 无论如何返回的都是 false,但在真机模拟的情况下可以返回 true
  2. 自动打开隐私保护指引界面需在「小程序管理后台」配置《小程序用户隐私保护指引》,官方用户隐私保护指引填写说明


取消授权:

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


最后一次编辑于  2023-08-28  
点赞 25
收藏
评论

76 个评论

  • A 泥巴
    A 泥巴
    2023-09-16

    我咋弹不出来

    2023-09-16
    赞同
    回复 1
    • 野葛根
      野葛根
      2023-12-14
      我也弹不出来,请问你解决了吗
      2023-12-14
      回复
  • 鱼跃
    鱼跃
    2023-09-15

    你好,现在的意思是只需要填写了小程序后台用户隐私协议设置,开发这边可以不需要开发者处理了吗?

    2023-09-15
    赞同
    回复 6
    查看更多(1)
  • Best
    Best
    2023-09-14

    同用的官方demo 同意之后 跳去其他页面 返回首页又显示弹窗了 现在流行机型不会,老机型会有这种情况,无语了

    2023-09-14
    赞同
    回复
  • 。。
    。。
    2023-09-14

    使用了wx.login获取code需要做这个吗?

    2023-09-14
    赞同
    回复 2
    • momo
      momo
      2023-09-14
      不相干,用了隐私接口才需要
      2023-09-14
      回复
    • 。。
      。。
      2023-09-14回复momo
      通过code后端获取openid,上传图片获取相册权限和拍照需要吗?用的是vantui的上传van-uploader
      2023-09-14
      回复
  • 李振中@特产帮帮主
    李振中@特产帮帮主
    2023-09-14

    拒绝按钮失效怎么办??? 也就是关不了弹窗,谁能解决

    2023-09-14
    赞同
    回复 2
    • momo
      momo
      2023-09-14
      本身就是仅同意后才能关闭,拒绝不建议关闭,确需可自行修改
      2023-09-14
      回复
    • 李振中@特产帮帮主
      李振中@特产帮帮主
      2023-09-14回复momo
      已经修改了,可以关闭。
      2023-09-14
      回复
  • 鹰
    2023-09-14

    用了这个 被微信禁用了位置信息,说我地理位置权限申请在启动具体功能前,


    2023-09-14
    赞同
    回复 2
    • momo
      momo
      2023-09-14
      这是一个常见问题,与该组件无关
      2023-09-14
      回复
    • 鹰
      2023-09-14回复momo
      求教 这个怎么解决啊?
      2023-09-14
      回复
  • lucky
    lucky
    2023-09-13

    你好,为什么会跳出来这个错误

    2023-09-13
    赞同
    回复 5
    • momo
      momo
      2023-09-13
      路径写错了
      2023-09-13
      回复
    • lucky
      lucky
      2023-09-13回复momo
      大佬 可以给出具体对的路径吗,我实在弄不出来了搞了一下午了
      2023-09-13
      回复
    • lucky
      lucky
      2023-09-13回复momo
      就是按照你的步骤一步步来的
      2023-09-13
      回复
    • aiko
      aiko
      2023-09-14回复lucky
      你这个文件在哪放的,你就写哪个路径啊。
      2023-09-14
      回复
    • 月光光
      月光光
      2023-09-14
      "privacy":  "/components/privacy/privacy"
      2023-09-14
      回复
  • 泾河
    泾河
    2023-09-11

    请问代码拉不下来怎么解决呀

    2023-09-11
    赞同
    回复
  • 名字里有个Y
    名字里有个Y
    2023-09-11

    如果我获取用户信息的事件是写在onload里面的,他会先弹出一个授权位置信息的弹窗,然后会覆盖在组件上面。这个要怎么处理,求助。

    2023-09-11
    赞同
    回复 3
    • 名字里有个Y
      名字里有个Y
      2023-09-11
      2023-09-11
      回复
    • momo
      momo
      2023-09-11回复名字里有个Y
      组件中未实现,需要单独处理:先使用onNeedPrivacyAuthorization监听,再用requirePrivacyAuthorize模拟隐私接口调用,并触发隐私弹窗逻辑,之后再获取位置
      2023-09-11
      回复
    • 秦时明月
      秦时明月
      2023-09-15
      为什么写在onload中,地理位置按照官方规范 还可以写在onload中吗? 我记得好像是必须手动点击呢
      2023-09-15
      回复
  • 微尘
    微尘
    发表于小程序端
    2023-09-11

    appjson配置了true得话,基础库也要设置高点,授权才会返回true

    2023-09-11
    赞同
    回复

正在加载...

登录 后发表内容