orchestra.html 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <!DOCTYPE html>
  2. <html lang="ZH-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <link rel="icon" href="/favicon.ico" />
  6. <title>管乐团云练习</title>
  7. <meta name="description" content="管乐团APP,器乐学习的不二选择" />
  8. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />
  9. <script>
  10. this.globalThis || (this.globalThis = this)
  11. </script>
  12. <script src="/helpers/lottie.min.js"></script>
  13. <link href="/vant.css" rel="stylesheet">
  14. <script>
  15. if (window.navigator && navigator.serviceWorker) {
  16. navigator.serviceWorker.getRegistrations().then(function (registrations) {
  17. for (let registration of registrations) {
  18. registration.unregister()
  19. }
  20. })
  21. }
  22. function _postMessage(data, callback) {
  23. const instance = window.ORCHESTRA || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ORCHESTRA)
  24. if (instance) {
  25. const uuid = '' + Date.now() + Math.floor(Math.random() * 1000000)
  26. data.content = data.content ? { ...data.content, uuid } : { uuid }
  27. console.log('h5发送:', JSON.stringify(data))
  28. instance.postMessage(JSON.stringify(data))
  29. }
  30. }
  31. _postMessage({
  32. api: 'cloudLoading',
  33. content: {
  34. show: true,
  35. type: 'fullscreen',
  36. },
  37. })
  38. </script>
  39. <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
  40. <script>
  41. // VConsole will be exported to `window.VConsole` by default.
  42. // var vConsole = new window.VConsole();
  43. </script>
  44. <style>
  45. #lottieWeb {
  46. position: fixed;
  47. z-index: 100;
  48. top: 50%;
  49. left: 50%;
  50. width: 100Px;
  51. height: 100Px;
  52. transform: translate(-50%, -50%);
  53. pointer-events: none;
  54. transition: opacity .3s;
  55. }
  56. </style>
  57. </head>
  58. <body>
  59. <div id="app"></div>
  60. <div id="lottieWeb"></div>
  61. <script>
  62. lottie.loadAnimation({
  63. container: document.getElementById('lottieWeb'),
  64. renderer: 'svg',
  65. width: '30px',
  66. height: '30px',
  67. loop: true,
  68. autoplay: true,
  69. path: '/orchestra-music-score/loading.json'
  70. });
  71. window.addEventListener('load', function () {
  72. const loadingEle = document.getElementById('lottieWeb')
  73. loadingEle.style.opacity = '0'
  74. setTimeout(() => {
  75. loadingEle.style.display = 'none'
  76. }, 1000)
  77. })
  78. </script>
  79. <script type="module" src="/src/subpages/colexiu/main.ts"></script>
  80. </body>
  81. </html>