index.demo.tsx 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { defineComponent, ref } from 'vue';
  2. import JsScript from '@/components/js-script';
  3. import Title from './components/title';
  4. import WebVr from './components/web-vr';
  5. import Other from './components/other';
  6. import Guide from './components/guide';
  7. import Vrcon from './components/vrcon';
  8. import Menu from './components/menu';
  9. import GuiLoading from './components/gui-loading';
  10. import Popup from './components/popup';
  11. import HotSpotList from './components/hot-spot-list';
  12. import './index.scss';
  13. export default defineComponent({
  14. name: 'home',
  15. components: {
  16. Title,
  17. WebVr,
  18. Other,
  19. Vrcon,
  20. GuiLoading,
  21. JsScript,
  22. Popup,
  23. },
  24. setup() {
  25. // manage 配置是否加载完成
  26. const configLoaded = ref(false);
  27. return {
  28. configLoaded,
  29. };
  30. },
  31. render() {
  32. return (
  33. <div class="home">
  34. {/* 进度条加载 */}
  35. <GuiLoading />
  36. {/* 加载初始页面 */}
  37. <div id="gui-thumb" />
  38. {/* 热点弹出框 */}
  39. <Popup />
  40. {/* 场景canvs主容器 */}
  41. <div id="player" />
  42. {/* 底部菜单 */}
  43. <div id="gui-parent">
  44. {/* 热点气泡 */}
  45. <div id="hot" />
  46. <div id="gui" style="display: none;">
  47. {/* 标题 */}
  48. <Title />
  49. {/* 热点列表 */}
  50. <HotSpotList />
  51. {/* 底部菜单 */}
  52. <Menu />
  53. {/* 导览 */}
  54. <Guide />
  55. <div class="home_logo">
  56. <img src="images/btm_logo.png" />
  57. <span>提供技术支持-demo</span>
  58. </div>
  59. </div>
  60. <WebVr />
  61. <Vrcon />
  62. <Other />
  63. </div>
  64. {/* TODO: 没有控制权,耦合严重;放在此处为了防止元素未渲染导致报错 */}
  65. <JsScript src="/js/manage.js" onLoad={() => (this.configLoaded = true)} />
  66. {this.configLoaded && (
  67. <>
  68. <JsScript src="/js/Hot.js" />
  69. <JsScript src="/js/main_2020_show.js" />
  70. {/* 延迟加载 */}
  71. <JsScript src="/js/lib/player-0.0.12.min.js" />
  72. <JsScript src="/js/lib/Tween.js" />
  73. <JsScript src="/js/SpecialScene.js" />
  74. <JsScript src="/js/loadCAD.js" />
  75. </>
  76. )}
  77. </div>
  78. );
  79. },
  80. });