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

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


官网通知:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html

1、配置 __usePrivacyCheck__: true;位置 manifest.json :

json 复制代码
"mp-weixin":{
	"__usePrivacyCheck__": true,
	"requiredPrivateInfos": [ // 权限授权API 示例
		"chooseLocation",
		"getLocation"
	],
}

2、用户隐私保护指引中添加对应的权限,提交审核,位置:微信公众平台->设置->服务内容声明->用户隐私保护指引->更新

3、自定义弹框

html 复制代码
<u-popup v-model="show" mode="bottom" :mask-close-able="false">
    <view style="padding: 14px">
        <view style="padding: 0 0 5px 0">
            {{title}}
        </view>
        <view>
            <view class="content">{{desc1}}</view>
            <view class="content" style="color:blue" @click="openPrivacy">{{urlTitle}}</view>
            <view class="content">{{desc2}}</view>
        </view>
        <view style="display:flex">
            <button id="disagree-btn" @click="closePopup" size="mini" style="flex: 1;margin-right: 8px">拒绝</button>
            <!--当点击同意按钮时就已经触发-->
            <button id="agree-btn" size="mini" type="primary" style="flex: 1" open-type="agreePrivacyAuthorization" v-show="!isAgreePrivacy" @agreeprivacyauthorization="handleAgree">已阅读并同意</button>
        </view>
    </view>
</u-popup>
js 复制代码
data() {
    return {
        show: false, // 弹窗
        title: "用户隐私保护提示",
        desc1: "感谢您使用本程序,您使用本程序前应当阅读并同意",
        urlTitle: "《用户隐私保护协议》",
        desc2: "当您点击已阅读并同意时,即表示您已理解并同意该条款内容。如您拒绝,将无法正常使用。",
        isAgreePrivacy: false,// 是否已同意
        resolvePrivacyAuthorization: null // wx.onNeedPrivacyAuthorization 的回调
    }
}
js 复制代码
// 弹出授权弹窗
openPopup(){
// 查询隐私授权情况
wx.getPrivacySetting({
    success: res => {
        // needAuthorization 是否需要授权
        if (!res.needAuthorization) {
            this.isAgreePrivacy = true
        }
    },
    fail: () => {
    },
})
this.show = true
// 模拟隐私接口调用,并触发隐私弹窗逻辑
// wx.requirePrivacyAuthorize({});
// 监听隐私接口需要用户授权事件。当需要用户进行隐私授权时会触发。触发该事件时,开发者需要弹出隐私协议说明,并在用户同意或拒绝授权后调用回调接口 resolve 触发原隐私接口或组件继续执行
// wx.onNeedPrivacyAuthorization((resolve, eventInfo) => {
//     // 需要用户同意隐私授权时
//     // 弹出开发者自定义的隐私授权弹窗
//     console.log(resolve)
//     this.resolvePrivacyAuthorization = resolve
// })
},
// 同意协议
handleAgree() {
    // this.resolvePrivacyAuthorization({
    //     buttonId: 'agree-btn',
    //     event: 'agree'
    // })
    // 如果用户之前已经同意过隐私授权,会立即返回success回调
    wx.requirePrivacyAuthorize({
        success: res => {
            this.show = false;
            this.isAgreePrivacy = true;
        }
    });
},
// 用户隐私协议详情
openPrivacy() {
	// 跳转至隐私协议页面
    wx.openPrivacyContract({})
},
//  关闭弹窗
closePopup() {
	// this.resolvePrivacyAuthorization({
    //     event: 'disagree'
    // })
    this.show = false
}
相关推荐
二十雨辰1 小时前
[uni-app]小兔鲜-07订单+支付
uni-app
丁总学Java5 小时前
微信小程序-npm支持-如何使用npm包
前端·微信小程序·npm·node.js
工业互联网专业6 小时前
毕业设计选题:基于ssm+vue+uniapp的校园水电费管理小程序
vue.js·小程序·uni-app·毕业设计·ssm·源码·课程设计
说私域9 小时前
社群团购中的用户黏性价值:以开源小程序多商户AI智能名片商城源码为例
人工智能·小程序
以对_13 小时前
uview表单校验不生效问题
前端·uni-app
迷雾yx13 小时前
开发微信小程序 基础02
微信小程序·小程序
迷雾yx13 小时前
开发微信小程序 基础03
微信小程序·小程序
说私域14 小时前
地理定位营销与开源AI智能名片O2O商城小程序的融合与发展
人工智能·小程序
小雨cc5566ru1 天前
uniapp+Android面向网络学习的时间管理工具软件 微信小程序
android·微信小程序·uni-app
二十雨辰1 天前
[uni-app]小兔鲜-04推荐+分类+详情
前端·javascript·uni-app