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.

324 lines
7.1 KiB

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