uniapp微信小程序隐私保护引导新规

1.components中新建组件PrivacyPop.vue

javascript 复制代码
<template>
    <view class="privacy" v-if="showPrivacy">
        <view class="content">
            <view class="title">隐私保护指引</view>
            <view class="des">
                在使用当前小程序服务之前,请仔细阅读<text class="link" @tap="openPrivacyContract">{{ privacyContractName }}</text>。如你同意{{
                    privacyContractName }},请点击"同意"开始使用。
            </view>
            <view class="btns">
                <button class="item reject" @tap="exitMiniProgram">拒绝</button>
                <button id="agree-btn" class="item agree" open-type="agreePrivacyAuthorization"
                    @agreeprivacyauthorization="handleAgreePrivacyAuthorization">同意</button>
            </view>
        </view>
    </view>
</template>
  
<script>
export default {
    data() {
        return {
            privacyContractName: '《XXX隐私保护引导》',
            showPrivacy: true
        }
    },
    // onShow() {
    //     const version = uni.getSystemInfoSync().SDKVersion
    //     if (this.compareVersion(version, '2.32.3') >= 0) {
    //         uni.getPrivacySetting({
    //             success: (res) => {
    //                 if (res.errMsg === "getPrivacySetting:ok") {
    //                     this.privacyContractName = res.privacyContractName
    //                     this.showPrivacy = res.needAuthorization
    //                 }
    //             }
    //         })
    //     }
    // },
    methods: {
        openPrivacyContract() {
            uni.openPrivacyContract({
                fail: () => {
                    uni.showToast({
                        title: '遇到错误',
                        icon: 'error'
                    })
                }
            })
        },
        // 拒绝隐私协议
        exitMiniProgram() {
            // 直接退出小程序
            wx.exitMiniProgram()
        },
        // 同意隐私协议
        handleAgreePrivacyAuthorization() {
            this.showPrivacy = false
        },
        compareVersion(v1, v2) {
            v1 = v1.split('.')
            v2 = v2.split('.')
            const len = Math.max(v1.length, v2.length)

            while (v1.length < len) {
                v1.push('0')
            }
            while (v2.length < len) {
                v2.push('0')
            }

            for (let i = 0; i < len; i++) {
                const num1 = parseInt(v1[i])
                const num2 = parseInt(v2[i])

                if (num1 > num2) {
                    return 1
                } else if (num1 < num2) {
                    return -1
                }
            }

            return 0
        }
    }
}
</script> 
  
<style scoped> .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;
 }
</style>

2.首页引入

复制代码
import PrivacyPop from '../../components/PrivacyPop/PrivacyPop.vue';


	components: {
		PrivacyPop
	},


<PrivacyPop />
相关推荐
说私域8 小时前
日本零售精髓赋能下 链动2+1模式驱动新零售本质回归与发展格局研究
人工智能·小程序·数据挖掘·回归·流量运营·零售·私域运营
程序媛徐师姐8 小时前
Java基于微信小程序的模拟考试系统,附源码+文档说明
java·微信小程序·java模拟考试系统小程序·模拟考试微信小程序·模拟考试系统小程序·模拟考试小程序·java模拟考试小程序
大尚来也9 小时前
微信小程序开发费用全解析:从SaaS到定制的多元选择
微信小程序
奔跑的web.9 小时前
UniApp 路由导航守
前端·javascript·uni-app
如果你好9 小时前
UniApp 路由导航守卫
前端·微信小程序
特立独行的猫a9 小时前
主要跨端开发框架对比:Flutter、RN、KMP、Uniapp、Cordova,谁是未来主流?
flutter·uni-app·uniapp·rn·kmp·kuikly
大尚来也11 小时前
小程序怎么开发自己的小程序
微信小程序
码云数智-园园11 小时前
小程序开发平台有哪些?小程序第三方开发平台评测对比
微信小程序
说私域11 小时前
流量裂变与数字重塑:基于AI智能名片小程序的短视频全域引流范式研究
人工智能·小程序·流量运营·私域运营
万物得其道者成21 小时前
UniApp 多端滑块验证码插件 zxj-slide-verify 实用指南
uni-app