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 />
相关推荐
文心快码BaiduComate9 小时前
轻松实践:用Python实现“名字大作战”游戏,表白Zulu!
前端·后端·微信小程序
文心快码BaiduComate1 天前
用Comate Zulu开发一款微信小程序
前端·后端·微信小程序
CHB1 天前
uni-ai:让你的App快速接入AI
uni-app·deepseek
小徐_23333 天前
uni-app vue3 也能使用 Echarts?Wot Starter 是这样做的!
前端·uni-app·echarts
iOS阿玮4 天前
永远不要站在用户的对立面,挑战大众的公知。
uni-app·app·apple
xw54 天前
uni-app中v-if使用”异常”
前端·uni-app
!win !4 天前
uni-app中v-if使用”异常”
前端·uni-app
Emma歌小白4 天前
如何首次运行小程序后端
微信小程序
赣州云智科技的技术铺子4 天前
【一步步开发AI运动APP】十二、自定义扩展新运动项目1
微信小程序·小程序·云开发·智能小程序
2501_915918414 天前
iOS 上架全流程指南 iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传 ipa 与审核实战经验分享
android·ios·小程序·uni-app·cocoa·iphone·webview