uniapp:打包ios配置隐私协议框

news/2024/7/20 22:23:28 标签: uni-app, ios

使用uniapp打包ios 上架商店需要配置隐私协议政策弹窗。当用户点击确定后才能继续操作。
首先manifest.json中配置使用原生隐私政策提示框是不支持ios的。不用勾选
在这里插入图片描述

解决思路:

1、新建页面:iosLogin.vue,pages.json中 这个页面需要放在第一位

<template>
	<view class="dialog">
		<view class="bg"></view>
		<view class="title">服务协议和隐私政策</view>
		<view class="content">
			请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读
			<text class="link" @click="linkClick(1)">《服务协议》</text><text class="link" @click="linkClick(2)">《隐私政策》</text>
			了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。
		</view>
		<view class="btn">
			<button @click="disagree">不同意并退出</button>
			<button @click="agree">同意</button>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				refCode:''
			}
		},
		onLoad(option) {
			if (option.refCode) {
				this.refCode = option.refCode;
				uni.setStorageSync('refCode', option.refCode);
			}
		},
		methods:{
			linkClick(num) {
				if(num == 1){
					let name1 = encodeURIComponent('用户协议')
					plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name1}&type=user_agreement`)
				}else{
					let name2 = encodeURIComponent('隐私政策')
					plus.runtime.openURL(`https://h5.******.com.cn/pages/login/xieyi?title=${name2}&type=privacy_agreement`)
				}
			},
			agree() {
				uni.setStorageSync('agree', 1) // 设置缓存,下次进入应用不再弹出
				this.$go(4,'/pages/index/index?refCode='+this.refCode); // 跳转首页
			},
			disagree(){
				// #ifdef APP-PLUS
				plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
				// #endif
			}
		}
	}
</script>

<style lang="scss">
	page {
		background: url('../../static/1.png')no-repeat left top #fff;
		background-size: 750rpx 1334rpx;
		position: relative;
		z-index: 2;
		.bg{
			position: fixed;
			left: 0;
			top: 0;
			z-index: -1;
			background: rgba(0, 0, 0, .5);
			width: 750rpx;
			height: 100vh;
		}
	}

	// 弹窗样式
	.dialog {
		margin: 0 auto;
		margin-top: calc(30vh);
		width: 600rpx;
		border-radius: 16rpx;
		background-color: #fff;
		
		.title {
			text-align: center;
			line-height: 80rpx;
			font-size: 32rpx;
			font-weight: 600;
		}

		.content {
			padding: 0 32rpx;
			text-indent: 1em;

			.link {
				color: #FF6840;
			}
		}

		.btn {
			display: flex;
			flex: 1;

			uni-button {
				margin: 0;
				flex: 1;
				background-color: #fff;
			}

			uni-button::after {
				border: none;
			}
		}
	}
</style>

app.vue

onLaunch: async function() {
	// #ifdef APP-PLUS
	const platform = uni.getSystemInfoSync().osName
	// 判断是不是ios,并且是否同意了隐私政策
	let agree = uni.getStorageSync('agree')
	if (platform === 'android') {
		plus.navigator.closeSplashscreen() // 关闭启动页
	} else {
		if(agree){
			uni.reLaunch({
				url: "/pages/index/index",
				success() {
					plus.navigator.closeSplashscreen()
				}
			})
		}else{
			console.log('ios第一次启动需要同意隐私政策');
			// ios单独进行隐私政策验证
			uni.navigateTo({
				url: "/pages/login/iosLogin",
				success() {
					plus.navigator.closeSplashscreen()
				}
			})
		}
	}
	// #endif
},

提示:如果项目有用到消息提示类的功能,在确认隐私政策前可能会有弹窗提示 是否接收APP消息,这个不影响上架。


http://www.niftyadmin.cn/n/5164001.html

相关文章

后端开发人员的Docker入门与实践指南

标题&#xff1a;后端开发人员的Docker入门与实践指南 引言 Docker已经成为现代软件开发的标配工具之一&#xff0c;不仅令开发、测试和部署更加便捷&#xff0c;还有助于实现开发环境和生产环境的一致性。本篇博客将帮助后端开发人员入门并掌握Docker&#xff0c;以便更好地…

解密网易数帆DataOps“三剑客”:从数据开发治理、指标中台到ChatBI

大数据产业创新服务媒体 ——聚焦数据 改变商业 近日&#xff0c;以“数智聚力&#xff0c;共赴新程”为主题的2023网易数字大会在杭州召开。在这次大会上&#xff0c;数据猿采访了网易副总裁、网易数帆总经理汪源&#xff0c;网易数帆大数据产品线总经理余利华&#xff0c;对…

Hbuilderx:Vue项目打包apk打开首页空白问题

可能是打包时没有修改前端项目默认的公共基础路径&#xff0c;或者是路由模式不支持。 以Vue3项目为例&#xff0c; 1. 修改默认的公共基础路径 import { fileURLToPath, URL } from node:urlimport { defineConfig } from vite import vue from vitejs/plugin-vue// https:/…

效果类似于 distinct 的列值去重/统计 Excel中有unique函数 numbers表格中无

文章目录 IntroExcel unique函数numbers表格 有无对应函数&#xff1f; Intro 最近在用 maOS 平台上的一款电子表格软件&#xff1a; numbers表格 做数据整理。 有一个需求&#xff0c;需要把某一列出现过的之统计一下(类似于SQL中的 select distinct(month) from tbl_demo; )…

C_2练习题

一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。) 1.对C语言程序&#xff0c;以下说法正确的是() A.main函数是主函数&#xff0c;一定要写在最前面。 B.所有的自定义函数&…

0基础学习VR全景平台篇第119篇:利用蒙版航拍补天 - PS教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 嗨&#xff0c;大家好。欢迎收看蛙色VR系列教程之PS利用蒙版航拍补天。 我们之前已经教过大家如何进行航拍调色&#xff0c;不知道大家学的怎么样呢&#xff1f; 会不会发现&…

[云原生案例2.2 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】网络插件部分

文章目录 1. Kubernetes的网络类别2. Kubernetes的接口类型3. CNI网络插件 ---- Flannel的介绍及部署3.1 简介3.2 flannel的三种模式3.3 flannel的UDP模式工作原理3.4 flannel的VXLAN模式工作原理3.5 Flannel CNI 网络插件部署3.5.1 上传flannel镜像文件和插件包到node节点3.5.…

策略模式(Stragedy)

简介 策略模式将策略&#xff08;方法&#xff09;与实体类相分离&#xff0c;使用聚合/组合替代继承。 思想&#xff1a;少用耦合性高的继承&#xff0c;尽量用聚合/组合来代替。 优点&#xff1a;将策略独立于实体类&#xff0c;策略的实现更加灵活&#xff0c;易于理解扩展…