近日,我司弄了一个纯原生的微信小程序,里面刚好就用到了一个微信提供的button的bind:chooseavatar属性可以获取到用户的头像以及微信昵称
<view class="info-item">
<button open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar" class="avatar">
<image class="img" src="{{userinfo.avatar!=''?userinfo.avatar:'/common/images/noavatar.jpg'}}"></image>
<view class="desc">点击设置头像</view>
</button>
</view>
<view class="info-item">
<view class="label">昵称</view>
<view class="content"><input type="nickname" placeholder="昵称" value="{{userinfo.nickname}}" bindblur="setname"/></view>
</view>
今天登录突然就报错了
[渲染层错误] [Component] <button>: chooseAvatar:fail api scope is not declared in the privacy agreement(env: Windows,mp,1.06.2307260; lib: 3.3.3)
解决方案:
1.网上有很多方案是更新隐私协议以及降低基础库来解决的 (我是本地开发这个协议更新是针对于生产环境的(所以不可取),基础库降低到2.2版本左右就可以正常使用,但是不可取如果使用了隐私接口会报错)
2.这个是我最优的解决方案,方案一在我尝试来是没有效果的
"__usePrivacyCheck__": true 这个属性是在uniapp使用的,纯原生开发是不需要加上这个属性的,一但加上就报错了,所有在全局的app.json里面找到这个删掉就可以了