在微信开发者工具中,调用云端测试云函数,wxacode.getUnlimited可以正常返回,参数和返回值如下:
返回值如下:
我们可以看到是调用成功,并且buffer中的数据是存在的。这个是云端测试云函数,正常。
下面在小程序里面调用云函数,(只贴控制的信息):
返回值如下:
可以看到,调用是成功,但是buffer字段是{},没有数据返回?这个是什么个意思呢?
云函数如下:
奇怪的就是,开发者工具中,云测试云函数,调用是成功的,但是在开发者工具中,还有手机(预览版、开发版)中均调用也是成功的,但是buffer字段是空的。
建议上传云存储,直接返回云文件ID
exports.main = async (event, context) => { let {scene, page} = event; const wxacodeResult = await cloud.openapi.wxacode.getUnlimited({scene, page}) const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/) const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg' let uploadResult = await cloud.uploadFile({ cloudPath: `images/wxacode/${(page+"/"+scene).replace(/[\/?&]/g, "_")}.${fileExtension}`, fileContent: wxacodeResult.buffer, }) return uploadResult.fileID }