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>


相关文章
|
28天前
|
人工智能 小程序 搜索推荐
uni app下开发AI运动小程序解决方案
本文介绍了在小程序中实现AI运动识别的解决方案。该方案依托于UNI平台,通过高效便捷的插件形式,实现包括相机抽帧控制、人体识别、姿态识别等在内的多项功能,无需依赖后台服务器,大幅提高识别效率和用户体验。方案内置多种运动模式,支持自定义扩展,适用于AI健身、云上赛事、AI体测等多场景,适合新开发和存量改造项目。
|
1月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
35 0
在线课堂+工具组件小程序uniapp移动端源码
|
2月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
348 3
|
2月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
51 2
|
2月前
|
小程序 数据可视化 API
低代码可视化-uniapp商城首页小程序-代码生成器
低代码可视化-uniapp商城首页小程序-代码生成器
34 0
|
4月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
116 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
4月前
|
前端开发 JavaScript 应用服务中间件
【uniapp】谷歌授权登录,前端uniapp直调(含源码)
本文介绍如何在uniapp项目中实现谷歌授权登录,无需后端参与。文章分为三部分:1)谷歌授权登录流程,详细说明从用户点击登录到获取用户信息的整个过程;2)谷歌开发者控制台配置,包括创建项目、配置同意屏幕及OAuth客户端ID等步骤;3)uniapp前端实操,提供具体代码示例,展示如何获取授权码并用其交换访问令牌,最终获取用户信息
185 2
【uniapp】谷歌授权登录,前端uniapp直调(含源码)
|
2月前
|
存储 移动开发 小程序
uniapp富文本editor输入二次扩展兼容微信小程序
uniapp富文本editor输入二次扩展兼容微信小程序
94 0
|
2月前
|
小程序 算法 前端开发
微信小程序---授权登录
微信小程序---授权登录
105 0
|
2月前
|
小程序
uniapp实现微信小程序隐私协议组件封装
uniapp实现微信小程序隐私协议组件封装
54 0