4.4 KiB
4.4 KiB
小程序隐私政策合规修改总结
问题描述
小程序的隐私政策存在合规问题:
- 默认自动同意《用户服务协议》和《隐私政策》
- 用户无法独立阅读和选择是否同意
- 需要整改后重新提交
修改内容
1. 登录页面隐私政策弹窗修改
文件: pages/login/index.wxml
- 移除了原有的"我已了解"按钮
- 添加了复选框让用户主动勾选同意
- 添加了"暂不同意"和"同意并继续"两个按钮
- "同意并继续"按钮只有在勾选复选框后才能点击
2. 登录页面逻辑修改
文件: pages/login/index.js
- 添加了
privacyAgreed数据属性跟踪用户同意状态 - 添加了
checkPrivacyAgreement()方法在页面加载和显示时检查同意状态 - 添加了
onPrivacyAgreementChange()方法处理复选框变化 - 添加了
agreePrivacyPolicy()方法保存用户同意状态 - 修改了
closePrivacyPopup()方法,用户选择暂不同意时给出提示 - 在
weChatLogin()和weChatAuthorizeLogin()方法中添加了隐私政策检查
3. 隐私政策页面文本修改
文件: pages/privacy-policy/index.wxml
- 移除了"使用我们的服务即表示您同意本隐私政策的条款"的默认同意文本
- 改为"在使用我们的服务前,请您仔细阅读本隐私政策。您需要主动选择是否同意本隐私政策的条款"
4. 用户中心添加隐私政策链接
文件: pages/usercenter/index.js
- 在菜单中添加了"用户协议"和"隐私政策"链接
- 添加了相应的点击处理逻辑
5. 样式优化
文件: pages/login/index.wxss
- 添加了隐私政策同意区域的样式
- 优化了按钮布局和复选框样式
核心改进
用户同意机制
- 主动同意:用户必须主动勾选复选框才能同意
- 明确选择:提供"暂不同意"和"同意并继续"两个明确选项
- 状态持久化:用户同意状态保存在本地存储中
- 全流程检查:在登录的各个环节都会检查用户是否已同意
合规要点
- 移除默认同意:不再有任何形式的默认或自动同意
- 用户主导:用户可以自由选择是否同意,不同意也有明确的退出路径
- 透明度:用户可以随时在用户中心查看隐私政策和用户协议
- 记录同意时间:保存用户同意的时间戳用于审计
测试方法
1. 首次使用测试
- 清除小程序数据(删除本地存储)
- 打开小程序
- 应该自动弹出隐私政策弹窗
- 验证复选框默认未勾选
- 验证"同意并继续"按钮默认禁用
- 测试勾选复选框后按钮变为可用
2. 用户拒绝测试
- 在隐私政策弹窗中点击"暂不同意"
- 验证弹窗关闭并显示提示信息
- 尝试进行登录操作
- 验证会重新弹出隐私政策弹窗
3. 用户同意测试
- 勾选隐私政策复选框
- 点击"同意并继续"
- 验证弹窗关闭且不再弹出
- 验证可以正常进行登录操作
4. 状态持久化测试
- 同意隐私政策后关闭小程序
- 重新打开小程序
- 验证不会再次弹出隐私政策弹窗
- 验证可以直接进行登录操作
5. 用户中心链接测试
- 进入用户中心页面
- 验证能看到"用户协议"和"隐私政策"菜单项
- 点击测试跳转到对应页面
技术实现细节
本地存储键值
privacy_agreed: 布尔值,表示用户是否已同意隐私政策privacy_agreed_time: 时间戳,记录用户同意的时间
关键方法
checkPrivacyAgreement(): 检查用户隐私政策同意状态agreePrivacyPolicy(): 处理用户同意隐私政策onPrivacyAgreementChange(): 处理复选框状态变化
合规检查清单
- 移除所有默认同意逻辑
- 添加用户主动选择机制
- 提供明确的同意和拒绝选项
- 实现状态持久化
- 在关键操作前检查同意状态
- 提供隐私政策查看入口
- 优化用户体验和界面设计
注意事项
- 用户首次使用时必须先同意隐私政策才能使用小程序功能
- 用户可以在用户中心随时查看隐私政策和用户协议
- 如果用户选择不同意,将无法使用小程序的登录功能
- 用户同意状态会保存在本地,除非用户清除小程序数据
这些修改确保了小程序完全符合隐私政策合规要求,用户需要主动、明确地同意隐私政策才能使用服务。