// 准备更新数据
if (state.isPracticeMode) {
// 这里由于元数据较大,所以通过 LZString.compressToUTF16() 进行了压缩
updateData["questions"] = compressData(questions) as any;
updateData["options_arr"] = compressData(options_arr) as any;
// Debug: print size of update data
const totalSize = (JSON.stringify(updateData).length / 1024).toFixed(2);
// 打印出压缩结果为 100 KB
console.log(`Data size - questions: , total: ${totalSize}KB`);
}
// 数据压缩代码
export const compressData = (data: any): string => {
return LZString.compressToUTF16(JSON.stringify(data));
};
//数据更新代码
db.collection("records")
.add({
data: {
createTime: db.serverDate(),
...updateData,
},
})
得到错误如下,这里也显示了报错在 wecloud.js 文件,并且 data 大小为 100kb,我查阅到的资料提示数据大小限制是 1m,看起来并没有超过。并且这个问题在 iOS 设备中频繁出现,Android 几乎没有,有任何想法请与我分享,感谢。
