wx.createUserInfoButton接口报错
Unhandled promise rejection
Object { "errMsg": "insertImageV...
errMsg: "insertImageView:fail function cannot run on service"
__proto__: Object
__proto__: null
代码:
if (wx.createUserInfoButton) {
console.log("有按钮授权api")
var button = wx.createUserInfoButton({
type: 'image',
text: '用户授权',
image:"http://www.baidu.com/20180720b2e0e07d-2b97-4f5f-a588-7eddee2ce5c4.png",
style: {
left: 0,
bottom: 0,
width: 1280,
height: 720,
},
withCredentials:true
})
} else {
console.log("没有按钮授权api,弹框升级微信")
wx.showModal({
title: '微信版本过低',
content: '您当前微信版本过低,请升级微信版本后重试。',
confirmColor:"#3CC51F",
confirmText:"确定",
showCancel:false,
success: function(res) {
if (res.confirm) {
}
}
})
}
以上代码片段,在此运行环境中,打印出了"有按钮授权api",并且报了以上错误。
然后创建不了按钮,无法进行点击按钮拉起用户授权弹框,所以此用户一直进不了游戏
后来通过升级微信版本,然后就不会报这个错了,成功拉起授权信息框进游戏了
反馈:如果用户手机环境无法正常使用使用此api,应该返回无法使用此api,走else分支,弹出框提示用户升级微信版本后再试
这里应该是旧版本基础库实现 wx.createUserInfoButton 接口的bug,后续版本还会有这问题么?
调试出来后,升级微信版本后,没问题了,
但是这个报错,应该直接处理在wx.createUserInfoButton不可用这里,走以上代码的else分支,否则这样报错,我们无法提醒用户升级微信版本啊,
表现就是,未升级微信版本的某些用户,一直拉不起授权框,进不了游戏。
此次出问题的手机还好是同事的,可以调试出来,对外开放的,肯定也有玩家出现这种问题的,请官大大修复这个bug好么?
给一下升级前和升级后的基础库版本和客户端版本?这里对bug修复通常是在后续patch或后续大版本中进行修复的,先前的版本bug只能兼容的方式来处理。你这里可以使用fail监听到异常或者直接判断基础库/客户端版本来兼容么?
升级前出问题的微信客户端版本6.6.6,机型:iphone7
升级后没问题了的微信客户端版本6.7.1,机型:iphone7
小程序后台基础库最低版本设置为1.9.97
微信开发者工具的项目设置里,调试基础库为2.0.7
至于升级前,升级后的基础库版本,我没打印,所以不知道
我这里的兼容我用其他方式试试,目前这个bug你们再后续版本中修复就好啦,谢谢官大大耐心回复,赞!
我们现在在安卓手机上碰到了,但都是外网用户提上来的,用户在点击登陆之后就没有反应了,然后我们让用户对比了其他的游戏,也会出现同样的问题,微信版本是6.6.7,请问这有什么办法解决吗?
其他游戏也那样,那就更确定是小程序的api问题了,恐怕只能等官方修复了。或者你可以尝试判断微信客户端版本,苹果6.6.6的提示升级,android6.6.7的提示升级,他们只会在新版本中修复,旧版本的问题只能我们自己做兼容了
我也遇到同样的问题,而且在6月份就已经有类似的bug反馈,但是没看到有官方人员回答,wx.createUserInfoButton这个接口在不同的客户端版本下各种错误。目测只有6.7.1能稳定使用,我居然在。最关键是真机和开发工具上的结果还不一样。增加不少调试难度啊
我身边出问题的手机,目前都是iphone上Wechat 6.6.6版本的微信客户端环境,你可以找身边此环境的手机试试