uni-app开发微信小程序,wx.getPrivacySetting,wx.openPrivacyContract,wx.onNeedPrivacyAuthorization,隐私弹窗使用具体代码

这篇具有很好参考价值的文章主要介绍了uni-app开发微信小程序,wx.getPrivacySetting,wx.openPrivacyContract,wx.onNeedPrivacyAuthorization,隐私弹窗使用具体代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 弹窗 代码插件已集成,即插即用,五分钟集成进项目,免费下载,欢迎大家交流 微信小程序用户隐私保护协议弹窗插件下载

一、代码实现

首先完成组件的界面,创建一个组件文件夹 component,然后创建一个 privacy 子文件夹,再创建一个 privacy 组件,组件是一个全屏蒙版加居中弹窗,弹窗中展示标题、描述、拒绝和同意按钮,wxml和wxss代码如下,uniapp开发同理:

<!--component/privacy/privacy.wxml-->
<view class="privacy" wx:if="{{showPrivacy}}">
    <view class="content">
        <view class="title">隐私保护指引</view>
        <view class="des">
            在使用当前小程序服务之前,请仔细阅读<text class="link" bind:tap="openPrivacyContract">{{privacyContractName}}</text>。如你同意{{privacyContractName}},请点击“同意”开始使用。
        </view>
        <view class="btns">
            <button class="item reject" bind:tap="exitMiniProgram">拒绝</button>
            <button id="agree-btn" class="item agree" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
        </view>
    </view>
</view>
/* component/privacy/privacy.wxss */
.privacy {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 9999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content {
    width: 632rpx;
    padding: 48rpx;
    box-sizing: border-box;
    background: #fff;
    border-radius: 16rpx;
}

.content .title {
    text-align: center;
    color: #333;
    font-weight: bold;
    font-size: 32rpx;
}

.content .des {
    font-size: 26rpx;
    color: #666;
    margin-top: 40rpx;
    text-align: justify;
    line-height: 1.6;
}

.content .des .link {
    color: #07c160;
    text-decoration: underline;
}

.btns {
    margin-top: 48rpx;
    display: flex;
}

.btns .item {
    justify-content: space-between;
    width: 244rpx;
    height: 80rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16rpx;
    box-sizing: border-box;
    border: none;
}

.btns .reject {
    background: #f4f4f5;
    color: #909399;
}

.btns .agree {
    background: #07c160;
    color: #fff;
}
// component/privacy/privacy.js
Component({
    /**
     * 组件的初始数据
     */
    data: {
        privacyContractName: '',
        showPrivacy: false
    },
    /**
     * 组件的生命周期
     */
    pageLifetimes: {
        show() {
            const _ = this
            wx.getPrivacySetting({
                success(res) {
                    if (res.needAuthorization) {
                        _.setData({
                            privacyContractName: res.privacyContractName,
                            showPrivacy: true
                        })
                    }
                }
            })
        }
    },
    /**
     * 组件的方法列表
     */
    methods: {
        // 打开隐私协议页面
        openPrivacyContract() {
            const _ = this
            wx.openPrivacyContract({
                fail: () => {
                    wx.showToast({
                        title: '遇到错误',
                        icon: 'error'
                    })
                }
            })
        },
        // 拒绝隐私协议
        exitMiniProgram() {
            // 直接退出小程序
            wx.exitMiniProgram()
        },
        // 同意隐私协议
        handleAgreePrivacyAuthorization() {
            const _ = this
            _.setData({
                showPrivacy: false
            })
        },
    },
})

二、使用组件

1. 使用时,在 page.json 中引入组件

{
    "usingComponents": {
        "Privacy": "/component/privacy/privacy"
    }
}

 2. 在 page.wxml 中使用组件

<Privacy />

3. 可以在所有使用了隐私接口的页面都加上该组件,授权一次之后使用所有隐私接口就不再需要授权

 三、注意事项

2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 app.json 中配置 "__usePrivacyCheck__": true 之后,接口才可以检测到是否需要弹窗。个人实际情况:我在开发者工具中配置了 "__usePrivacyCheck__": true ,wx.getPrivacySetting 接口的 res.needAuthorization 无论如何返回的都是 false,但在真机模拟的情况下和线上都可以返回 true ,返回 true 表示需要授权,此时显示弹窗。

四、如何取消授权进行调试

  • 微信中「微信下拉-最近-最近使用的小程序」中删除小程序可取消授权。
  • 开发者工具中「清除模拟器缓存-清除授权数据」可取消授权。

如果文章对您有帮助,点个关注,持续更新!文章来源地址https://www.toymoban.com/news/detail-708922.html

到了这里,关于uni-app开发微信小程序,wx.getPrivacySetting,wx.openPrivacyContract,wx.onNeedPrivacyAuthorization,隐私弹窗使用具体代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app 开发微信小程序 自动化编译/启动项目

          最近开发一个uni-app的小程序项目,因为习惯使用vscode 而项目不得不借助hbuderx 运行,微信开发工具调试,偶尔还需要使用 ios模拟器, 8g内存的mac 就变的异常卡顿,所以就研究了下通过npm命令去编译、 运行等工程化配置, 这样就不用运行hbuderx 减少内存使用,顺便 

    2024年02月07日
    浏览(57)
  • VUE(uni-app框架)开发微信小程序③-显示隐藏

    uni-app控制显示隐藏的方式有两种,【v-if】 和   【v-show】 v-if:通过控制虚拟dom树的节点来达到控制式样的显示和隐藏,当参数为false的时候,该节点被删掉,当为true的时候则显示。 v-show:通过css样式中的dispaly:none来控制元素的显示和隐藏 代码如下: 显示效果如下:  通

    2024年02月16日
    浏览(59)
  • uni-app开发微信小程序 web-view通讯

    最近开发了一个微信小程序嵌套vue页面 vue页面 有时候会使用到微信小程序的api 但是有的api他h5是不支持的  官方文档中提供的两种方法 @message 内嵌的h5页面不支持 Window的postMessage 在h5端使用没啥问题,这该死的uni-app页面不管怎么弄都会报那个window的错  还是我太菜了。。。

    2024年02月19日
    浏览(64)
  • 【用vue开发微信小程序】(uni-app)(自用,不推荐参考)

    以前自己只练习过开发些原生微信小程序,改用uni框架试试,简单记录下流程以及遇到的些问题。(记的东西有点杂,自用 🙏看起来繁杂请见谅) (1)先全局安装 npm install -g @vue/cli (只需要安装一次,安装过后就不用安装了) PS : 直接npm install -g@vue/cli 安装 可能会报错

    2024年02月09日
    浏览(66)
  • VUE(uni-app框架)开发微信小程序①-搭建脚手架

    一,脚手架搭建 前提:搭建脚手架的前提是需要装node.js,因为需要用到npm。 下载官网:下载 | Node.js 中文网 (nodejs.cn) 根据自己需要下载一个适合自己的版本,然后点击安装,安装完成后在命令提示窗口输入 node -v如果有版本信息就说明安装成功了  接下来: 1.全局安装: np

    2024年02月11日
    浏览(55)
  • 如何用uni-app+vue3+vant开发微信小程序

    uni-app之前一直只支持vue2语法, 2021年8月:新版支持 了vue3 开发,App平台编译器升级为 Vite; 新版 uni-app 框架主要做了三大改进: 重写框架内核:基于 vue3 + ts 重写内置组件和API,实现更彻底、更高效的 tree-shaking ; 新增支持 Vite 构建工具,在H5平台实现秒开预览; 新增支持

    2024年02月09日
    浏览(66)
  • uni-app开发微信小程序 vue3写法添加pinia

    使用uni-app开发,选择vue3语法,开发工具是HBliuderX。虽然内置有vuex,但是个人还是喜欢用Pinia,所以就添加进去了。 Pinia官网连接 第一步: 在项目根目录下执行命令: npm install pinia 第二步: 配置main.js文件 第三步,使用: 创建store文件夹、创建store/index.js 然后创建store/modu

    2024年02月03日
    浏览(58)
  • uni-app开发微信小程序,H5 关于压缩上传图片的问题

    文章目录 前言 一、为什么要压缩图片 二、图片压缩方式 1. 微信小程序​​​​​​​ 2. H5 总结 关于微信小程序、H5兼容性问题,今天就压缩以及上传图片做一个可实现方法的简要阐述。 在使用uni-app开发小程序及H5的具体业务中,我们会遇到需要让用户上传本地图片的场景

    2024年02月02日
    浏览(70)
  • uni-app使用HBuilder X工具和微信小程序工具开发微信小程序

    选择uni-app的原因是什么 需要使用到的工具 关于HBuilder X工具和微信小程序工具的介绍  怎么下载HBuilder X工具和微信小程序工具  如何使用HBuilderX工具 如何使用微信小程序工具  结尾 什么是uni-app uni-app是一个使用vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到

    2024年02月08日
    浏览(69)
  • uni-app开发微信小程序真机调试请求超时&请求被拒绝

    uni-app开发微信小程序真机调试请求超时请求被拒绝 在利用uni-app开发小程序时,写好的程序利用微信的模拟器进行调试时一切正常,但是一旦启用真机调试就会出现请求超时或者请求被拒绝的问题。如下图: 请求超时: errMsg: “request:fail fail:time out” errMsg: “request:fail -118:

    2024年02月12日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包