场景:使用 we-cropper 来裁剪图片。以下 cavas 指旧的 canvas API。
bug1 描述: 在 iOS 上,wx.chooseImage 拍完照后, canvas 有时候绘制图片失败,查看传入 drawImage 的参数没有发现问题。
bug2 描述: 在 iOS 上,wx.chooseImage 拍完照后, 有时候 canvas 绘制成功,但是触摸没反应。
调试:如果在 wx.chooseImage 拍完照后,延时 1 秒再进入裁剪页面,基本上不会重现这两个 bug,延时 200 毫秒,则有时候可以重现。如果 wx.chooseImage 是从相册选取图片,再直接进入裁剪页面,没有出现过上面两个 bug。所以怀疑是 canvas 或者拍照导致的。
复现:可以使用 we-cropper 作者提供的裁剪头像小程序来复现。
可以到we-cropper github 下提交issue。
这个插件事例有缺陷的,好好看代码,avatarUpload.js里面new WeCropper那段挪到onReady,我就是这么改的
测试机型:iOS 8、iOS 14.6、微信版本 8.0.16、weChatLib 2.21.0