Use localForage to exceed 5M space limit
This commit is contained in:
parent
2258fc90d0
commit
740b3bffc9
@ -127,6 +127,7 @@
|
|||||||
<script src='libs/thirdparty/mid.min.js'></script>
|
<script src='libs/thirdparty/mid.min.js'></script>
|
||||||
<script src='libs/thirdparty/lz-string.min.js'></script>
|
<script src='libs/thirdparty/lz-string.min.js'></script>
|
||||||
<script src='libs/thirdparty/priority-queue.min.js'></script>
|
<script src='libs/thirdparty/priority-queue.min.js'></script>
|
||||||
|
<script src='libs/thirdparty/localforage.min.js'></script>
|
||||||
<script id='mainScript' src='main.js'></script>
|
<script id='mainScript' src='main.js'></script>
|
||||||
<script>main.init();main.listen();</script>
|
<script>main.init();main.listen();</script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -1427,8 +1427,12 @@ actions.prototype.clickSL = function(x,y) {
|
|||||||
core.drawTip("无法删除自动存档!");
|
core.drawTip("无法删除自动存档!");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.removeLocalStorage("save"+id);
|
// core.removeLocalStorage("save"+id);
|
||||||
core.ui.drawSLPanel(index);
|
core.removeLocalForage("save"+id, function() {
|
||||||
|
core.ui.drawSLPanel(index, true);
|
||||||
|
}, function() {
|
||||||
|
core.drawTip("无法删除存档!");
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1523,8 +1527,13 @@ actions.prototype.keyUpSL = function (keycode) {
|
|||||||
core.drawTip("无法删除自动存档!");
|
core.drawTip("无法删除自动存档!");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.removeLocalStorage("save"+(5*page+offset));
|
// core.removeLocalStorage("save"+(5*page+offset));
|
||||||
core.ui.drawSLPanel(index);
|
// core.ui.drawSLPanel(index);
|
||||||
|
core.removeLocalForage("save"+(5*page+offset), function() {
|
||||||
|
core.ui.drawSLPanel(index, true);
|
||||||
|
}, function() {
|
||||||
|
core.drawTip("无法删除存档!");
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1799,10 +1808,12 @@ actions.prototype.clickSyncSave = function (x,y) {
|
|||||||
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
|
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
|
||||||
for (var i=1;i<=5*(main.savePages||30);i++) {
|
for (var i=1;i<=5*(main.savePages||30);i++) {
|
||||||
if (i<=data.length) {
|
if (i<=data.length) {
|
||||||
core.setLocalStorage("save"+i, data[i-1]);
|
// core.setLocalStorage("save"+i, data[i-1]);
|
||||||
|
core.setLocalForage("save"+i, data[i-1]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.removeLocalStorage("save"+i);
|
// core.removeLocalStorage("save"+i);
|
||||||
|
core.removeLocalForage("save"+i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
core.drawText("读取成功!\n你的本地所有存档均已被覆盖。");
|
core.drawText("读取成功!\n你的本地所有存档均已被覆盖。");
|
||||||
@ -1812,8 +1823,10 @@ actions.prototype.clickSyncSave = function (x,y) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.setLocalStorage("save"+core.status.saveIndex, data);
|
// core.setLocalStorage("save"+core.status.saveIndex, data);
|
||||||
|
core.setLocalForage("save"+core.status.saveIndex, data, function() {
|
||||||
core.drawText("同步成功!\n单存档已覆盖至存档"+core.status.saveIndex);
|
core.drawText("同步成功!\n单存档已覆盖至存档"+core.status.saveIndex);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}, function () {
|
}, function () {
|
||||||
|
|
||||||
@ -1931,6 +1944,7 @@ actions.prototype.clickLocalSaveSelect = function (x,y) {
|
|||||||
|
|
||||||
if (y>=topIndex && y<topIndex+choices.length) {
|
if (y>=topIndex && y<topIndex+choices.length) {
|
||||||
var selection = y - topIndex;
|
var selection = y - topIndex;
|
||||||
|
/*
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
case 0:
|
case 0:
|
||||||
saves=[];
|
saves=[];
|
||||||
@ -1947,7 +1961,9 @@ actions.prototype.clickLocalSaveSelect = function (x,y) {
|
|||||||
case 2:
|
case 2:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
*/
|
||||||
|
if (selection<2) {
|
||||||
|
core.control.getSaves(selection==0?null:core.status.saveIndex, function(saves) {
|
||||||
if (core.isset(saves)) {
|
if (core.isset(saves)) {
|
||||||
var content = {
|
var content = {
|
||||||
"name": core.firstData.name,
|
"name": core.firstData.name,
|
||||||
@ -1956,6 +1972,10 @@ actions.prototype.clickLocalSaveSelect = function (x,y) {
|
|||||||
}
|
}
|
||||||
core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5save", JSON.stringify(content));
|
core.download(core.firstData.name+"_"+core.formatDate2(new Date())+".h5save", JSON.stringify(content));
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
core.status.event.selection=2;
|
core.status.event.selection=2;
|
||||||
core.ui.drawSyncSave();
|
core.ui.drawSyncSave();
|
||||||
}
|
}
|
||||||
@ -1997,15 +2017,18 @@ actions.prototype.clickStorageRemove = function (x, y) {
|
|||||||
var selection = y - topIndex;
|
var selection = y - topIndex;
|
||||||
switch (selection) {
|
switch (selection) {
|
||||||
case 0:
|
case 0:
|
||||||
localStorage.clear();
|
localforage.clear(function () {
|
||||||
core.drawText("\t[操作成功]你的所有存档已被清空。");
|
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++) {
|
||||||
core.removeLocalStorage("save"+i);
|
// core.removeLocalStorage("save"+i);
|
||||||
|
core.removeLocalForage("save"+i);
|
||||||
}
|
}
|
||||||
|
core.removeLocalForage("autoSave", function() {
|
||||||
core.drawText("\t[操作成功]当前塔的存档已被清空。");
|
core.drawText("\t[操作成功]当前塔的存档已被清空。");
|
||||||
core.removeLocalStorage("autoSave");
|
});
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
core.status.event.selection=5;
|
core.status.event.selection=5;
|
||||||
|
|||||||
@ -2180,7 +2180,7 @@ control.prototype.autosave = function (removeLast) {
|
|||||||
var x=null;
|
var x=null;
|
||||||
if (removeLast)
|
if (removeLast)
|
||||||
x=core.status.route.pop();
|
x=core.status.route.pop();
|
||||||
core.setLocalStorage("autoSave", core.saveData())
|
core.setLocalForage("autoSave", core.saveData())
|
||||||
if (removeLast && core.isset(x))
|
if (removeLast && core.isset(x))
|
||||||
core.status.route.push(x);
|
core.status.route.push(x);
|
||||||
}
|
}
|
||||||
@ -2192,6 +2192,18 @@ control.prototype.doSL = function (id, type) {
|
|||||||
core.drawTip('不能覆盖自动存档!');
|
core.drawTip('不能覆盖自动存档!');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
core.setLocalForage("save"+id, core.saveData(), function() {
|
||||||
|
core.ui.closePanel();
|
||||||
|
core.drawTip('存档成功!');
|
||||||
|
if (id!="autoSave") {
|
||||||
|
core.status.saveIndex=id;
|
||||||
|
core.setLocalStorage('saveIndex2', core.status.saveIndex);
|
||||||
|
}
|
||||||
|
}, function(err) {
|
||||||
|
console.info(err);
|
||||||
|
core.drawTip("存档失败,请将控制台的报错信息反馈给管理员。");
|
||||||
|
})
|
||||||
|
/*
|
||||||
if (core.setLocalStorage("save"+id, core.saveData())) {
|
if (core.setLocalStorage("save"+id, core.saveData())) {
|
||||||
core.ui.closePanel();
|
core.ui.closePanel();
|
||||||
core.drawTip('存档成功!');
|
core.drawTip('存档成功!');
|
||||||
@ -2203,10 +2215,13 @@ control.prototype.doSL = function (id, type) {
|
|||||||
else {
|
else {
|
||||||
core.drawTip('存储空间不足,请覆盖已有的存档或在菜单栏中进行清理');
|
core.drawTip('存储空间不足,请覆盖已有的存档或在菜单栏中进行清理');
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (type=='load') {
|
else if (type=='load') {
|
||||||
var data = core.getLocalStorage(id=='autoSave'?id:"save"+id, null);
|
// var data = core.getLocalStorage(id=='autoSave'?id:"save"+id, null);
|
||||||
|
|
||||||
|
core.getLocalForage(id=='autoSave'?id:"save"+id, function(data) {
|
||||||
if (!core.isset(data)) {
|
if (!core.isset(data)) {
|
||||||
core.drawTip("无效的存档");
|
core.drawTip("无效的存档");
|
||||||
return;
|
return;
|
||||||
@ -2234,10 +2249,15 @@ control.prototype.doSL = function (id, type) {
|
|||||||
core.setLocalStorage('saveIndex2', core.status.saveIndex);
|
core.setLocalStorage('saveIndex2', core.status.saveIndex);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}, function(err) {
|
||||||
|
core.drawTip("无效的存档");
|
||||||
|
})
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (type == 'replayLoad') {
|
else if (type == 'replayLoad') {
|
||||||
var data = core.getLocalStorage(id=='autoSave'?id:"save"+id, null);
|
// var data = core.getLocalStorage(id=='autoSave'?id:"save"+id, null);
|
||||||
|
core.getLocalForage(id=='autoSave'?id:"save"+id, function(data) {
|
||||||
if (!core.isset(data)) {
|
if (!core.isset(data)) {
|
||||||
core.drawTip("无效的存档");
|
core.drawTip("无效的存档");
|
||||||
return;
|
return;
|
||||||
@ -2259,30 +2279,21 @@ control.prototype.doSL = function (id, type) {
|
|||||||
core.startReplay(route);
|
core.startReplay(route);
|
||||||
core.drawTip("回退到存档节点");
|
core.drawTip("回退到存档节点");
|
||||||
});
|
});
|
||||||
|
}, function(err) {
|
||||||
|
console.info(err);
|
||||||
|
core.drawTip("无效的存档");
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 同步存档到服务器 //////
|
////// 同步存档到服务器 //////
|
||||||
control.prototype.syncSave = function (type) {
|
control.prototype.syncSave = function (type) {
|
||||||
var saves=null;
|
core.ui.drawWaiting("正在同步,请稍后...");
|
||||||
// data
|
core.control.getSaves(type=='all'?null:core.status.saveIndex, function (saves) {
|
||||||
if (type=='all') {
|
|
||||||
saves=[];
|
|
||||||
for (var i=1;i<=5*(main.savePages||30);i++) {
|
|
||||||
var data = core.getLocalStorage("save"+i, null);
|
|
||||||
if (core.isset(data)) {
|
|
||||||
saves.push(data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
saves=core.getLocalStorage("save"+core.status.saveIndex, null);
|
|
||||||
}
|
|
||||||
if (!core.isset(saves)) {
|
if (!core.isset(saves)) {
|
||||||
core.drawText("没有要同步的存档");
|
core.drawText("没有要同步的存档");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
core.ui.drawWaiting("正在同步,请稍后...");
|
|
||||||
|
|
||||||
var formData = new FormData();
|
var formData = new FormData();
|
||||||
formData.append('type', 'save');
|
formData.append('type', 'save');
|
||||||
@ -2303,6 +2314,7 @@ control.prototype.syncSave = function (type) {
|
|||||||
}, function (e) {
|
}, function (e) {
|
||||||
core.drawText("出错啦!\n无法同步存档到服务器。\n错误原因:"+e);
|
core.drawText("出错啦!\n无法同步存档到服务器。\n错误原因:"+e);
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 从服务器加载存档 //////
|
////// 从服务器加载存档 //////
|
||||||
@ -2338,10 +2350,12 @@ control.prototype.syncLoad = function () {
|
|||||||
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
|
core.ui.drawConfirmBox("所有本地存档都将被覆盖,确认?", function () {
|
||||||
for (var i=1;i<=5*(main.savePages||30);i++) {
|
for (var i=1;i<=5*(main.savePages||30);i++) {
|
||||||
if (i<=data.length) {
|
if (i<=data.length) {
|
||||||
core.setLocalStorage("save"+i, data[i-1]);
|
// core.setLocalStorage("save"+i, data[i-1]);
|
||||||
|
core.setLocalForage("save"+i, data[i-1]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.removeLocalStorage("save"+i);
|
// core.removeLocalStorage("save"+i);
|
||||||
|
core.removeLocalForage("save"+i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
core.drawText("同步成功!\n你的本地所有存档均已被覆盖。");
|
core.drawText("同步成功!\n你的本地所有存档均已被覆盖。");
|
||||||
@ -2352,8 +2366,10 @@ control.prototype.syncLoad = function () {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// 只覆盖单存档
|
// 只覆盖单存档
|
||||||
core.setLocalStorage("save"+core.status.saveIndex, data);
|
// core.setLocalStorage("save"+core.status.saveIndex, data);
|
||||||
|
core.setLocalForage("save"+core.status.saveIndex, data, function() {
|
||||||
core.drawText("同步成功!\n单存档已覆盖至存档"+core.status.saveIndex);
|
core.drawText("同步成功!\n单存档已覆盖至存档"+core.status.saveIndex);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1:
|
||||||
@ -2424,6 +2440,34 @@ control.prototype.loadData = function (data, callback) {
|
|||||||
}, true);
|
}, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
control.prototype.getSaves = function (index, callback) {
|
||||||
|
if (core.isset(index)) {
|
||||||
|
core.getLocalForage("save"+index, function(data) {
|
||||||
|
if (core.isset(callback)) callback(data);
|
||||||
|
}, function(err) {
|
||||||
|
if (core.isset(callback))
|
||||||
|
callback(null);
|
||||||
|
})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var number = 5*(main.savePages||30);
|
||||||
|
var saves = [];
|
||||||
|
var load = function (index, callback) {
|
||||||
|
if (index > number) {
|
||||||
|
if (core.isset(callback)) callback(saves);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
core.getLocalForage("save"+index, function (data) {
|
||||||
|
saves.push(data);
|
||||||
|
load(index+1, callback);
|
||||||
|
}, function(err) {
|
||||||
|
// saves.push(null);
|
||||||
|
load(index+1, callback);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
load(1, callback);
|
||||||
|
}
|
||||||
|
|
||||||
////// 设置勇士属性 //////
|
////// 设置勇士属性 //////
|
||||||
control.prototype.setStatus = function (statusName, statusVal) {
|
control.prototype.setStatus = function (statusName, statusVal) {
|
||||||
if (statusName == 'exp') statusName = 'experience';
|
if (statusName == 'exp') statusName = 'experience';
|
||||||
|
|||||||
12
libs/core.js
12
libs/core.js
@ -897,6 +897,18 @@ core.prototype.removeLocalStorage = function (key) {
|
|||||||
core.utils.removeLocalStorage(key);
|
core.utils.removeLocalStorage(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
core.prototype.setLocalForage = function (key, value, successCallback, errorCallback) {
|
||||||
|
core.utils.setLocalForage(key, value, successCallback, errorCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
core.prototype.getLocalForage = function (key, successCallback, errorCallback) {
|
||||||
|
core.utils.getLocalForage(key, successCallback, errorCallback);
|
||||||
|
}
|
||||||
|
|
||||||
|
core.prototype.removeLocalForage = function (key, successCallback, errorCallback) {
|
||||||
|
core.utils.removeLocalForage(key, successCallback, errorCallback);
|
||||||
|
}
|
||||||
|
|
||||||
////// 深拷贝一个对象 //////
|
////// 深拷贝一个对象 //////
|
||||||
core.prototype.clone = function (data) {
|
core.prototype.clone = function (data) {
|
||||||
return core.utils.clone(data);
|
return core.utils.clone(data);
|
||||||
|
|||||||
7
libs/thirdparty/localforage.min.js
vendored
Normal file
7
libs/thirdparty/localforage.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
39
libs/ui.js
39
libs/ui.js
@ -1721,7 +1721,7 @@ ui.prototype.drawToolbox = function(index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
////// 绘制存档/读档界面 //////
|
////// 绘制存档/读档界面 //////
|
||||||
ui.prototype.drawSLPanel = function(index) {
|
ui.prototype.drawSLPanel = function(index, refresh) {
|
||||||
if (!core.isset(index)) index=1;
|
if (!core.isset(index)) index=1;
|
||||||
if (index<0) index=0;
|
if (index<0) index=0;
|
||||||
|
|
||||||
@ -1731,7 +1731,14 @@ ui.prototype.drawSLPanel = function(index) {
|
|||||||
if (offset>5) offset=5;
|
if (offset>5) offset=5;
|
||||||
index=10*page+offset;
|
index=10*page+offset;
|
||||||
|
|
||||||
|
var last_page = -1;
|
||||||
|
if (core.isset(core.status.event.data)) {
|
||||||
|
last_page = parseInt(core.status.event.data/10);
|
||||||
|
}
|
||||||
|
|
||||||
core.status.event.data=index;
|
core.status.event.data=index;
|
||||||
|
if (!core.isset(core.status.event.ui))
|
||||||
|
core.status.event.ui = [];
|
||||||
|
|
||||||
core.clearMap('ui');
|
core.clearMap('ui');
|
||||||
core.setAlpha('ui', 0.85);
|
core.setAlpha('ui', 0.85);
|
||||||
@ -1745,14 +1752,15 @@ ui.prototype.drawSLPanel = function(index) {
|
|||||||
if (core.status.event.selection) strokeColor = '#FF6A6A';
|
if (core.status.event.selection) strokeColor = '#FF6A6A';
|
||||||
|
|
||||||
var name=core.status.event.id=='save'?"存档":core.status.event.id=='load'?"读档":core.status.event.id=='replayLoad'?"回放":"";
|
var name=core.status.event.id=='save'?"存档":core.status.event.id=='load'?"读档":core.status.event.id=='replayLoad'?"回放":"";
|
||||||
for (var i=0;i<6;i++) {
|
|
||||||
|
var draw = function (data, i) {
|
||||||
|
core.status.event.ui[i] = data;
|
||||||
var id=5*page+i;
|
var id=5*page+i;
|
||||||
var data=core.getLocalStorage(i==0?"autoSave":"save"+id, null);
|
|
||||||
if (i<3) {
|
if (i<3) {
|
||||||
core.fillText('ui', i==0?"自动存档":name+id, (2*i+1)*u, 35, '#FFFFFF', "bold 17px Verdana");
|
core.fillText('ui', i==0?"自动存档":name+id, (2*i+1)*u, 35, '#FFFFFF', "bold 17px Verdana");
|
||||||
core.strokeRect('ui', (2*i+1)*u-size/2, 50, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
|
core.strokeRect('ui', (2*i+1)*u-size/2, 50, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
|
||||||
if (core.isset(data) && core.isset(data.floorId)) {
|
if (core.isset(data) && core.isset(data.floorId)) {
|
||||||
this.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i+1)*u-size/2, 50, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
|
core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i+1)*u-size/2, 50, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
|
||||||
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i+1)*u, 65+size, '#FFFFFF', '10px Verdana');
|
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i+1)*u, 65+size, '#FFFFFF', '10px Verdana');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1764,7 +1772,7 @@ ui.prototype.drawSLPanel = function(index) {
|
|||||||
core.fillText('ui', name+id, (2*i-5)*u, 230, '#FFFFFF', "bold 17px Verdana");
|
core.fillText('ui', name+id, (2*i-5)*u, 230, '#FFFFFF', "bold 17px Verdana");
|
||||||
core.strokeRect('ui', (2*i-5)*u-size/2, 245, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
|
core.strokeRect('ui', (2*i-5)*u-size/2, 245, size, size, i==offset?strokeColor:'#FFFFFF', i==offset?6:2);
|
||||||
if (core.isset(data) && core.isset(data.floorId)) {
|
if (core.isset(data) && core.isset(data.floorId)) {
|
||||||
this.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i-5)*u-size/2, 245, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
|
core.ui.drawThumbnail(data.floorId, 'ui', core.maps.load(data.maps, data.floorId).blocks, (2*i-5)*u-size/2, 245, size, data.hero.loc.x, data.hero.loc.y, data.hero.loc, data.hero.flags.heroIcon||"hero.png");
|
||||||
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i-5)*u, 260+size, '#FFFFFF', '10px Verdana');
|
core.fillText('ui', core.formatDate(new Date(data.time)), (2*i-5)*u, 260+size, '#FFFFFF', '10px Verdana');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -1772,7 +1780,28 @@ ui.prototype.drawSLPanel = function(index) {
|
|||||||
core.fillText('ui', '空', (2*i-5)*u, 245+70, '#FFFFFF', 'bold 30px Verdana');
|
core.fillText('ui', '空', (2*i-5)*u, 245+70, '#FFFFFF', 'bold 30px Verdana');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var drawSave = function (i) {
|
||||||
|
|
||||||
|
core.getLocalForage(i==0?"autoSave":"save"+(5*page+i), function(data) {
|
||||||
|
draw(data, i);
|
||||||
|
}, function(err) {
|
||||||
|
draw(null, i);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (page == last_page && !refresh) {
|
||||||
|
for (var i=0;i<6;i++) {
|
||||||
|
draw(core.status.event.ui[i]||null, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
for (var i=0;i<6;i++) {
|
||||||
|
drawSave(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this.drawPagination(page+1, max_page);
|
this.drawPagination(page+1, max_page);
|
||||||
|
|
||||||
if (core.status.event.selection)
|
if (core.status.event.selection)
|
||||||
|
|||||||
@ -124,6 +124,51 @@ utils.prototype.removeLocalStorage = function (key) {
|
|||||||
localStorage.removeItem(core.firstData.name+"_"+key);
|
localStorage.removeItem(core.firstData.name+"_"+key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
utils.prototype.setLocalForage = function (key, value, successCallback, errorCallback) {
|
||||||
|
// Save to localforage
|
||||||
|
var compressed = LZString.compress(JSON.stringify(value));
|
||||||
|
localforage.setItem(core.firstData.name+"_"+key, compressed, function (err) {
|
||||||
|
if (core.isset(err)) {
|
||||||
|
if (core.isset(errorCallback)) errorCallback(err);
|
||||||
|
}
|
||||||
|
else if (core.isset(successCallback)) successCallback();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
utils.prototype.getLocalForage = function (key, successCallback, errorCallback) {
|
||||||
|
localforage.getItem(core.firstData.name+"_"+key, function (err, value) {
|
||||||
|
if (core.isset(err)) {
|
||||||
|
if (core.isset(errorCallback)) errorCallback(err);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (core.isset(value)) {
|
||||||
|
var output = LZString.decompress(value);
|
||||||
|
if (core.isset(output) && output.length>0) {
|
||||||
|
try {
|
||||||
|
if (core.isset(successCallback))
|
||||||
|
successCallback(JSON.parse(output));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
catch (ee) {console.log(ee);}
|
||||||
|
}
|
||||||
|
if (core.isset(successCallback))
|
||||||
|
successCallback(JSON.parse(value));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (core.isset(errorCallback)) errorCallback("Value is null");
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
utils.prototype.removeLocalForage = function (key, successCallback, errorCallback) {
|
||||||
|
localforage.removeItem(core.firstData.name+"_"+key, function (err) {
|
||||||
|
if (core.isset(err)) {
|
||||||
|
if (core.isset(errorCallback)) errorCallback(err);
|
||||||
|
}
|
||||||
|
else if (core.isset(successCallback)) successCallback();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
////// 深拷贝一个对象 //////
|
////// 深拷贝一个对象 //////
|
||||||
utils.prototype.clone = function (data) {
|
utils.prototype.clone = function (data) {
|
||||||
if (!core.isset(data)) return data;
|
if (!core.isset(data)) return data;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user