hookehuyr

添加隐私条款

1 <!-- 1 <!--
2 * @Date: 2022-09-19 14:11:06 2 * @Date: 2022-09-19 14:11:06
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2023-12-28 10:48:17 4 + * @LastEditTime: 2024-01-17 14:45:13
5 * @FilePath: /meihuaApp/src/pages/login/index.vue 5 * @FilePath: /meihuaApp/src/pages/login/index.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -32,10 +32,55 @@ ...@@ -32,10 +32,55 @@
32 <nut-button block color="#6A4925" size="large" @tap="login"><text style="font-size: 38rpx;">登&nbsp;录</text></nut-button> 32 <nut-button block color="#6A4925" size="large" @tap="login"><text style="font-size: 38rpx;">登&nbsp;录</text></nut-button>
33 </view> 33 </view>
34 <view style="display: flex; align-items: center; margin-left: 60rpx; margin-top: 30rpx; color: #6A4925;"> 34 <view style="display: flex; align-items: center; margin-left: 60rpx; margin-top: 30rpx; color: #6A4925;">
35 - <IconFont name="checked" color="#6A4925"></IconFont> 35 + <IconFont v-if="agree_checked" name="checked" color="#6A4925" @tap="onClickAgree"></IconFont>
36 - <text style="margin-left: 5rpx;">登录即同意</text><text style="font-weight: bold;" @tap="tapRight">《法律条款及隐私政策》</text> 36 + <IconFont v-else name="check-normal" color="#000" @tap="onClickAgree"></IconFont>
37 + <text style="margin-left: 5rpx;" @tap="onClickAgree">登录即同意</text><text style="font-weight: bold;" @tap="tapRight">《法律条款及隐私政策》</text>
37 </view> 38 </view>
38 - <nut-popup position="right" closeable :style="{ width: '100%', height: '100%' }" v-model:visible="showRight"></nut-popup> 39 + <nut-popup position="right" closeable :style="{ width: '100%', height: '100%' }" v-model:visible="showRight">
40 + <view>
41 + <view style="text-align: center; font-size: 35rpx; margin-top: 80rpx; margin-bottom: 20rpx;">隐私条款</view>
42 + <view style="padding: 0 50rpx;">
43 + <view>一、定义</view>
44 + <view style="margin: 20rpx 0;">
45 + <view style="margin-bottom: 10rpx;">
46 + 1.个人隐私保护协议:是指依据相关法律法规规定、本协议等文件,由双方就个人信息的收集,使用和保护等问题所订立的协议。
47 + </view>
48 + <view>
49 + 2.个人信息:是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息,包括但不限于自然人的姓名、出生日期、证件号码、个人生物识别信息、地址、电话号码、电子邮件地址等。
50 + </view>
51 + </view>
52 + <view>二、收集个人信息的目的</view>
53 + <view style="margin: 20rpx 0;">
54 + <view style="margin-bottom: 10rpx;">
55 + 1. 我方将收集个人信息的目的是为了提供服务和满足客户的要求,并为客户提供更优质的服务和体验;
56 + </view>
57 + <view style="margin-bottom: 10rpx;">
58 + 2. 我方将对收集的个人信息进行严格的管理,以确保个人信息安全,不会被不当使用;
59 + </view>
60 + <view>
61 + 3. 我方将严格邊守法律法规,尊重客户的隐私权,不会将个人信息提供给第三方。
62 + </view>
63 + </view>
64 + <view>三、收集个人信息的范围</view>
65 + <view style="margin: 20rpx 0;">
66 + <view style="margin-bottom: 10rpx;">1. 我方将仅收集客户提供的个人信息,不收集未经客户许可的其他信息:</view>
67 + <view style="margin-bottom: 10rpx;">2. 如果客户拒绝提供个人信息,我方将无法为某提供服务;</view>
68 + <view>3. 我方可能会通过网络技术收集客户的浏览和使用信息,但未经客户许可不会收集其他个人信息。</view>
69 + </view>
70 + <view>四、个人信息的使用</view>
71 + <view style="margin: 20rpx 0;">
72 + <view style="margin-bottom: 10rpx;">1. 我方将仅为提供服务的目的而使用客户的个人信息,不会将其用于其他用途;</view>
73 + <view style="margin-bottom: 10rpx;">2. 为保护客户的隐私权,我方不会将客户的个人信息提供给第三万,除非经过客户的同意或者依照相关法律法规的规定;</view>
74 + <view>3. 如果客户要求我方删除个人信息,我方将及时删除客户的个人信息。</view>
75 + </view>
76 + </view>
77 + </view>
78 + <view style="padding: 20rpx;">
79 + <nut-button @tap="() => { showRight=false }" block color="#6A4925" size="large">
80 + <text>关&nbsp;闭</text>
81 + </nut-button>
82 + </view>
83 + </nut-popup>
39 </view> 84 </view>
40 </template> 85 </template>
41 86
...@@ -90,6 +135,11 @@ const time_remaining = ref(0); ...@@ -90,6 +135,11 @@ const time_remaining = ref(0);
90 const tel = ref(''); 135 const tel = ref('');
91 const sms_code = ref(null); 136 const sms_code = ref(null);
92 137
138 +const agree_checked = ref(false);
139 +const onClickAgree = () => {
140 + agree_checked.value = !agree_checked.value;
141 +}
142 +
93 const showRight = ref(false); 143 const showRight = ref(false);
94 144
95 const tapRight = () => { 145 const tapRight = () => {
...@@ -105,6 +155,14 @@ const isValidTel = (tel) => { ...@@ -105,6 +155,14 @@ const isValidTel = (tel) => {
105 } 155 }
106 156
107 const login = async () => { 157 const login = async () => {
158 + if (!agree_checked.value) {
159 + Taro.showToast({
160 + title: '请先阅读隐私政策后勾选',
161 + icon: 'none',
162 + duration: 2000
163 + });
164 + return;
165 + }
108 if (!isValidTel(tel.value) ||!sms_code.value) { 166 if (!isValidTel(tel.value) ||!sms_code.value) {
109 Taro.showToast({ 167 Taro.showToast({
110 title: '请检查输入项', 168 title: '请检查输入项',
......