image.png
<input type="nickname">这个比较特殊,不会触发官方隐私授权弹窗。
可以等其他隐私接口/组件(比如<button open-type="chooseAvatar">)同意官方隐私授权弹窗后再去使用这个昵称填写框,或者是参考文档里面的【demo3】自己写一个隐私授权弹窗解决这个问题:https://developers.weixin.qq.com/miniprogram/dev/framework/user-privacy/PrivacyAuthorize.html#%E5%9B%9B%E3%80%81%E5%AE%8C%E6%95%B4%E7%A4%BA%E4%BE%8Bdemo
第三方平台代开发的小程序需要通过接口设置隐私,配置时请求参数中的privacy_ver传2:https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/privacy-management/setPrivacySetting.html ,配置成功后需重新提交代码审核,审核通过且需要重新发布上线后才会在小程序端生效。
<view class="item" style="padding: 0 16rpx" catch:touchstart="handleTouchInput">
<text class="item-label">昵称</text>
<input type="nickname" name="nickname" value="{{nickname}}" class="item-value" placeholder="请输入昵称" bindchange="bindinput" cursor-spacing="10" focus="{{focus}}" placeholder-style="text-align: end;" />
</view>
data: {
focus: false,
}
methods: {
handleTouchInput() {
if (wx.requirePrivacyAuthorize) {
wx.requirePrivacyAuthorize({
success: res => {
console.log('用户同意了隐私协议 或 无需用户同意隐私协议')
// 用户同意隐私协议后给昵称input聚焦
this.setData({
focus: true
})
},
fail: res => {
console.log('用户拒绝了隐私协议')
}
})
} else {
this.setData({
focus: true
})
}
},
}