微信小程序隐私协议自定义页面(弹窗)开发流程以及低版本兼容

这篇具有很好参考价值的文章主要介绍了微信小程序隐私协议自定义页面(弹窗)开发流程以及低版本兼容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里我选择的是全局监听,进入小程序就会监控用户有没有同意,没有则进行弹窗,不同意则关闭,这个逻辑可以根据自己需要随便修改。

小程序基础库是跟着用户手机微信版本走的,不是你的调试基础库!!!

小程序基础库是跟着用户手机微信版本走的,不是你的调试基础库!!!

小程序基础库是跟着用户手机微信版本走的,不是你的调试基础库!!!

发现有很多人根据自己调试基础库来排查自己涉不涉及,你的小程序是否涉及隐私协议整改,还是看有没有调用涉及隐私接口,如果有,那你最后还是要改。
开发者需在「小程序管理后台」配置《小程序用户隐私保护指引》,详细指引可见:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/

需要注意的是,仅有在指引中声明所处理的用户信息,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将直接禁用。隐私接口与对应的处理的信息关系可见: https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html

app.js

  这里setStorageSync保存的,是用户当前是否同意协议的状态
  我们在onShow进行一个判断,每次用户打开小程序先去判断是否进行隐私授权,否则跳转至授权页面(弹窗)
  getPrivacy(privacy) {
    wx.setStorageSync('privacyStatus', privacy);
  },

  onShow(object) {
    if (wx.getStorageSync('privacyStatus')) {
      // 用户协议已同意
      console.log('用户协议已同意');
    } else {
      // 未同意用户协议,则跳转至弹窗页面或弹出窗口
      console.log('用户协议未同意');
      const url = `/${object.path}`;
      if (url !== '/pages/guidePages/index') {
        wx.redirectTo({
          url: '/pages/guidePages/index',
        })
      }
    }
  },

guidePages.js (隐私协议页面,或在你的弹窗里写上事件)

因为2.32.3以下版本的基础库,wx.getPrivacySetting会直接报错,需要做低版本兼容处理
低版本不会拦截所以直接跳过就行了

wx.getAppBaseInfo().SDKVersion 获取当前基础库版本。

compareVersion 是一个比较数字的方法,可以用自己的或者第三方库,这个无所谓。

wx.getPrivacySetting 返回值:

needAuthorization: true/false,   //授权状态
privacyContractName: '《xxx隐私保护指引》'  //协议名称
<view class="btn disagree" bindtap="showPageContainer">不同意</view>
<view class="btn agree head_gradient" bindtap="agree" wx:if="{{ lowVersion }}">同意</view>
<button class="btn agree head_gradient" id="agree-btn" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization" wx:if="{{ !lowVersion }}">同意</button>

这里我直接给低版本显示不同的按钮了,
低版本是不支持bindagreeprivacyauthorization这些事件的,同意后直接关闭页面(弹窗)就可以了。
而且view标签也不支持bindagreeprivacyauthorization这些事件,我当时写的时候是不支持,改的button,不知道有没有再改。。。

 const app = getApp()
 
 onShow() {
    const _ = this
    if (wx.getPrivacySetting) >= 0) {
      wx.getPrivacySetting({
        success(res) {
          if (res.errMsg == "getPrivacySetting:ok") {
            _.setData({
              privacyContractName: res.privacyContractName,
              lowVersion: false
            })
            app.getPrivacy(!res.needAuthorization)
          }
        }
      })
    } else {
      console.log('低版本');
      app.getPrivacy(true)
      this.setData({
        lowVersion: true
      })
    }
  },
  
  // 同意隐私协议
  handleAgreePrivacyAuthorization() {
  	*更改全局状态*
    app.getPrivacy(true);
    *同意后的事件,自己根据需要写就可以*
    this.agree();
  },

  // 比较版本号
  compareVersion(v1, v2) {
    v1 = v1.split('.')
    v2 = v2.split('.')
    const len = Math.max(v1.length, v2.length)

    while (v1.length < len) {
      v1.push('0')
    }
    while (v2.length < len) {
      v2.push('0')
    }

    for (let i = 0; i < len; i++) {
      const num1 = parseInt(v1[i])
      const num2 = parseInt(v2[i])

      if (num1 > num2) {
        return 1
      } else if (num1 < num2) {
        return -1
      }
    }
    return 0
  },

隐私协议接口同意一次就不会再拦截,但是用户删除小程序后就需要再次同意。所以我就在app.js直接监听了。

还有一种方法是在调用隐私相关接口时去监听,这个按自己需求去改一下就行,其实大同小异,都是查一下用户需不需要同意协议,

需要的话就让用户去点一下同意触发handleAgreePrivacyAuthorization再去调用隐私接口,而且官方也提供了耦合写法。
微信小程序 像隐私政策的这种单个页面 怎么搭建 上传,微信小程序,小程序,前端

低兼容测试可以在开发者工具切换基础库来测试。

调试前记得在app.json加上
usePrivacyCheck: true
微信小程序 像隐私政策的这种单个页面 怎么搭建 上传,微信小程序,小程序,前端

官方现在有不需要开发的弹窗了,但是还是留了一个很恶心的问题。。。
一旦点击错误,用户将被沉默10s
微信小程序 像隐私政策的这种单个页面 怎么搭建 上传,微信小程序,小程序,前端文章来源地址https://www.toymoban.com/news/detail-793168.html

到了这里,关于微信小程序隐私协议自定义页面(弹窗)开发流程以及低版本兼容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp 微信小程序之隐私协议开发

    官网通知:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html 1、配置 __usePrivacyCheck__: true ;位置 manifest.json : 2、用户隐私保护指引中添加对应的权限,提交审核,位置:微信公众平台-设置-服务内容声明-用户隐私保护指引-更新 3、自定义弹框

    2024年02月05日
    浏览(40)
  • 微信小程序审核,隐私协议中开发者处理信息填写的内容参考

    为了分辨用户,开发者将在获取你的明示同意后,收集你的微信昵称、头像 为了显示距离,开发者将在获取你的明示同意后,收集你的位置信息。 开发者收集你的地址,用于获取位置信息。 开发者收集你的发票信息,用于维护消费功能。 为了用户互动,开发者将在获取你的

    2024年02月08日
    浏览(49)
  • 微信小程序接入隐私弹窗说明及详细过程

    相信各位做小程序的小伙伴在微信小程序后台应该都接到了官方通知的小程序隐私新规,如果还未收到的小程序可以看一下: 为规范开发者的用户个人信息处理行为,保障用户合法权益,自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,微信要求,仅当开发者

    2024年02月06日
    浏览(50)
  • 微信小程序wx.getLocation 真机调试不出现隐私弹窗

            在小程序的开发过程中,首页中包含要获取用户地理位置的功能,所以在这里的onLoad()中调用了wx.getLocation(),模拟调试时一切正常,但到了真机环境中就隐私框就不再弹出,并且出现了报错,在打印之后发现getLocation的成功和失败均没有进行          (设置

    2024年04月16日
    浏览(34)
  • uni-app开发微信小程序,9月15日前需添加隐私协议弹窗解决方案

    弹窗 代码插件已集成,即插即用, 五分钟集成进项目,免费下载,欢迎大家交流  微信小程序用户隐私保护协议弹窗插件下载 8 月 10 日微信官方发布公告 关于小程序隐私保护指引设置的公告,从 2023 年 9 月 15 日起必须用户点击同意隐私保护政策并同步给微信之后,开发者才可以

    2024年02月09日
    浏览(47)
  • uniapp 微信小程序最新隐私弹窗更新方案,更新后无法登录问题解决方案

    uni-popup ref=\\\"popusAuthorization\\\" type=\\\"center\\\" :maskClick=\\\"false\\\" view class=\\\"contentview\\\" view class=\\\"title\\\"隐私保护指引/view view class=\\\"des\\\" @click=\\\"openPrivacyContract\\\" 在使用当前小程序服务之前,请仔细阅读text style=\\\"color: #07c160;\\\"{{privacyContractName}}/text。如你同意{{privacyContractName}},请点击“同意”开始使

    2024年02月09日
    浏览(35)
  • 微信小程序隐私协议接入

     2023.09.14更新: 隐私相关功能启用时间延期至 2023年10月17日。在 2023年10月17日之前,在 app.json 中配置 __usePrivacyCheck__: true 后,会启用隐私相关功能,如果不配置或者配置为 false 则不会启用。在 2023年10月17日之后,不论 app.json 中是否有配置 __usePrivacyCheck__ ,隐私相关功能都会

    2024年02月08日
    浏览(36)
  • 微信小程序 webview页面分享弹窗

    公司业务需要在webview中添加分享弹窗,可以发送给朋友及生成海报分享,因为好几个详情都需要这个功能,因此抽离了share-sheet的组件,ui效果如下图: 点击分享,显示以下弹窗 share-sheet.wxml如下: share-sheet.js如下: share-sheet.less如下: 一下均为真机测试,实际情况可能会随

    2024年02月11日
    浏览(45)
  • 【Taro】微信小程序隐私协议改造

     微信要求小程序开发者在2023.9.15日前将小程序中调用获取用户隐私api的接口时,都必须要先让用户授权,如果用户拒绝授权,那么小程序的对应接口或组件将直接禁用。 那么首先,请将微信小程序开发者工具-详情-本地设置-基础调试库 切换至2.33.0以上。低于该调试库会报错

    2024年02月09日
    浏览(42)
  • 微信小程序|自定义弹窗组件

    2024年02月12日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包