МАОН первой серии
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

191 lines
5.7KB

  1. var модуль = gitjs.мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
  2. // MARK: /📦
  3. модуль.содержимое["/📦"] = `
  4. # Список указателей на модули для загрузки во время пуска
  5. # 启动时要加载的模块指针列表
  6. # List of module pointers to load at startup
  7. https://bitbucket.org/gitjs/jquery/raw/3.5.1/0000
  8. https://bitbucket.org/gitjs/uikit/raw/3.2.0/0000
  9. https://git.opengamestudio.org/mahjong/mahjong-raskladka-layout/raw/branch/master/0000
  10. https://git.opengamestudio.org/mahjong/povtorniy-repeating-ui/raw/branch/master/0000
  11. https://git.opengamestudio.org/PuCOBATEJlb/PuCOBATEJlb/raw/branch/master/0000
  12. https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000
  13. https://git.opengamestudio.org/MAOH/MEXMA/raw/branch/master/0000
  14. https://git.opengamestudio.org/MAOH/CEHMA/raw/branch/master/0000
  15. https://git.opengamestudio.org/MAOH/MOPMA/raw/branch/master/0000
  16. https://git.opengamestudio.org/MAOH/PEEMA/raw/branch/master/0000
  17. https://git.opengamestudio.org/MAOH/OTMA/raw/branch/master/0000
  18. https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000
  19. https://git.opengamestudio.org/MAOH/TEMA_M1K/raw/branch/master/0000
  20. https://git.opengamestudio.org/MAOH/PACK_M1/raw/branch/master/0000
  21. # Убрать после отладки
  22. https://git.opengamestudio.org/MAOH/TEMA_OT/raw/branch/master/0000
  23. https://git.opengamestudio.org/MAOH/PACK_OT/raw/branch/master/0000
  24. `;
  25. // MARK: /🙈.html
  26. модуль.содержимое["/🙈.html"] = `
  27. <center>
  28. <p>Маджонг ⚬ 麻将 ⚬ Mahjong</p>
  29. <h1>🀄 МАОН</h1>
  30. <p>${версия}</p>
  31. </center>
  32. `;
  33. // MARK: /🙈.css
  34. модуль.содержимое["/🙈.css"] = `
  35. .фон-экрана
  36. {
  37. background-color: white;
  38. position: fixed;
  39. left: 0;
  40. top: 0;
  41. right: 0;
  42. bottom: 0;
  43. width: 100%;
  44. height: 100%;
  45. }
  46. `;
  47. // MARK: /🎬.js
  48. ЗадатьЗаголовок = мир =>
  49. {
  50. document.title = "🀄 МАОН";
  51. };
  52. // // // //
  53. ОтобразитьСтраницуЗагрузки = мир =>
  54. {
  55. var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
  56. var вид = document.createElement("style");
  57. document.head.appendChild(вид);
  58. вид.innerHTML = м.содержимое["/🙈.css"];
  59. var структура = м.содержимое["/🙈.html"]
  60. .replace(/\${версия}/g, м.версия);
  61. // Вставляем содержимое в рамку, чтобы применяемые стили UIkit не
  62. // дёргали надписи.
  63. // https://stackoverflow.com/a/8322025
  64. var рамка = "<iframe id='экран-загрузки' class='фон-экрана' frameBorder='0'></iframe>";
  65. document.body.insertAdjacentHTML("afterbegin", рамка);
  66. document.getElementById("экран-загрузки").src = "data:text/html;charset=utf-8," + структура;
  67. };
  68. // MARK: /🎬.череда
  69. gitjs.мир.разобрать(`
  70. пуск
  71. задать заголовок
  72. отобразить страницу загрузки
  73. `);
  74. // MARK: /📦.js
  75. ОкончитьЗагрузкуПриложения = мир =>
  76. {
  77. мир.уведомить("надо окончить загрузку приложения");
  78. };
  79. // // // //
  80. ЗагрузитьБиблиотекиПриложения = мир =>
  81. {
  82. var указатели = [];
  83. var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ);
  84. var содержимое = м.содержимое["/📦"];
  85. var строки = содержимое.split(/\n/);
  86. for (var номер in строки)
  87. {
  88. var строка = строки[номер];
  89. if (!строка.startsWith("#") && строка.length)
  90. {
  91. указатели.push(строка);
  92. }
  93. }
  94. if (указатели.length)
  95. {
  96. var сообщение = "Загрузка библиотек ⚬ 加载库 ⚬ Loading libraries";
  97. console.debug(сообщение, указатели);
  98. мир.модули.использовали.подписатьРаз(function() {
  99. мир.уведомить("ручной пуск");
  100. мир.уведомить("загрузили библиотеки приложения");
  101. });
  102. мир.модули.использовать(указатели);
  103. }
  104. else
  105. {
  106. мир.уведомить("загрузили библиотеки приложения");
  107. }
  108. };
  109. // // // //
  110. ПроверитьНаличиеОбновленийПриложения = мир =>
  111. {
  112. // Эта функция находится вне "/🔄.js", т.к. "/🔄.js" отключаем,
  113. // отчего этой функции просто не будет в пространстве имён.
  114. var событие = "надо обновить приложение при наличии обновлений";
  115. if (событие in мир.события)
  116. {
  117. мир.уведомить(событие);
  118. }
  119. else
  120. {
  121. мир.уведомить("обновления приложения отсутствуют");
  122. }
  123. };
  124. // MARK: /📦.череда
  125. gitjs.мир.разобрать(`
  126. пуск
  127. проверить наличие обновлений приложения
  128. обновления приложения отсутствуют
  129. загрузить библиотеки приложения
  130. загрузили библиотеки приложения
  131. окончить загрузку приложения
  132. `);