privacy.uvue 2.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<template>
  <view class="dialog-container">
    <view class="dialog-content">
      <text style="text-align: center;margin-top: 20px;font-size: 20px;"> 个人信息保护指引</text>
      <rich-text style="flex: 1;font-size: 20px;margin: 12px;" :nodes="htmlString" @itemclick="itemClick"></rich-text>
      <button @click="reject">不同意</button>
      <button type="warn" open-type="agreePrivacyAuthorization" @click="agree">同意</button>
    </view>
  </view>
</template>
<script>
  import { openSchema } from '@/uni_modules/uts-openSchema'

  export default {
    data() {
      return {
        number: 0,
18
        htmlString: '<span >欢迎使用Hello UNI APPX,我们将通过<strong><a href="https://hx.dcloud.net.cn/license">《用户服务协议》</a></strong>及相关个人信息处理规则帮助你了解我们如何收集、处理个人信息。根据《常见类型移动互联网应用程序必要个人信息范围规定》。同意《基本功能数据处理规则》仅代表你同意使用浏览、搜索、下载等主要功能收集、处理相关必要个人信息及数据。此外,为了向你提供更多丰富、优质的服务,我们可能在你使用本产品的过程中提供电商购物、财经支付等扩展功能,如果你拒绝提供,你可能无法使用相应的扩展服务,但不影响你使用我们的基础服务。我们通过</span><strong><a href="https://doc.dcloud.net.cn/markdown-share-docs/2e766f9cf1f8ca009c11875e447de5c8/">《隐私政策》</a></strong><span>帮助你全面了解我们的服务及收集、处理个人信息的详细情况。</span>'
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
      }
    },
    unmounted() {
      uni.offPrivacyAuthorizationChange(this.number)
    },
    onLoad() {
      this.number = uni.onPrivacyAuthorizationChange((callback) => {
        uni.showToast({
          title: 'isPrivacyAgree:' + !callback.needAuthorization
        })
      })
    },
    methods: {
      agree() {
        uni.closeDialogPage({
          dialogPage: this.$page as UniDialogPage
        })
      },
      reject() {
        uni.resetPrivacyAuthorization()
        uni.closeDialogPage({
          dialogPage: this.$page as UniDialogPage
        })
      },
      itemClick(e : RichTextItemClickEvent) {
        let ref = e.detail.href
        if (ref != null) {
          openSchema(ref)
        }
      },
    }
  }
</script>
<style>
  .dialog-container {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .dialog-content {
    height: 60%;
    width: 80%;
    background-color: #fff;
    border-radius: 6px;
  }

  .mt-10 {
    margin-top: 10px;
  }
</style>