index.html 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <!DOCTYPE html>
  2. <html lang="ZH-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" href="/favicon.ico" />
  6. <meta name="description" content="管乐团APP,器乐学习的不二选择" />
  7. <title>管乐团云教练</title>
  8. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
  9. <link href="/vant.css" rel="stylesheet">
  10. <script>
  11. if (window.navigator && navigator.serviceWorker) {
  12. navigator.serviceWorker.getRegistrations().then(function (registrations) {
  13. for (let registration of registrations) {
  14. registration.unregister()
  15. }
  16. })
  17. }
  18. function getBroswer() {
  19. var Sys = {}
  20. var ua = navigator.userAgent.toLowerCase()
  21. var s
  22. ;(s = ua.match(/edge\/([\d.]+)/))
  23. ? (Sys.edge = s[1])
  24. : (s = ua.match(/rv:([\d.]+)\) like gecko/))
  25. ? (Sys.ie = s[1])
  26. : (s = ua.match(/msie ([\d.]+)/))
  27. ? (Sys.ie = s[1])
  28. : (s = ua.match(/firefox\/([\d.]+)/))
  29. ? (Sys.firefox = s[1])
  30. : (s = ua.match(/chrome\/([\d.]+)/))
  31. ? (Sys.chrome = s[1])
  32. : (s = ua.match(/opera.([\d.]+)/))
  33. ? (Sys.opera = s[1])
  34. : (s = ua.match(/version\/([\d.]+).*safari/))
  35. ? (Sys.safari = s[1])
  36. : 0
  37. if (Sys.edge) return { broswer: 'Edge', version: Sys.edge }
  38. if (Sys.ie) return { broswer: 'IE', version: Sys.ie }
  39. if (Sys.firefox) return { broswer: 'Firefox', version: Sys.firefox }
  40. if (Sys.chrome) return { broswer: 'Chrome', version: Sys.chrome }
  41. if (Sys.opera) return { broswer: 'Opera', version: Sys.opera }
  42. if (Sys.safari) return { broswer: 'Safari', version: Sys.safari }
  43. return { broswer: '', version: '0' }
  44. }
  45. var broswer = getBroswer()
  46. window.addEventListener('DOMContentLoaded', function () {
  47. if (broswer.broswer === 'Chrome' && parseFloat(broswer.version) <= 50) {
  48. document.getElementById('update').className = 'show'
  49. document.getElementById('loading').className = ''
  50. }
  51. })
  52. // console.log("broswer:"+abc.broswer+" version:"+abc.version);
  53. </script>
  54. <style>
  55. #loading {
  56. position: fixed;
  57. left: 50%;
  58. top: 50%;
  59. transform: translate(-50%, -50%);
  60. visibility: hidden;
  61. opacity: 0;
  62. transition: opacity 0.3s;
  63. text-align: center;
  64. color: #1e293b;
  65. }
  66. #loading > div {
  67. display: none;
  68. font-size: 24px;
  69. }
  70. #loading a {
  71. color: #01c1b5;
  72. text-decoration: none;
  73. }
  74. #loading.show {
  75. visibility: visible;
  76. opacity: 1;
  77. }
  78. #cnzz_stat_icon_1279349593 {
  79. display: none;
  80. }
  81. #update {
  82. margin-top: 100px;
  83. opacity: 0;
  84. visibility: hidden;
  85. transform: opacity 0.3s;
  86. position: absolute;
  87. top: 0;
  88. left: 50%;
  89. transform: translateX(-50%);
  90. }
  91. #update.show {
  92. opacity: 1;
  93. visibility: visible;
  94. }
  95. #update img {
  96. display: block;
  97. margin: auto;
  98. width: 150px;
  99. height: 150px;
  100. }
  101. #update span {
  102. display: block;
  103. max-width: 90%;
  104. margin: auto;
  105. margin-top: 30px;
  106. color: rgba(0, 0, 0, 0.65);
  107. line-height: 1.8;
  108. }
  109. </style>
  110. </head>
  111. <body>
  112. <div id="app"></div>
  113. <div id="loading" class="show">
  114. <img src="/loading.svg" alt="loading" />
  115. <div>请求时间过长,请检查网络环境 <a href="javascript:;" onclick="_back()">点击返回</a></div>
  116. </div>
  117. <script>
  118. const _onlyPostmessage = (function () {
  119. 'use strict'
  120. const getRandomKey = () => {
  121. return '' + new Date().getTime() + Math.floor(Math.random() * 1000000)
  122. }
  123. /**
  124. * @param instanceKey 实例函数key
  125. */
  126. var onlyPostmessage = (instanceKey) => {
  127. var _a, _b
  128. const win = window;
  129. win.originalPostMessage = win.originalPostMessage || window.postMessage
  130. const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
  131. return function (data) {
  132. if (instance) {
  133. const uuid = getRandomKey()
  134. data.content = data.content ? Object.assign(Object.assign({}, data.content), { uuid }) : { uuid }
  135. console.log('index-send:', JSON.stringify(data))
  136. instance.postMessage(JSON.stringify(data))
  137. }
  138. }
  139. }
  140. return onlyPostmessage
  141. })()
  142. window._setupMessage = _onlyPostmessage('ORCHESTRA')
  143. if (location.origin.indexOf('192.168') > -1 && location.href.indexOf('&acc=1') === -1 && !document.hidden) {
  144. // window._setupMessage({
  145. // api: 'openAccompanyWebView',
  146. // content: {
  147. // url: location.origin + location.pathname + '?id=50970&acc=1',
  148. // orientation: 0,
  149. // isHideTitle: true,
  150. // statusBarTextColor: false,
  151. // isOpenLight: true,
  152. // },
  153. // })
  154. }
  155. ;(function () {
  156. window.isLoading = true
  157. const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
  158. window._setupMessage({
  159. api: 'cloudLoading',
  160. content: {
  161. show: true,
  162. type: 'fullscreen',
  163. },
  164. })
  165. try {
  166. setTimeout(() => {
  167. var tips = document.querySelector('#loading div')
  168. if (tips) {
  169. tips.style.display = 'block'
  170. }
  171. }, 10 * 1000)
  172. } catch (error) {}
  173. })()
  174. function _back() {
  175. window._setupMessage({
  176. api: 'back',
  177. })
  178. }
  179. this.globalThis || (this.globalThis = this)
  180. </script>
  181. <script type="module" src="/src/subpages/colexiu/main.ts"></script>
  182. </body>
  183. </html>