Hanye官网
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.

TheFooter.vue 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <footer
  3. class="text-white py-8 w-full relative bg-stone-950 border-t border-zinc-800 overflow-hidden"
  4. >
  5. <div class="max-w-screen-2xl mx-auto px-4 sm:px-6 lg:px-10">
  6. <div
  7. class="grid grid-cols-1 md:grid-cols-2 sm:grid-cols-1 lg:grid-cols-4 gap-8 lg:py-14"
  8. >
  9. <!-- Logo & 描述 -->
  10. <div
  11. class="flex flex-col lg:items-start :lg:justify-start sm:items-center text-center lg:text-left"
  12. >
  13. <h3 class="mb-4">
  14. <i class="icon-brand text-white text-2xl"></i>
  15. </h3>
  16. <LanguageSwitcher class="mb-8 hidden lg:block" />
  17. <p class="text-white opacity-60 text-xs">
  18. &copy; {{ new Date().getFullYear() }} Hanye. All rights reserved.
  19. </p>
  20. </div>
  21. <!-- 快捷链接 -->
  22. <div class="hidden lg:block">
  23. <h3
  24. class="w-36 justify-start text-zinc-300 text-xl font-normal leading-snug mb-4"
  25. >
  26. {{ $t("common.home") }}
  27. </h3>
  28. <ul class="space-y-4">
  29. <li v-for="item in menuItems" :key="item.path">
  30. <NuxtLink
  31. :to="item.path"
  32. class="text-zinc-500 text-sm font-normal hover:text-white transition"
  33. >
  34. {{ $t(item.label) }}
  35. </NuxtLink>
  36. </li>
  37. </ul>
  38. </div>
  39. <!-- 快捷链接 -->
  40. <div class="hidden lg:block">
  41. <h3
  42. class="w-36 justify-start text-zinc-300 text-xl font-normal leading-snug mb-4"
  43. >
  44. {{ $t("common.home") }}
  45. </h3>
  46. <ul class="space-y-4">
  47. <li v-for="item in menuItems" :key="item.path">
  48. <NuxtLink
  49. :to="item.path"
  50. class="text-zinc-500 text-sm font-normal hover:text-white transition"
  51. >
  52. {{ $t(item.label) }}
  53. </NuxtLink>
  54. </li>
  55. </ul>
  56. </div>
  57. <!-- 快捷链接 -->
  58. <div class="hidden lg:block">
  59. <h3
  60. class="w-36 justify-start text-zinc-300 text-xl font-normal leading-snug mb-4"
  61. >
  62. {{ $t("common.home") }}
  63. </h3>
  64. <ul class="space-y-4">
  65. <li v-for="item in menuItems" :key="item.path">
  66. <NuxtLink
  67. :to="item.path"
  68. class="text-zinc-500 text-sm font-normal hover:text-white transition"
  69. >
  70. {{ $t(item.label) }}
  71. </NuxtLink>
  72. </li>
  73. </ul>
  74. </div>
  75. </div>
  76. </div>
  77. </footer>
  78. </template>
  79. <script setup lang="ts">
  80. /**
  81. * 页脚组件
  82. * 包含网站导航、联系信息和版权信息
  83. */
  84. // 导航菜单项
  85. const menuItems = [
  86. { label: "common.home", path: "/" },
  87. { label: "common.products", path: "/products" },
  88. { label: "common.faq", path: "/faq" },
  89. { label: "common.about", path: "/about" },
  90. { label: "common.contact", path: "/contact" },
  91. ];
  92. </script>