Хранение модулей в одной переменной

This commit is contained in:
2019-09-25 12:21:46 +03:00
parent d413049b4d
commit 4f4860b0ba

View File

@@ -121,7 +121,7 @@ var murom = муром;
murom.start = муром.старт;
</script>
<script>
var модули = [
муром.модули = [
[
"пуск",
@@ -161,36 +161,42 @@ var модули = [
];
</script>
<script>
// Загрузка переопределений.
localforage.config({ name: "murom" });
var обработанМодуль = new Уведомитель();
for (var номер in модули)
{
const модуль = модули[номер];
const имя = модуль[0];
localforage.getItem(имя, function(ошибка, значение) {
if (значение)
localforage.getItem("модули", function(ошибка, модули) {
if (модули)
{
// Получение локальных модулей.
var карта = {};
for (var номер in модули)
{
модуль[1] = значение;
var модуль = модули[номер];
var имя = модуль[0];
var значение = модуль[1];
карта[имя] = значение;
}
// Переопределение зашитых модулей локальными.
for (var номер in муром.модули)
{
var модуль = модули[номер];
var имя = модуль[0];
if (имя in карта)
{
модуль[1] = карта[имя];
}
}
}
// Загрузка модулей.
for (var номер in муром.модули)
{
var модуль = муром.модули[номер];
var код = base64Decode(модуль[1]);
eval(код);
муромСтарт();
обработанМодуль.уведомить();
});
}
// Пуск.
var обработано = 0;
обработанМодуль.подписать(function(){
if (++обработано == модули.length)
{
console.log("МУРОМ Пуск");
муром.старт.уведомить();
}
// Пуск.
муром.старт.уведомить();
});
//localforage.setItem("пуск", "Y29uc29sZS5sb2coItCf0LXRgNC10L7Qv9GA0LXQtNC10LvRkdC90L3Ri9C5INC30LDQv9GD0YHQuiDQvtGB0YPRidC10YHRgtCy0LvRkdC9Iik7");
</script>
</body>