# 小程序隐私协议填写指南 > 2024年起,小程序需要配置隐私保护指引才能正常使用涉及用户隐私的接口 --- ## 一、为什么需要配置? 从2024年开始,微信要求所有小程序: 1. 在调用涉及用户隐私的接口前,需要让用户同意隐私协议 2. 必须在小程序后台配置《用户隐私保护指引》 3. 未配置的接口将无法正常调用 --- ## 二、常用隐私字段说明 ### 用户信息类 | 字段 | 涉及接口 | 填写示例 | |------|----------|----------| | `UserInfo` | wx.getUserProfile, wx.getUserInfo | 用于展示您的头像和昵称 | | `Nickname` | wx.chooseNickname | 用于获取您设置的昵称 | ### 位置信息类 | 字段 | 涉及接口 | 填写示例 | |------|----------|----------| | `Location` | wx.getLocation, wx.chooseLocation | 用于获取您的位置信息以推荐附近服务 | | `ChooseLocation` | wx.chooseLocation | 用于在地图上选择位置 | ### 通讯信息类 | 字段 | 涉及接口 | 填写示例 | |------|----------|----------| | `PhoneNumber` | button(open-type="getPhoneNumber") | 用于登录验证和订单通知 | | `Contact` | wx.chooseContact | 用于获取通讯录联系人 | ### 媒体信息类 | 字段 | 涉及接口 | 填写示例 | |------|----------|----------| | `Album` | wx.chooseImage, wx.chooseMedia | 用于上传图片或视频 | | `Camera` | wx.openSetting, camera组件 | 用于拍摄照片或视频 | | `Record` | wx.startRecord, RecorderManager | 用于录制语音消息 | ### 其他信息类 | 字段 | 涉及接口 | 填写示例 | |------|----------|----------| | `Clipboard` | wx.setClipboardData, wx.getClipboardData | 用于复制分享链接或优惠码 | | `ChooseAddress` | wx.chooseAddress | 用于获取收货地址以便配送 | | `MessageFile` | wx.openDocument | 用于打开微信消息中的文件 | | `BluetoothInfo` | wx.openBluetoothAdapter | 用于连接蓝牙设备 | --- ## 三、如何配置 ### 方式一:微信后台手动配置 1. 登录 [小程序后台](https://mp.weixin.qq.com/) 2. 设置 → 基本设置 → 用户隐私保护指引 3. 选择需要使用的接口 4. 填写使用说明 5. 提交审核 ### 方式二:通过API配置 ```python from mp_api import MiniProgramAPI api = MiniProgramAPI(access_token="你的token") # 配置隐私协议 api.set_privacy_setting( setting_list=[ {"privacy_key": "UserInfo", "privacy_text": "用于展示您的头像和昵称"}, {"privacy_key": "Location", "privacy_text": "用于获取您的位置信息以推荐附近服务"}, {"privacy_key": "PhoneNumber", "privacy_text": "用于登录验证和订单通知"}, {"privacy_key": "Album", "privacy_text": "用于上传图片"}, {"privacy_key": "Clipboard", "privacy_text": "用于复制分享链接"}, ], contact_email="zhiqun@qq.com", contact_phone="15880802661" ) ``` ### 方式三:使用CLI工具快速配置 ```bash cd /Users/karuo/Documents/个人/卡若AI/02_卡人(水)/小程序管理/scripts python mp_manager.py privacy --quick --email zhiqun@qq.com --phone 15880802661 ``` --- ## 四、小程序端代码实现 ### 1. 在app.json中声明 ```json { "usingComponents": {}, "__usePrivacyCheck__": true } ``` ### 2. 隐私协议弹窗组件 ```javascript // privacy-popup.js Component({ data: { showPrivacy: false }, methods: { // 显示隐私弹窗 showPrivacyPopup() { if (wx.getPrivacySetting) { wx.getPrivacySetting({ success: (res) => { if (res.needAuthorization) { this.setData({ showPrivacy: true }) } } }) } }, // 同意隐私协议 handleAgree() { if (wx.agreePrivacyAuthorization) { wx.agreePrivacyAuthorization({ success: () => { this.setData({ showPrivacy: false }) } }) } }, // 查看隐私协议详情 openPrivacyContract() { wx.openPrivacyContract() } } }) ``` ```html 用户隐私保护提示 在使用本小程序前,请仔细阅读 《用户隐私保护指引》 ``` ### 3. 在需要的页面调用 ```javascript // pages/index/index.js Page({ onLoad() { // 检查是否需要授权 this.checkPrivacy() }, checkPrivacy() { if (wx.getPrivacySetting) { wx.getPrivacySetting({ success: (res) => { if (res.needAuthorization) { // 需要授权,显示弹窗 this.selectComponent('#privacy-popup').showPrivacyPopup() } } }) } } }) ``` --- ## 五、常见问题 ### Q1: 隐私协议需要审核吗? 配置后需要等待审核(通常1-2小时),审核通过后才会生效。 ### Q2: 用户拒绝后怎么办? 用户拒绝后,相关接口将无法使用。可以引导用户重新打开小程序,会再次弹出隐私协议。 ### Q3: 如何测试隐私协议? 在微信开发者工具中: 1. 详情 → 本地设置 2. 勾选"启用隐私相关接口" 3. 清除授权记录后测试 ### Q4: 提交审核时提示隐私协议不完整? 检查以下几点: 1. 是否填写了所有使用到的隐私接口 2. 每个接口的说明是否清晰 3. 是否填写了联系方式(邮箱或电话至少一个) --- ## 六、Soul派对小程序配置参考 ```python # Soul派对小程序的隐私配置 setting_list = [ {"privacy_key": "UserInfo", "privacy_text": "用于展示您在Soul派对中的头像和昵称"}, {"privacy_key": "PhoneNumber", "privacy_text": "用于登录验证和购买通知"}, {"privacy_key": "Clipboard", "privacy_text": "用于复制分享链接和邀请码"}, ] # 联系方式 contact_email = "zhiqun@qq.com" contact_phone = "15880802661" ``` --- ## 七、参考文档 - [小程序隐私协议开发指南](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/) - [用户隐私保护指引填写说明](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/) - [隐私接口列表](https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/miniprogram-intro.html)