uniapp授权小程序隐私弹窗效果demo(整理)

简介: uniapp授权小程序隐私弹窗效果demo(整理)



9月15号前要配置这句话
"__usePrivacyCheck__": true,
必设项:
1、开通调用微信接口-比如获取当前位置
2、更新隐私说明

官方“小程序隐私协议开发指南”文档

1、开通调用微信接口-比如获取当前位置

2、更新隐私说明



<template>
<view class="dealBox">
  <view class="txtBox padding10">
    <!-- 查看协议 -->
    在您使用施工现场五星计划小程序之前,请仔细阅读
    <text class="goToPrivacy" @click="handleOpenPrivacyContract">{{dealTxt}}</text>
    如您同意{{dealTxt}},请点击“同意”开始使用[施工现场五星计划]。如您拒绝,将无法进入。
  </view>
  <view class="row-me row-center space-between btnBox margin-top20">
    <view class="width100Percent height80 refuseBtn" @click="rejectClick">拒绝</view>
    <button id="agree-btn" class="wxagree-btn" open-type="agreePrivacyAuthorization"
      @agreeprivacyauthorization="handleAgreePrivacyAuthorization">
      同意
    </button>
  </view>
</view>
</template>
<script>
export default {
  components: {
  },
  data() {
    return {
      showBtn: '',//判断有没有进行授权
      dealTxt: '', //返回协议名称
    }
  },
  // 页面加载
  onLoad(e) {
    // this.$refs.pop.show();
    var that = this;
    wx.getPrivacySetting({
      success: res => {
        console.log(res, 'resres--隐私协议-getPrivacySetting')
        this.showBtn = res.needAuthorization;
        // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
        if (res.needAuthorization == true) {
          this.dealTxt = res.privacyContractName;
        } else {
          // this.showPrivacy = false;
          // this.dealTxt = '测试测试测试测试测试'
          // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用隐私接口
        }
      },
      fail: () => {},
    })
  },
  // 方法
  methods: {
    // 点击拒绝-拒绝就是没有授权同意协议
    rejectClick() {
      this.showBtn = true;
    },
    // 点击同意
    handleAgreePrivacyAuthorization() {
      console.log('同意')
      var that = this;
      // 用户点击同意按钮后
      wx.requirePrivacyAuthorize({
        success: (res) => {
          // 用户同意授权
          // 继续小程序逻辑
          that.showBtn = false;
          that.resolvePrivacyAuthorization({
            buttonId: 'agree-btn',
            event: 'agree'
          })
        },
        fail: (res) => {
          console.log(res, '22222222')
        }, // 用户拒绝授权
        complete: (res) => {
          console.log(res, '33333333333333')
        }
      })
    },
    // 点击查看协议
    handleOpenPrivacyContract() {
      console.log('点击了隐私协议')
      // 打开隐私协议页面
      wx.openPrivacyContract({
        success: res => {
          console.log('openPrivacyContract success', res)
        },
        fail: res => {
          console.error('openPrivacyContract fail', res)
        }
      })
    },
  }
}
</script>
<style lang="scss" scoped>
.dealBox {
  background-color: #fff;
  border-radius: 8rpx;
  padding: 20rpx;
  .txtBox {
    button {
      background-color: none !important;
      background: none !important;
      border: none !important;
      padding: 0 !important;
      line-height: inherit !important;
    }
    .goToPrivacy {
      color: #2274E5;
    }
  }
  .btnBox {
    border-top: 1rpx solid #ececec;
    padding-top: 20rpx;
    .wxagree-btn {
      margin: 0 !important;
      line-height: inherit !important;
      width: 150rpx !important;
      height: 60rpx !important;
      line-height: 60rpx !important;
      background-color: none !important;
      background: none !important;
      border: none !important;
      padding: 0 !important;
      background-color: #2274E5 !important;
      color: #fff !important;
      font-size: 24rpx !important;
      margin-right: 50rpx !important;
      border-radius: 8rpx !important;
    }
    .refuseBtn {
      width: 150rpx !important;
      height: 60rpx !important;
      line-height: 60rpx !important;
      color: #222 !important;
      font-size: 24rpx !important;
      text-align: center;
      border: 1rpx solid #ececec;
      margin-left: 50rpx;
      border-radius: 8rpx !important;
    }
  }
}
</style>


相关文章
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
958 8
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3590 12
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
606 0
|
人工智能 小程序 搜索推荐
uni app下开发AI运动小程序解决方案
本文介绍了在小程序中实现AI运动识别的解决方案。该方案依托于UNI平台,通过高效便捷的插件形式,实现包括相机抽帧控制、人体识别、姿态识别等在内的多项功能,无需依赖后台服务器,大幅提高识别效率和用户体验。方案内置多种运动模式,支持自定义扩展,适用于AI健身、云上赛事、AI体测等多场景,适合新开发和存量改造项目。
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
328 0
在线课堂+工具组件小程序uniapp移动端源码
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
3433 3
|
小程序 数据可视化 API
低代码可视化-uniapp商城首页小程序-代码生成器
低代码可视化-uniapp商城首页小程序-代码生成器
278 0
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
398 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
589 0
微信小程序更新提醒uniapp