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

19 篇文章 0 订阅
12 篇文章 0 订阅

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

在这里插入图片描述
官网通知:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html
1、配置 __usePrivacyCheck__: true;位置 manifest.json :

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

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

3、自定义弹框

<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>
data() {
    return {
        show: false, // 弹窗
        title: "用户隐私保护提示",
        desc1: "感谢您使用本程序,您使用本程序前应当阅读并同意",
        urlTitle: "《用户隐私保护协议》",
        desc2: "当您点击已阅读并同意时,即表示您已理解并同意该条款内容。如您拒绝,将无法正常使用。",
        isAgreePrivacy: false,// 是否已同意
        resolvePrivacyAuthorization: null // wx.onNeedPrivacyAuthorization 的回调
    }
}
// 弹出授权弹窗
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
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uniapp 是一个跨平台开发框架,可以同时开发多个平台的应用,包括微信小程序。如果你想在 Uniapp微信小程序中使用 MQTT 协议进行通信,可以按照以下步骤进行: 1. 在 Uniapp 项目中安装相关的 MQTT 插件或库,比如 `uni-mqtt`。可以通过 npm 或者其他方式引入。 2. 在 `main.js` 文件中引入 MQTT 插件,并配置 MQTT 连接参数。例如: ```javascript import mqtt from 'uni-mqtt'; // 配置 MQTT 连接参数 const options = { protocolVersion: 4, // MQTT 协议版本 clean: true, // 清除会话 connectTimeout: 4000, // 连接超时时间 clientId: 'your_client_id', // 客户端 ID username: 'your_username', // 用户名 password: 'your_password', // 密码 }; // 创建 MQTT 实例 const client = mqtt.connect('mqtt://your_broker_address', options); // 将 MQTT 实例挂载到 Vue 原型上,方便在组件中使用 Vue.prototype.$mqtt = client; ``` 3. 在需要使用 MQTT 的组件中,可以通过 `$mqtt` 来订阅和发布消息。例如: ```javascript // 订阅主题 this.$mqtt.subscribe('your_topic'); // 接收消息 this.$mqtt.on('message', (topic, message) => { console.log('Received message:', message.toString()); }); // 发布消息 this.$mqtt.publish('your_topic', 'Hello MQTT!'); ``` 以上是使用 Uniapp微信小程序中使用 MQTT 的基本步骤。具体的配置和使用方式可能会有些差异,可以根据具体的 MQTT 插件或库的文档进行参考和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值