| | |
| | | |
| | | <view class="flex flex-col"> |
| | | <span class="pt-30rpx text-black font-bold">{{ initSubTitle }}</span> |
| | | <span class="pt-30rpx text-sm text-black">1.为向您提供基本的服务,我们会遵循正当、合法、必要的原则收集和使用必要的信息。</span> |
| | | <span class="pt-30rpx text-sm text-black">2.基于您的授权我们可能会收集和使用您的相关信息,您有权拒绝或取消授权。</span> |
| | | <span class="pt-30rpx text-sm text-black">3.未经您的授权同意,我们不会将您的信息共享给第三方或用于您未授权的其他用途。</span> |
| | | <span class="pt-30rpx text-sm text-black">4.详细信息请您完整阅读<text class="text-decoration" @click="openPrivacyContract">{{ |
| | | initPrivacyContractName |
| | | }}</text></span> |
| | | <span class="pt-30rpx text-sm text-black" |
| | | >1.为向您提供基本的服务,我们会遵循正当、合法、必要的原则收集和使用必要的信息。</span |
| | | > |
| | | <span class="pt-30rpx text-sm text-black" |
| | | >2.基于您的授权我们可能会收集和使用您的相关信息,您有权拒绝或取消授权。</span |
| | | > |
| | | <span class="pt-30rpx text-sm text-black" |
| | | >3.未经您的授权同意,我们不会将您的信息共享给第三方或用于您未授权的其他用途。</span |
| | | > |
| | | <span class="pt-30rpx text-sm text-black" |
| | | >4.详细信息请您完整阅读<text |
| | | class="text-decoration" |
| | | @click="openPrivacyContract" |
| | | >{{ initPrivacyContractName }}</text |
| | | ></span |
| | | > |
| | | </view> |
| | | |
| | | <view class="mt-30rpx flex items-center justify-around pt-10rpx"> |
| | | <view class="min-w-100px"> |
| | | <button class="button button-default" @click="disagree"> |
| | | 拒绝 |
| | | </button> |
| | | <button class="button button-default" @click="disagree">拒绝</button> |
| | | </view> |
| | | <view class="min-w-100px"> |
| | | <button |
| | |
| | | <script setup> |
| | | const props = withDefaults(defineProps(), { |
| | | modelValue: false, |
| | | title: '', |
| | | subTitle: '', |
| | | title: "", |
| | | subTitle: "", |
| | | disableCheckPrivacy: true, |
| | | agreePrivacyId: 'agree-btn', |
| | | agreePrivacyId: "agree-btn", |
| | | }); |
| | | |
| | | const emit = defineEmits([ |
| | | 'update:modelValue', |
| | | 'needPrivacyAuthorization', |
| | | 'agree', |
| | | 'disagree', |
| | | "update:modelValue", |
| | | "needPrivacyAuthorization", |
| | | "agree", |
| | | "disagree", |
| | | ]); |
| | | // 初始化的标题 |
| | | const initTitle = ref('隐私政策概要'); |
| | | const initTitle = ref("隐私政策概要"); |
| | | // 初始化的副标题 |
| | | const initSubTitle = ref(''); |
| | | const initSubTitle = ref(""); |
| | | // 隐私政策 |
| | | const initPrivacyContractName = ref('隐私政策'); |
| | | const initPrivacyContractName = ref("隐私政策"); |
| | | |
| | | // 打开隐私 |
| | | function openAgreePrivacy() { |
| | | emit('update:modelValue', true); |
| | | emit("update:modelValue", true); |
| | | } |
| | | |
| | | // 关闭隐私 |
| | | function closeAgreePrivacy() { |
| | | emit('update:modelValue', false); |
| | | emit("update:modelValue", false); |
| | | } |
| | | |
| | | // 需要初始化的数据 |
| | | function initData() { |
| | | initTitle.value = props.title || initTitle.value; |
| | | initSubTitle.value |
| | | = props.subTitle |
| | | || `亲爱的用户,感谢您一直以来的支持!为了更好地保护您的权益,同时遵守相关监管要求,请认真阅读${initPrivacyContractName.value},特向您说明如下:`; |
| | | initSubTitle.value = |
| | | props.subTitle || |
| | | `亲爱的用户,感谢您一直以来的支持!为了更好地保护您的权益,同时遵守相关监管要求,请认真阅读${initPrivacyContractName.value},特向您说明如下:`; |
| | | } |
| | | |
| | | // 检测是否授权 |
| | |
| | | // 需要弹出隐私协议 |
| | | openAgreePrivacy(); |
| | | } |
| | | } |
| | | else { |
| | | } else { |
| | | // 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口 |
| | | // wx.getUserProfile() |
| | | } |
| | |
| | | |
| | | // 同意 |
| | | function agree(e) { |
| | | const buttonId = e.target.id || 'agree-btn'; |
| | | emit('agree', buttonId); |
| | | emit('update:modelValue', false); |
| | | const buttonId = e.target.id || "agree-btn"; |
| | | emit("agree", buttonId); |
| | | emit("update:modelValue", false); |
| | | } |
| | | |
| | | // 拒绝 |
| | | function disagree() { |
| | | emit('disagree'); |
| | | emit("disagree"); |
| | | closeAgreePrivacy(); |
| | | } |
| | | |