从服务器端获取验证码图片并在小程序中显示出来,手机微信一切正常,但微信 Windows 版出现Bug。
经多次测试,微信 Windows 版运行小程序的开发版和体验版时,可以正常显示验证码。一旦运行正式版,就不再显示验证码图片。
这个问题困扰我许久,跪求解决方案!
源码如下:
//发起请求。该域名已添加合法域名。手机微信使用小程序时完全没有问题。
//调试基础库2.11.0,线上最低基础库2.2.3。微信 Windows 版为3.2.1.154。
var that = this
wx.request({//API文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/network/request/wx.request.html
url: 'https://xx.xxxxxx.com/api/kaptcha',
responseType: 'arraybuffer',
success: res => {
var imgSrc = wx.arrayBufferToBase64(res.data); //API文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/base/wx.arrayBufferToBase64.html
var number = Math.random();
//保存图片到本地。然而,微信 Windows 版打开正式版小程序时,保存到本地的并不是图片文件,而是大小为0KB的空白文件。打开体验版及开发版时均正常
wx.getFileSystemManager().writeFile({//API文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.writeFile.html
filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.jpg',
data: imgSrc,
encoding: 'base64',
success: re => {
//从本地读取图片
wx.getFileSystemManager().readFile({//API文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.readFile.html
filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.jpg',
encoding: 'base64',
success: ress => {
that.setData({
codePath: "data:image/jpg;base64," + ress.data,
})
}
})
}
})
}
})

请提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。