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>


相关文章
|
30天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
203 3
|
1月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
48 0
微信小程序更新提醒uniapp
|
1月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
40 2
|
1月前
|
小程序 数据可视化 API
低代码可视化-uniapp商城首页小程序-代码生成器
低代码可视化-uniapp商城首页小程序-代码生成器
26 0
|
1月前
|
存储 移动开发 小程序
uniapp富文本editor输入二次扩展兼容微信小程序
uniapp富文本editor输入二次扩展兼容微信小程序
61 0
|
3月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
104 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
1月前
|
小程序 算法 前端开发
微信小程序---授权登录
微信小程序---授权登录
75 0
|
1月前
|
小程序
uniapp实现微信小程序隐私协议组件封装
uniapp实现微信小程序隐私协议组件封装
44 0
|
1月前
|
人工智能 小程序 Python
Python编程小案例——编一个事件提醒弹窗小程序
Python编程小案例——编一个事件提醒弹窗小程序
|
3月前
|
小程序 前端开发 JavaScript
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【避坑宝】是一款企业黑红名单吐槽小程序,旨在帮助打工人群体辨别企业优劣。该平台采用SpringBoot+MybatisPlus+uniapp+uview2等技术栈构建,具备丰富的注释与简洁的代码结构,非常适合实战练习与学习。通过小程序搜索“避坑宝”即可体验。
100 0
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

热门文章

最新文章