minigame-unity-webgl-transform
minigame-unity-webgl-transform copied to clipboard
WXWriteBinFileSync函数返回字符串为空
SDK-Call-JS-Old.jslib中WXWriteBinFileSync函数返回字符串为JavaScript字符串,未通过stringToUTF8 helper转化,导致C#端接收不到返回值
请问能否提供复现demo,联系研发助手minigamedevop08进行排查
@Oooocean Unity端代码大概这样调用,文件写入正常,result返回值为空。
...
var fs = WeChatWASM.WX.GetFileSystemManager();
var result = fs.WriteFileSync(filePath, bytes);
Debug.Assert(result == "ok");
SDK-Call-JS-Old.jslib中函数:
WXWriteBinFileSync:function(filePath, data, dataLength, encoding){
return window.WXWASMSDK.WXWriteBinFileSync(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data,dataLength+data),
_WXPointer_stringify_adaptor(encoding)
)
}
调整下即可
WXWriteBinFileSync:function(filePath, data, dataLength, encoding){
var returnStr = window.WXWASMSDK.WXWriteBinFileSync(
_WXPointer_stringify_adaptor(filePath),
HEAPU8.slice(data, dataLength+data),
_WXPointer_stringify_adaptor(encoding)
);
var bufferSize = lengthBytesUTF8(returnStr) + 1;
var buffer = _malloc(bufferSize);
stringToUTF8(returnStr, buffer, bufferSize);
return buffer;
}
感谢反馈,已修复