wx <input>: showNicknameAccessory:fail input nickname component will degrade

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传2https://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
        })
      }
    },
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容