You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

300 lines
6.1 KiB

4 weeks ago
4 weeks ago
1 week ago
4 weeks ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
4 weeks ago
4 weeks ago
1 week ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
4 weeks ago
4 weeks ago
4 weeks ago
1 week ago
  1. <template>
  2. <div class="homepage">
  3. <!-- 顶部主图背景 -->
  4. <div class="main-icon"></div>
  5. <!-- 按钮区域 -->
  6. <div class="buttons-container">
  7. <!-- 夺宝奇兵模块 -->
  8. <div class="btn-item" @click="goToDBQBmodel">
  9. <div class="btn-icon btn-dbqb"></div>
  10. <div class="btn-ball"></div>
  11. <div class="btn-text btn-text-dbqb"></div>
  12. </div>
  13. <!-- AI情绪模块 -->
  14. <div class="btn-item" @click="goToEmotionsmodel">
  15. <div class="btn-icon btn-ai"></div>
  16. <div class="btn-ball"></div>
  17. <div class="btn-text btn-text-ai"></div>
  18. </div>
  19. </div>
  20. <!-- 底部口号与说明 -->
  21. <div class="footer-wrapper">
  22. <div class="footer-text1"></div>
  23. <div class="footer-text2"></div>
  24. </div>
  25. </div>
  26. </template>
  27. <script setup>
  28. import { onMounted, ref } from 'vue'
  29. import { useRouter } from 'vue-router'
  30. import { setHeight } from '@/utils/setHeight'
  31. import { useDataStore } from "@/store/dataList.js";
  32. const { getQueryVariable, setActiveTabIndex } = useDataStore();
  33. const router = useRouter()
  34. const pageRef = ref(null)
  35. onMounted(() => {
  36. // setHeight(pageRef.value)
  37. const isPhone =
  38. /phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone/i.test(
  39. navigator.userAgent
  40. );
  41. !isPhone &&
  42. localStorage.setItem(
  43. "localToken",
  44. decodeURIComponent(String(getQueryVariable("token")))
  45. );
  46. })
  47. const goToDBQBmodel = () => {
  48. router.push("/DBQBmodel")
  49. }
  50. const goToEmotionsmodel = () => {
  51. router.push('/Emotionsmodel')
  52. }
  53. </script>
  54. <style scoped>
  55. .homepage {
  56. /* width: 100vw; */
  57. /* min-height: 100vh; */
  58. background-color: #000cfc;
  59. background-image: url('@/assets/img/Selectmodel/-s-bg.png');
  60. background-size: cover;
  61. background-position: center;
  62. background-repeat: no-repeat;
  63. overflow-x: hidden;
  64. display: flex;
  65. flex-direction: column;
  66. align-items: center;
  67. box-sizing: border-box;
  68. text-align: center;
  69. }
  70. .main-icon {
  71. width: 90vw;
  72. max-width: 280px;
  73. height: 280px;
  74. background-image: url('@/assets/img/Selectmodel/-s-机器人.png');
  75. background-size: contain;
  76. background-repeat: no-repeat;
  77. background-position: center;
  78. margin-top: 10vh;
  79. }
  80. /* ===== 默认(PC端)按钮区域 ===== */
  81. .buttons-container {
  82. margin-top: 5vh;
  83. display: flex;
  84. gap: 30vw;
  85. justify-content: center;
  86. align-items: flex-end;
  87. flex-wrap: nowrap;
  88. }
  89. .btn-item {
  90. position: relative;
  91. display: flex;
  92. flex-direction: column;
  93. align-items: center;
  94. width: 90vw;
  95. max-width: 200px;
  96. }
  97. .btn-icon {
  98. /* height: 80px;
  99. width: 100%; */
  100. background-size: contain;
  101. background-repeat: no-repeat;
  102. background-position: center;
  103. }
  104. .btn-dbqb {
  105. height: 150px;
  106. width: 100%;
  107. background-image: url('@/assets/img/Selectmodel/-s-夺宝奇兵logo.png');
  108. }
  109. .btn-ai {
  110. height: 150px;
  111. width: 100%;
  112. background-image: url('@/assets/img/Selectmodel/金轮 拷贝.png');
  113. }
  114. .btn-ball {
  115. height: 150px;
  116. width: 150%;
  117. margin-top: -30px;
  118. background-image: url('@/assets/img/Selectmodel/球.png');
  119. background-size: contain;
  120. background-repeat: no-repeat;
  121. background-position: center;
  122. position: relative;
  123. }
  124. .btn-text {
  125. height: 200px;
  126. width: 150%;
  127. position: absolute;
  128. bottom: -20px;
  129. left: 50%;
  130. transform: translateX(-50%);
  131. background-size: contain;
  132. background-repeat: no-repeat;
  133. background-position: center;
  134. }
  135. .btn-text-dbqb {
  136. background-image: url('@/assets/img/Selectmodel/-s-夺宝奇兵大模型.png');
  137. }
  138. .btn-text-ai {
  139. background-image: url('@/assets/img/Selectmodel/-s-AI情绪大模型.png');
  140. }
  141. /* ===== 底部口号区域 ===== */
  142. .footer-wrapper {
  143. margin-top: 6vh;
  144. display: flex;
  145. flex-direction: column;
  146. align-items: center;
  147. gap: 5vh;
  148. }
  149. .footer-text1 {
  150. width: 100vh;
  151. max-width: 100vh;
  152. height: 9vh;
  153. background-image: url('@/assets/img/Selectmodel/智能体.png');
  154. background-size: 100% 100%;
  155. background-size: contain;
  156. background-repeat: no-repeat;
  157. background-position: center;
  158. }
  159. .footer-text2 {
  160. width: 70vw;
  161. max-width: 360px;
  162. height: 30px;
  163. margin-bottom: 60px;
  164. background-image: url('@/assets/img/Selectmodel/-s-弘历团队.png');
  165. background-size: contain;
  166. background-repeat: no-repeat;
  167. background-position: center;
  168. }
  169. /* 手机适配 */
  170. @media screen and (max-width: 600px) {
  171. .homepage {
  172. height: auto;
  173. /* 解决底部留白 */
  174. width: 100%;
  175. overflow-x: hidden;
  176. }
  177. .main-icon {
  178. margin-top: 350px;
  179. width: 9rem;
  180. height: 10rem;
  181. }
  182. .buttons-container {
  183. margin-top: 80px;
  184. gap: 10vw;
  185. position: relative;
  186. flex-wrap: nowrap;
  187. }
  188. .btn-item {
  189. width: 40vw;
  190. display: flex;
  191. flex-direction: column;
  192. align-items: center;
  193. position: relative;
  194. padding-bottom: 20px;
  195. }
  196. .btn-icon {
  197. height: 80px;
  198. margin-bottom: -10px;
  199. }
  200. .btn-ball {
  201. height: 80px;
  202. margin-top: -10px;
  203. position: relative;
  204. z-index: 1;
  205. }
  206. .btn-text {
  207. position: absolute;
  208. bottom: 45px;
  209. width: 90%;
  210. height: 40px;
  211. z-index: 2;
  212. }
  213. .footer-text1 {
  214. width: 100vw;
  215. height: 60px;
  216. margin-top: 10px;
  217. background-size: 100% 100%;
  218. /* 保证全宽显示 */
  219. }
  220. .footer-text2 {
  221. width: 70vw;
  222. height: 24px;
  223. margin-top: 10px;
  224. }
  225. }
  226. /* 平板适配 */
  227. @media screen and (min-width: 601px) and (max-width: 1024px) {
  228. .homepage {
  229. height: 120vh;
  230. }
  231. .main-icon {
  232. margin-top: 50%;
  233. width: 50vw;
  234. height: 50vw;
  235. }
  236. .btn-item {
  237. padding-top: 20px;
  238. width: 300vw;
  239. position: relative;
  240. }
  241. .btn-icon,
  242. .btn-ball {
  243. height: 100px;
  244. width: 300px;
  245. }
  246. .btn-text {
  247. height: 90px;
  248. width: 100%;
  249. top: 70%;
  250. left: 50%;
  251. transform: translate(-50%, -50%);
  252. }
  253. .footer-text1 {
  254. width: 100vw;
  255. max-width: 900px;
  256. height: 200px;
  257. }
  258. .footer-text2 {
  259. padding-top: 30px;
  260. height: 26px;
  261. }
  262. }
  263. </style>