Switch in localForage

This commit is contained in:
ckcz123 2018-09-04 17:32:23 +08:00
parent 5464195a71
commit a65b67cbe8
4 changed files with 43 additions and 6 deletions

View File

@ -1596,12 +1596,17 @@ actions.prototype.clickSwitchs = function (x,y) {
core.ui.drawSwitchs(); core.ui.drawSwitchs();
break; break;
case 7: 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; break;
case 8: case 8:
window.open(core.firstData.name+".zip", "_blank"); window.open(core.platform.isPC?"editor.html":"editor-mobile.html", "_blank");
break; break;
case 9: case 9:
window.open(core.firstData.name+".zip", "_blank");
break;
case 10:
core.status.event.selection=0; core.status.event.selection=0;
core.ui.drawSettings(); core.ui.drawSettings();
break; break;
@ -2020,9 +2025,15 @@ actions.prototype.clickStorageRemove = function (x, y) {
var selection = y - topIndex; var selection = y - topIndex;
switch (selection) { switch (selection) {
case 0: case 0:
if (core.platform.useLocalForage) {
localforage.clear(function () { localforage.clear(function () {
core.drawText("\t[操作成功]你的所有存档已被清空。"); core.drawText("\t[操作成功]你的所有存档已被清空。");
}); });
}
else {
localStorage.clear();
core.drawText("\t[操作成功]你的所有存档已被清空。");
}
break; break;
case 1: case 1:
for (var i=1;i<=5*(main.savePages||30);i++) { for (var i=1;i<=5*(main.savePages||30);i++) {

View File

@ -60,6 +60,7 @@ function core() {
'isQQ': false, // 是否是QQ 'isQQ': false, // 是否是QQ
'isChrome': false, // 是否是Chrome 'isChrome': false, // 是否是Chrome
'supportCopy': false, // 是否支持复制到剪切板 'supportCopy': false, // 是否支持复制到剪切板
'useLocalForage': true,
'fileInput': null, // FileInput 'fileInput': null, // FileInput
'fileReader': null, // 是否支持FileReader '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.isSafari = /Safari/i.test(navigator.userAgent) && !/Chrome/i.test(navigator.userAgent);
core.platform.isQQ = /QQ/i.test(navigator.userAgent); core.platform.isQQ = /QQ/i.test(navigator.userAgent);
core.platform.isWeChat = /MicroMessenger/i.test(navigator.userAgent); core.platform.isWeChat = /MicroMessenger/i.test(navigator.userAgent);
core.platform.useLocalForage = core.getLocalStorage('useLocalForage', true);
if (window.FileReader) { if (window.FileReader) {
core.platform.fileReader = new FileReader(); core.platform.fileReader = new FileReader();

View File

@ -800,6 +800,7 @@ ui.prototype.drawSwitchs = function() {
"临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"), "临界显伤: "+(core.flags.displayCritical ? "[ON]" : "[OFF]"),
"领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"), "领域显伤: "+(core.flags.displayExtraDamage ? "[ON]" : "[OFF]"),
"单击瞬移: "+(core.status.automaticRoute.clickMoveDirectly ? "[ON]" : "[OFF]"), "单击瞬移: "+(core.status.automaticRoute.clickMoveDirectly ? "[ON]" : "[OFF]"),
"新版存档: "+(core.platform.useLocalForage ? "[ON]":"[OFF]"),
"查看工程", "查看工程",
"下载离线版本", "下载离线版本",
"返回主菜单" "返回主菜单"

View File

@ -125,6 +125,13 @@ utils.prototype.removeLocalStorage = function (key) {
} }
utils.prototype.setLocalForage = function (key, value, successCallback, errorCallback) { 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 // Save to localforage
var compressed = LZString.compress(JSON.stringify(value)); var compressed = LZString.compress(JSON.stringify(value));
localforage.setItem(core.firstData.name+"_"+key, compressed, function (err) { 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) { 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) { localforage.getItem(core.firstData.name+"_"+key, function (err, value) {
if (core.isset(err)) { if (core.isset(err)) {
if (core.isset(errorCallback)) errorCallback(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) { 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) { localforage.removeItem(core.firstData.name+"_"+key, function (err) {
if (core.isset(err)) { if (core.isset(err)) {
if (core.isset(errorCallback)) errorCallback(err); if (core.isset(errorCallback)) errorCallback(err);