Made some pre-setup server-side to make avoid loading screens on website load

This commit is contained in:
2016-03-25 18:53:04 +01:00
parent 35f065e19e
commit 512b7e3cd0
8 changed files with 131 additions and 38 deletions
+16 -1
View File
@@ -12,9 +12,10 @@ function existsSync(filename) {
}
}
module.exports = function(set, app, data) {
module.exports = function(set, app, data, scriptMethods) {
var keys = Object.keys(set.generators);
var cache = {};
var fileNames = {};
for(var i = 0; i < keys.length; ++i) {
var fileName = "bg_" + keys[i].split('/').join('_') + ".png";
@@ -44,5 +45,19 @@ module.exports = function(set, app, data) {
}).bind(binding));
console.log('[INFO] bg for "'+keys[i]+'" = "'+fileName+'"');
fileNames[keys[i]] = fileName;
}
scriptMethods.getBackgroundFromCookie = function(cookies) {
var key;
if(Object.prototype.hasOwnProperty.call(cookies, 'last_generator')) {
key = cookies['last_generator'];
} else {
key = scriptMethods.getDefaultDataKey();
}
return 'body { background-image: url(' + fileNames[key] + '); }'
}
}
+23 -1
View File
@@ -1,6 +1,7 @@
module.exports = function(set, app, data) {
module.exports = function(set, app, data, scriptMethods) {
var keys = Object.keys(set.generators);
var cache = {};
var defaultKey = null;
for(var i = 0; i < keys.length; ++i) {
var bindObj = {key: keys[i]}
@@ -22,6 +23,27 @@ module.exports = function(set, app, data) {
if(i === 0) {
app.get('/d/default', func);
defaultKey = keys[i];
}
}
scriptMethods.getDefaultDataKey = function() {
return defaultKey;
}
scriptMethods.getInitDataFromCookie = function(cookies) {
var key;
if(Object.prototype.hasOwnProperty.call(cookies, 'last_generator')) {
key = cookies['last_generator'];
} else {
key = defaultKey;
}
if(!cache.hasOwnProperty(key)) {
data.generators[key].catId = key.split('/')[0];
cache[key] = JSON.stringify(data.generators[key]);
}
return cache[key];
}
}
+8 -2
View File
@@ -1,4 +1,4 @@
module.exports = function(set, app) {
module.exports = function(set, app, data, scriptMethods) {
var setHeader = {
categories: set.categoryNames,
generators: {}
@@ -10,8 +10,14 @@ module.exports = function(set, app) {
setHeader.generators[genKeys[i]] = set.generators[genKeys[i]].name;
}
var setHeaderJson = JSON.stringify(setHeader);
scriptMethods.getGeneratorListJsonData = function() {
return setHeaderJson;
}
app.get('/l/generators', function (req, res) {
res.header("Content-Type", "application/json; charset=utf-8");
res.end(JSON.stringify(setHeader));
res.end(setHeaderJson);
});
}