From 974122a20213485ddc1ff54e3966ebc424912379 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 14 Aug 2020 11:19:14 +0800 Subject: [PATCH] Fix lzw_encode for long save data --- libs/utils.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/utils.js b/libs/utils.js index 83a1b8ee..60981d8c 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -234,9 +234,10 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal } // Save to localforage - var compressed = lzw_encode(JSON.stringify(value).replace(/[\u007F-\uFFFF]/g, function (chr) { + var str = JSON.stringify(value).replace(/[\u007F-\uFFFF]/g, function (chr) { return "\\u" + ("0000" + chr.charCodeAt(0).toString(16)).substr(-4) - })); + }); + var compressed = str.length > 100000 ? LZString.compress(str) : lzw_encode(str); localforage.setItem(core.firstData.name + "_" + key, compressed, function (err) { if (err) { if (errorCallback) errorCallback(err);