index.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>交通运输应急指挥系统</title>
  8. <!-- <script src="./flexible.js"></script> -->
  9. <script src="./webClient/defaultConfig.js"></script>
  10. <script src="./webClient/initWebSocket.js"></script>
  11. <script src="./webClient/webClient_initWnd.js"></script>
  12. <script src="./lib/jquery.js"></script>
  13. <script src="./lib/md5.js"></script>
  14. <script src="./lib/jsencrypt.min.js"></script>
  15. <!-- <script src="../webClient/defaultConfig.js"></script>-->
  16. <!-- <script src="../webClient/initWebSocket.js"></script>-->
  17. <!-- <script src="../webClient/webClient_initWnd.js"></script>-->
  18. <script src="./js/common.js"></script>
  19. <script src="./login.js"></script>
  20. <script src="./meeting.js"></script>
  21. <script src="./js/videoplay.js"></script>
  22. <!-- <script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g6-3.1.1/build/g6.js"></script> -->
  23. <link rel="stylesheet" href="<%- mapurl %>/minemapapi/v2.1.0/minemap.css">
  24. <script src="<%- mapurl %>/minemapapi/v2.1.0/minemap.js"></script>
  25. <script>
  26. minemap.domainUrl = '<%- mapurl %>';
  27. minemap.dataDomainUrl = '<%- mapurl %>';
  28. minemap.serverDomainUrl = '<%- mapurl %>';
  29. minemap.spriteUrl = '<%- mapurl %>/minemapapi/v2.1.0/sprite/sprite';
  30. minemap.serviceUrl = '<%- mapurl %>/service/';
  31. /**
  32. * key、solution设置
  33. */
  34. minemap.key = "d054b0f4433b42f1a28c1a97fbf8317d";
  35. minemap.solution = 12886;
  36. </script>
  37. <!-- <link rel="stylesheet" href="https://minedata.cn/minemapapi/v2.1.0/minemap.css" />
  38. <script src="https://minedata.cn/minemapapi/v2.1.0/minemap.js"></script>
  39. <script>
  40. minemap.domainUrl = 'https://minedata.cn';
  41. minemap.dataDomainUrl = 'https://minedata.cn';
  42. minemap.serverDomainUrl = 'https://minedata.cn';
  43. minemap.spriteUrl = 'https://minedata.cn/minemapapi/v2.1.0/sprite/sprite';
  44. minemap.serviceUrl = 'https://minedata.cn/service/';
  45. minemap.key = '77ef70465c2d4888b3a5132523494b94';
  46. minemap.solution = 16857;
  47. </script> -->
  48. <script>
  49. (function(win, lib) {
  50. var doc = win.document;
  51. var docEl = doc.documentElement;
  52. var metaEl = doc.querySelector('meta[name="viewport"]');
  53. var flexibleEl = doc.querySelector('meta[name="flexible"]');
  54. var dpr = 0;
  55. var scale = 0;
  56. var tid;
  57. // var flexible = lib.flexible || (lib.flexible = {});
  58. // if (metaEl) {
  59. // console.warn('将根据已有的meta标签来设置缩放比例');
  60. // var match = metaEl
  61. // .getAttribute('content')
  62. // .match(/initial\-scale=([\d\.]+)/);
  63. // if (match) {
  64. // scale = parseFloat(match[1]);
  65. // dpr = parseInt(1 / scale);
  66. // }
  67. // } else if (flexibleEl) {
  68. // var content = flexibleEl.getAttribute('content');
  69. // if (content) {
  70. // var initialDpr = content.match(/initial\-dpr=([\d\.]+)/);
  71. // var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/);
  72. // if (initialDpr) {
  73. // dpr = parseFloat(initialDpr[1]);
  74. // scale = parseFloat((1 / dpr).toFixed(2));
  75. // }
  76. // if (maximumDpr) {
  77. // dpr = parseFloat(maximumDpr[1]);
  78. // scale = parseFloat((1 / dpr).toFixed(2));
  79. // }
  80. // }
  81. // }
  82. // if (!dpr && !scale) {
  83. // var isAndroid = win.navigator.appVersion.match(/android/gi);
  84. // var isIPhone = win.navigator.appVersion.match(/iphone/gi);
  85. // var devicePixelRatio = win.devicePixelRatio;
  86. // if (isIPhone) {
  87. // // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案
  88. // if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {
  89. // dpr = 3;
  90. // } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) {
  91. // dpr = 2;
  92. // } else {
  93. // dpr = 1;
  94. // }
  95. // } else {
  96. // // 其他设备下,仍旧使用1倍的方案
  97. // dpr = 1;
  98. // }
  99. // scale = 1 / dpr;
  100. // }
  101. // docEl.setAttribute('data-dpr', dpr);
  102. // if (!metaEl) {
  103. // metaEl = doc.createElement('meta');
  104. // metaEl.setAttribute('name', 'viewport');
  105. // metaEl.setAttribute(
  106. // 'content',
  107. // 'initial-scale=' +
  108. // scale +
  109. // ', maximum-scale=' +
  110. // scale +
  111. // ', minimum-scale=' +
  112. // scale +
  113. // ', user-scalable=no',
  114. // );
  115. // if (docEl.firstElementChild) {
  116. // docEl.firstElementChild.appendChild(metaEl);
  117. // } else {
  118. // var wrap = doc.createElement('div');
  119. // wrap.appendChild(metaEl);
  120. // doc.write(wrap.innerHTML);
  121. // }
  122. // }
  123. // var index = 0;
  124. function detectZoom () {
  125. let ratio = 0,
  126. screen = window.screen,
  127. ua = navigator.userAgent.toLowerCase();
  128. if (window.devicePixelRatio !== undefined) {
  129. ratio = window.devicePixelRatio;
  130. } else if (~ua.indexOf('msie')) {
  131. if (screen.deviceXDPI && screen.logicalXDPI) {
  132. ratio = screen.deviceXDPI / screen.logicalXDPI;
  133. }
  134. } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
  135. ratio = window.outerWidth / window.innerWidth;
  136. }
  137. if (ratio) {
  138. ratio = Math.round(ratio * 100);
  139. }
  140. return ratio;
  141. }
  142. function refreshRem() {
  143. const m = detectZoom();
  144. console.log(m, 'MMMMMMMMMMMMMMM')
  145. document.body.style.zoom = 100/Number(m);
  146. if (window.map != undefined) {
  147. map.resize();
  148. }
  149. // var docEl = doc.documentElement;
  150. // var width = docEl.getBoundingClientRect().width;
  151. // if (width / dpr > 5760) {
  152. // width = 5760 * dpr;
  153. // }
  154. // var rem = width / 10;
  155. // docEl.style.fontSize = rem + 'px';
  156. // flexible.rem = win.rem = rem;
  157. // var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") || (navigator.platform == "Macintosh") || (navigator.platform == "MacIntel");
  158. // var t = window.devicePixelRatio // 获取下载的缩放 125% -> 1.25 150% -> 1.5
  159. // console.log(t)
  160. // if (t != 1 && !isMac) { // 如果进行了缩放,也就是不是1
  161. // setTimeout(() => {
  162. // document.body.style.zoom = -0.005 * t + 0.76; // 就去修改页面的缩放比例,这个公式我自己算的,不准确,勉强。
  163. // if (window.map != undefined) {
  164. // map.resize();
  165. // }
  166. // }, 2 * 1000)
  167. // } else {
  168. // document.body.style.zoom = 1;
  169. // }
  170. }
  171. // window.onresize = () => {
  172. // // refreshRem()
  173. // }
  174. win.addEventListener(
  175. 'resize',
  176. function() {
  177. // debugger
  178. clearTimeout(tid);
  179. tid = setTimeout(refreshRem, 300);
  180. },
  181. false,
  182. );
  183. // win.addEventListener(
  184. // 'pageshow',
  185. // function(e) {
  186. // if (e.persisted) {
  187. // clearTimeout(tid);
  188. // tid = setTimeout(refreshRem, 300);
  189. // }
  190. // },
  191. // false,
  192. // );
  193. // if (doc.readyState === 'complete') {
  194. // doc.body.style.fontSize = 12 * dpr + 'px';
  195. // } else {
  196. // doc.addEventListener(
  197. // 'DOMContentLoaded',
  198. // function(e) {
  199. // doc.body.style.fontSize = 12 * dpr + 'px';
  200. // },
  201. // false,
  202. // );
  203. // }
  204. refreshRem();
  205. // flexible.dpr = win.dpr = dpr;
  206. // flexible.refreshRem = refreshRem;
  207. // flexible.rem2px = function(d) {
  208. // var val = parseFloat(d) * this.rem;
  209. // if (typeof d === 'string' && d.match(/rem$/)) {
  210. // val += 'px';
  211. // }
  212. // return val;
  213. // };
  214. // flexible.px2rem = function(d) {
  215. // var val = parseFloat(d) / this.rem;
  216. // if (typeof d === 'string' && d.match(/px$/)) {
  217. // val += 'rem';
  218. // }
  219. // return val;
  220. // };
  221. })(window, window['lib'] || (window['lib'] = {}));
  222. </script>
  223. </head>
  224. <body style="position: fixed;background-color: #112692;
  225. width: 100%;
  226. height: 100%;">
  227. <div id="app" style="height: 100%;"></div>
  228. <script type="module" src="/src/main.ts"></script>
  229. </body>
  230. </html>