index.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <section class="mb-index">
  3. <section>
  4. <div class="mb-home-title">
  5. <h1>您专注业务,我们守护安全再强的攻击,也有攻不破的防线</h1>
  6. <p>高防服务器 | 高防DNS | 游戏盾SDK高防CDN 全方位守护您的业务</p>
  7. </div>
  8. <div class="mb-video-content">
  9. <video ref="videoRef" class="mb-video" preload="auto" :src="homeVideo" autoplay loop muted playsinline
  10. @loadedmetadata="onVideoLoaded"></video>
  11. <ParticlesCanvas :size="1" class="canvas-overlay" />
  12. <ProductTabs class="mb-tabs-positioner" />
  13. </div>
  14. </section>
  15. <PlansSection class="mb-plans-section" />
  16. <section class="mb-subtitle">
  17. <h2>全景技术架构让技术成为增长引擎</h2>
  18. <p>从基础设施、数据引擎、服务中台到业务应用,层层协同,将算力、数据与能力统一管理</p>
  19. </section>
  20. </section>
  21. </template>
  22. <script setup>
  23. import homeVideo from '~/assets/video/home.webm'
  24. import ProductTabs from '~/components/mobile/home/ProductTabs.vue'
  25. import PlansSection from '~/components/mobile/home/PlansSection.vue'
  26. </script>
  27. <style scoped lang="scss">
  28. .mb-index {
  29. .mb-home-title {
  30. position: relative;
  31. margin-top: 20px;
  32. display: flex;
  33. flex-direction: column;
  34. align-items: center;
  35. gap: 8px;
  36. z-index: 1;
  37. h1 {
  38. text-align: center;
  39. width: 240px;
  40. font-size: 18px;
  41. font-weight: 500;
  42. line-height: 26px;
  43. background: linear-gradient(90deg, #7C4DFF 0.24%, #DEB9FF 45.03%, #617FFF 132.52%);
  44. background-clip: text;
  45. -webkit-background-clip: text;
  46. -webkit-text-fill-color: transparent;
  47. }
  48. p {
  49. color: rgba(255, 255, 255, 0.80);
  50. width: 184px;
  51. text-align: center;
  52. font-size: 12px;
  53. font-weight: 350;
  54. line-height: 20px;
  55. }
  56. }
  57. .mb-video-content {
  58. height: 500px;
  59. position: relative;
  60. z-index: 0;
  61. .mb-video {
  62. width: 100%;
  63. height: auto;
  64. position: absolute;
  65. top: 20%;
  66. transform: translateY(-50%);
  67. left: 0;
  68. }
  69. .canvas-overlay {
  70. position: absolute;
  71. top: 18%;
  72. transform: translateY(-50%);
  73. left: 0;
  74. height: 80px;
  75. z-index: 1;
  76. }
  77. .mb-tabs-positioner {
  78. position: absolute;
  79. top: 56%;
  80. left: 0;
  81. transform: translateY(-50%);
  82. z-index: 1
  83. }
  84. }
  85. .mb-plans-section {
  86. margin-top: 18px;
  87. padding-bottom: 20px;
  88. }
  89. .mb-subtitle {
  90. margin-top: 32px;
  91. display: flex;
  92. flex-direction: column;
  93. align-items: center;
  94. gap: 12px;
  95. h2 {
  96. width: 216px;
  97. color: #FFF;
  98. text-align: center;
  99. font-size: 24px;
  100. font-weight: 400;
  101. line-height: 36px;
  102. }
  103. p {
  104. width: 322px;
  105. color: rgba(255, 255, 255, 0.80);
  106. text-align: center;
  107. font-size: 12px;
  108. font-weight: 400;
  109. line-height: 16px;
  110. }
  111. }
  112. }
  113. </style>