ソースを参照

Изменения от Главреда ГитЖС | Changes of GitJS Glavred

master
Главред | Glavred 3年前
コミット
c28cf1270a
9個のファイルの変更203行の追加226行の削除
  1. +3
    -3
      0000
  2. +130
    -0
      🏁.js
  3. +11
    -0
      🏁.череда
  4. +27
    -0
      📦
  5. +0
    -115
      🔄.js
  6. +0
    -12
      🔄.череда
  7. +10
    -96
      🗄️.js
  8. +14
    -0
      🙈.css
  9. +8
    -0
      🙈.html

+ 3
- 3
0000 ファイルの表示

@@ -1,7 +1,7 @@
Архивировать МАОН
0.1.0
0.2.0
https://git.opengamestudio.org/kornerr/APXuBuPOBATb-MAOH

x /🔄.js
/🔄.череда
/🏁.js
/🏁.череда
x /🗄️.js

+ 130
- 0
🏁.js ファイルの表示

@@ -0,0 +1,130 @@



// // // //


ВыдатьАрхивНаСкачивание = мир =>
{
// How to create a file in memory for user to download, but not through server?
// https://stackoverflow.com/a/18197341
var ссыль = document.createElement("a");
ссыль.setAttribute("href", "data:text/html;charset=utf-8;base64," + мир.содержимоеАрхива);
var имя = "MAOH.zip";
ссыль.setAttribute("download", имя);
ссыль.style.display = "none";
document.body.appendChild(ссыль);
ссыль.click();
document.body.removeChild(ссыль);
};


// // // //


СгенерироватьАрхив = мир =>
{
мир.архив.generateAsync({type: "base64"}).then(function(content) {
мир.содержимоеАрхива = content;
console.debug("мир.содержимоеАрхива", мир.содержимоеАрхива);
мир.уведомить("сгенерировали архив");
});
};


// // // //


СоздатьАрхивИзЗагруженныхМодулей = мир =>
{
var архив = new JSZip();
for (var н in мир.указателиМодулей)
{
var ук = мир.указателиМодулей[н];
//var ук64 = мир.база64ИзДвоичногоМассива(new Uint8Array(содержимое));

var директория = архив.folder(ук);
директория.file("hello", "yohello");
}
мир.архив = архив;
};


// // // //


ЗагрузитьМодули = мир =>
{
мир.модули.использовали.подписатьРаз(function() {
мир.уведомить("загрузили модули");
});
мир.модули.использовать(мир.указателиМодулей);
};


// // // //


ВывестиУказателиМодулей = мир =>
{
console.debug("указатели модулей:", мир.указателиМодулей);
};


// // // //


РазобратьСписокМодулей = мир =>
{
var указатели = [];
var строки = мир.списокМодулей.split(/\n/);
for (var номер in строки)
{
var строка = строки[номер].trim();
if (!строка.startsWith("#") && строка.length)
{
указатели.push(строка);
}
}
мир.указателиМодулей = указатели;
};


// // // //


ЗадатьСписокМодулей = мир =>
{
мир.списокМодулей = `
https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000
https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000
https://git.opengamestudio.org/mahjong/mahjong-raskladka-layout/raw/branch/master/0000
https://git.opengamestudio.org/mahjong/povtorniy-repeating-ui/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/MEXMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CEHMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/MOPMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PEEMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/OTMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/TEMA_M1K/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000

# Убрать после отладки
https://git.opengamestudio.org/MAOH/TEMA_OT/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_OT/raw/branch/master/0000
`;
};


// // // //


СкрытьКрутилку = мир =>
{
document.getElementById("крутилка").style.display = "none";
};

+ 11
- 0
🏁.череда ファイルの表示

@@ -0,0 +1,11 @@
надо окончить загрузку приложения
скрыть крутилку
задать список модулей
разобрать список модулей
вывести указатели модулей
загрузить модули
загрузили модули
создать архив из загруженных модулей
сгенерировать архив
сгенерировали архив
выдать архив на скачивание

+ 27
- 0
📦 ファイルの表示

@@ -0,0 +1,27 @@


# Список указателей на модули для загрузки во время пуска
# 启动时要加载的模块指针列表
# List of module pointers to load at startup

https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000
https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000
https://git.opengamestudio.org/mahjong/mahjong-raskladka-layout/raw/branch/master/0000
https://git.opengamestudio.org/mahjong/povtorniy-repeating-ui/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/MEXMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CEHMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/MOPMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PEEMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/OTMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/TEMA_M1K/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000

# Убрать после отладки
https://git.opengamestudio.org/MAOH/TEMA_OT/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_OT/raw/branch/master/0000


+ 0
- 115
🔄.js ファイルの表示

@@ -1,115 +0,0 @@
ПерезагрузитьПриложениеПослеОбновления = мир =>
{
window.location.reload(false);
};


// // // //


УдалитьМодулиПриложенияПередОбновлением = мир =>
{
var список = мир.списокМодулейПриложенияДляОбновления;
for (var номер in список)
{
var указатель = список[номер];
localStorage.removeItem(указатель);
}
};


// // // //


ПроверитьНаличиеМодулейПриложенияДляОбновления = мир =>
{
if (мир.списокМодулейПриложенияДляОбновления.length)
{
мир.уведомить("присутствуют модули приложения для обновления");
}
else
{
мир.уведомить("отсутствуют модули приложения для обновления");
}
}


// // // //


СоставитьСписокМодулейПриложенияДляОбновления = мир =>
{
var список = [];
var описания = мир.описанияМодулейПриложения;
for (var указатель in описания)
{
var описание = описания[указатель];
var модуль = мир.модули.модульПоУказателю(указатель);
if (
модуль &&
модуль.версия != описание.версия
) {
список.push(указатель);
}
}
мир.списокМодулейПриложенияДляОбновления = список;
};


// // // //


УведомитьОбОтсутствииОбновленийПриложения = мир =>
{
мир.уведомить("обновления приложения отсутствуют");
};


// // // //


ЗагрузитьОписаниеВсехМодулейПриложения = мир =>
{
var указатели = [УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ];
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
var содержимое = м.содержимое["/📦"];
var строки = содержимое.split(/\n/);
for (var номер in строки)
{
var строка = строки[номер];
if (!строка.startsWith("#") && строка.length)
{
указатели.push(строка);
}
}
мир.описанияМодулейПриложения = [];
function загрузитьОписание(мир, список, номер, успех, провал)
{
const указатель = список[номер];
мир.взять(
указатель,
function(содержимое) {
var описание = мир.разобрать0000(содержимое);
мир.описанияМодулейПриложения[указатель] = описание;
успех();
},
function(ошибка) {
провал();
}
);
}
сделатьПараллельно(
мир,
указатели,
загрузитьОписание,
function() {
мир.уведомить("загрузили описание всех модулей приложения");
},
function() {
мир.уведомить("не загрузили описание всех модулей приложения");
}
);
};

+ 0
- 12
🔄.череда ファイルの表示

@@ -1,12 +0,0 @@
надо обновить приложение при наличии обновлений
загрузить описание всех модулей приложения
не загрузили описание всех модулей приложения
уведомить об отсутствии обновлений приложения
загрузили описание всех модулей приложения
составить список модулей приложения для обновления
проверить наличие модулей приложения для обновления
отсутствуют модули приложения для обновления
уведомить об отсутствии обновлений приложения
присутствуют модули приложения для обновления
удалить модули приложения перед обновлением
перезагрузить приложение после обновления

+ 10
- 96
🗄️.js ファイルの表示

@@ -1,4 +1,5 @@
var модуль = gitjs.мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
document.title = "🀄 Архивировать МАОН";


// MARK: /📦
@@ -6,117 +7,29 @@ var модуль = gitjs.мир.модули.модульПоУказателю(

модуль.содержимое["/📦"] = `

# Список указателей на модули для загрузки во время пуска
# 启动时要加载的模块指针列表
# List of module pointers to load at startup

https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000
https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000
https://git.opengamestudio.org/mahjong/mahjong-raskladka-layout/raw/branch/master/0000
https://git.opengamestudio.org/mahjong/povtorniy-repeating-ui/raw/branch/master/0000
https://git.opengamestudio.org/BCE/jszip/raw/branch/master/0000
# Из Рисователя берём Base64JS, да, косо-криво, лучше поменять.
https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000
https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/MEXMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CEHMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/MOPMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PEEMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/OTMA/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000

https://git.opengamestudio.org/MAOH/TEMA_M1K/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000

# Убрать после отладки
https://git.opengamestudio.org/MAOH/TEMA_OT/raw/branch/master/0000
https://git.opengamestudio.org/MAOH/PACK_OT/raw/branch/master/0000

`;


// MARK: /🙈.html


модуль.содержимое["/🙈.html"] = `

<center>
<p>Маджонг ⚬ 麻将 ⚬ Mahjong</p>
<h1>🀄 МАОН</h1>
<p>${версия}</p>
</center>

`;


// MARK: /🙈.css


модуль.содержимое["/🙈.css"] = `

.фон-экрана
{
background-color: white;
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
}

`;


// MARK: /🎬.js
// MARK: /📦.js


ЗадатьЗаголовок = мир =>
ОкончитьЗагрузкуПриложения = мир =>
{
document.title = "🀄 МАОН";
мир.уведомить("надо окончить загрузку приложения");
};


// // // //


ОтобразитьСтраницуЗагрузки = мир =>
ЗагрузитьОкончание = мир =>
{
var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
var вид = document.createElement("style");
document.head.appendChild(вид);
вид.innerHTML = м.содержимое["/🙈.css"];
var структура = м.содержимое["/🙈.html"]
.replace(/\${версия}/g, м.версия);
// Вставляем содержимое в рамку, чтобы применяемые стили UIkit не
// дёргали надписи.
// https://stackoverflow.com/a/8322025
var рамка = "<iframe id='экран-загрузки' class='фон-экрана' frameBorder='0'></iframe>";
document.body.insertAdjacentHTML("afterbegin", рамка);
document.getElementById("экран-загрузки").src = "data:text/html;charset=utf-8," + структура;
};


// MARK: /🎬.череда


gitjs.мир.разобрать(`

пуск
задать заголовок
отобразить страницу загрузки

`);


// MARK: /📦.js


ОкончитьЗагрузкуПриложения = мир =>
{
мир.уведомить("надо окончить загрузку приложения");
eval(м.содержимое["/🏁.js"]);
мир.разобрать(м.содержимое["/🏁.череда"]);
};


@@ -184,6 +97,7 @@ gitjs.мир.разобрать(`
обновления приложения отсутствуют
загрузить библиотеки приложения
загрузили библиотеки приложения
загрузить окончание
окончить загрузку приложения

`);


+ 14
- 0
🙈.css ファイルの表示

@@ -0,0 +1,14 @@


.фон-экрана
{
background-color: white;
position: fixed;
left: 0;
top: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
}


+ 8
- 0
🙈.html ファイルの表示

@@ -0,0 +1,8 @@


<center>
<p>Маджонг ⚬ 麻将 ⚬ Mahjong</p>
<h1>🀄 МАОН</h1>
<p>0.1.0</p>
</center>


読み込み中…
キャンセル
保存