From a65b67cbe84abede9ccda88eae380f06b2530656 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Tue, 4 Sep 2018 17:32:23 +0800 Subject: [PATCH] Switch in localForage --- libs/actions.js | 19 +++++++++++++++---- libs/core.js | 2 ++ libs/ui.js | 5 +++-- libs/utils.js | 23 +++++++++++++++++++++++ 4 files changed, 43 insertions(+), 6 deletions(-) diff --git a/libs/actions.js b/libs/actions.js index 8e47e24b..e09bf17a 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -1596,12 +1596,17 @@ actions.prototype.clickSwitchs = function (x,y) { core.ui.drawSwitchs(); break; case 7: - window.open(core.platform.isPC?"editor.html":"editor-mobile.html", "_blank"); + core.platform.useLocalForage=!core.platform.useLocalForage; + core.setLocalStorage('useLocalForage', core.platform.useLocalForage); + core.ui.drawSwitchs(); break; case 8: - window.open(core.firstData.name+".zip", "_blank"); + window.open(core.platform.isPC?"editor.html":"editor-mobile.html", "_blank"); break; case 9: + window.open(core.firstData.name+".zip", "_blank"); + break; + case 10: core.status.event.selection=0; core.ui.drawSettings(); break; @@ -2020,9 +2025,15 @@ actions.prototype.clickStorageRemove = function (x, y) { var selection = y - topIndex; switch (selection) { case 0: - localforage.clear(function () { + if (core.platform.useLocalForage) { + localforage.clear(function () { + core.drawText("\t[操作成功]你的所有存档已被清空。"); + }); + } + else { + localStorage.clear(); core.drawText("\t[操作成功]你的所有存档已被清空。"); - }); + } break; case 1: for (var i=1;i<=5*(main.savePages||30);i++) { diff --git a/libs/core.js b/libs/core.js index 585e3924..fd87ab97 100644 --- a/libs/core.js +++ b/libs/core.js @@ -60,6 +60,7 @@ function core() { 'isQQ': false, // 是否是QQ 'isChrome': false, // 是否是Chrome 'supportCopy': false, // 是否支持复制到剪切板 + 'useLocalForage': true, 'fileInput': null, // FileInput 'fileReader': null, // 是否支持FileReader @@ -230,6 +231,7 @@ core.prototype.init = function (coreData, callback) { core.platform.isSafari = /Safari/i.test(navigator.userAgent) && !/Chrome/i.test(navigator.userAgent); core.platform.isQQ = /QQ/i.test(navigator.userAgent); core.platform.isWeChat = /MicroMessenger/i.test(navigator.userAgent); + core.platform.useLocalForage = core.getLocalStorage('useLocalForage', true); if (window.FileReader) { core.platform.fileReader = new FileReader(); diff --git a/libs/ui.js b/libs/ui.js index ed16691e..b160d9ed 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -793,13 +793,14 @@ ui.prototype.drawSwitchs = function() { core.status.event.id = 'switchs'; var choices = [ - "背景音乐:"+(core.musicStatus.bgmStatus ? "[ON]" : "[OFF]"), - "背景音效:"+(core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), + "背景音乐: "+(core.musicStatus.bgmStatus ? "[ON]" : "[OFF]"), + "背景音效: "+(core.musicStatus.soundStatus ? "[ON]" : "[OFF]"), "战斗动画: "+(core.flags.battleAnimate ? "[ON]" : "[OFF]"), "怪物显伤: "+(core.flags.displayEnemyDamage ? "[ON]" : "[OFF]"), "临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"), "领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), "单击瞬移: "+(core.status.automaticRoute.clickMoveDirectly ? "[ON]" : "[OFF]"), + "新版存档: "+(core.platform.useLocalForage ? "[ON]":"[OFF]"), "查看工程", "下载离线版本", "返回主菜单" diff --git a/libs/utils.js b/libs/utils.js index d230f2ae..fe4be893 100644 --- a/libs/utils.js +++ b/libs/utils.js @@ -125,6 +125,13 @@ utils.prototype.removeLocalStorage = function (key) { } utils.prototype.setLocalForage = function (key, value, successCallback, errorCallback) { + + if (!core.platform.useLocalForage) { + this.setLocalStorage(key, value); + if (core.isset(successCallback)) successCallback(); + return; + } + // Save to localforage var compressed = LZString.compress(JSON.stringify(value)); localforage.setItem(core.firstData.name+"_"+key, compressed, function (err) { @@ -136,6 +143,15 @@ utils.prototype.setLocalForage = function (key, value, successCallback, errorCal } utils.prototype.getLocalForage = function (key, defaultValue, successCallback, errorCallback) { + + if (!core.platform.useLocalForage) { + var value=this.getLocalStorage(key, defaultValue); + if (core.isset(successCallback)) { + successCallback(value); + } + return; + } + localforage.getItem(core.firstData.name+"_"+key, function (err, value) { if (core.isset(err)) { if (core.isset(errorCallback)) errorCallback(err); @@ -162,6 +178,13 @@ utils.prototype.getLocalForage = function (key, defaultValue, successCallback, e } utils.prototype.removeLocalForage = function (key, successCallback, errorCallback) { + + if (!core.platform.useLocalForage) { + this.removeLocalStorage(key); + if (core.isset(successCallback)) successCallback(); + return; + } + localforage.removeItem(core.firstData.name+"_"+key, function (err) { if (core.isset(err)) { if (core.isset(errorCallback)) errorCallback(err);