- 当前 Bug 的表现(可附上截图)
参照官方文档的代码,授权时先用 wx.canIUse('button.open-type.getUserInfo') 判断API是否当前版本可用,在开发版本都正常返回true,线上版本却返回的false,线上的基础库最低版本设置的是2.3.0
- 提供一个最简复现 Demo
Page({ data: { //判断小程序的API,回调,参数,组件等是否在当前版本可用。 canIUse: wx.canIUse( 'button.open-type.getUserInfo' ) }, }) <view wx: if = "{{canIUse}}" > <view class= 'header' > <image src= '/assets/images/wx_login.png' ></image> </view> <view class= 'content' > <view>申请获取以下权限</view> <text>获得你的公开信息(昵称,头像等)</text> </view> <button class= 'bottom' type= 'primary' open-type= "getUserInfo" lang= "zh_CN" bindgetuserinfo= "bindGetUserInfo" > 授权登录 </button> </view> <view wx: else >请升级微信版本</view> |
问题是线上正式版调用canIUse接口返回false吗?确定线上版本小程序的公共库版本是大于2.3.0的吗?
微信都是最新版的
不是微信的版本 是小程序公共库的版本。开启调试模式的时候弹窗会有相关信息
正式版公共库版本:199, 是这个吗
199对应的2.4.2版本公共库,你这里截图也确实可以正常显示授权按钮啊。所以问题是什么呢?
这是体验版打开调试的,问题就是体验版没问题,线上版本就显示不了授权按钮
是只有线上有这个问题?线上所有机型都返回false吗?有没有报错?
是的,线上都走到else 请升级微信版本,没有任何报错
提供一下代码片段看看(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
https://developers.weixin.qq.com/s/agN0Gzmo7P4C
这个代码片段中并没有用wx.canIUse做判断啊,只是定义了
wx:
if
=
"{{canIUse}}" 页面上做了判断的啊