website-vue/components/FooterSection.vue

89 lines
3.4 KiB
Vue
Raw Permalink Normal View History

2025-04-22 15:57:06 +08:00
<template>
<footer class="bg-primary text-white py-12">
<div class="container">
<div class="grid md:grid-cols-4 gap-8">
<div>
2025-04-22 16:46:16 +08:00
<h5 class="text-lg font-semibold mb-4">{{ $t('common.appName') }}</h5>
<p class="text-white/50 mb-4">{{ $t('footer.description') }}</p>
2025-04-22 15:57:06 +08:00
<div class="flex space-x-4">
<a href="#" class="text-white/50 hover:text-white transition-colors">
<i class="fab fa-weixin"></i>
</a>
<a href="#" class="text-white/50 hover:text-white transition-colors">
<i class="fab fa-weibo"></i>
</a>
<a href="#" class="text-white/50 hover:text-white transition-colors">
<i class="fab fa-linkedin"></i>
</a>
</div>
</div>
<div>
2025-04-22 16:46:16 +08:00
<h5 class="text-lg font-semibold mb-4">{{ $t('footer.products') }}</h5>
2025-04-22 15:57:06 +08:00
<ul class="space-y-2">
<li v-for="(product, index) in products" :key="index">
<NuxtLink :to="product.path" class="text-white/70 hover:text-white transition-colors">
2025-04-22 16:46:16 +08:00
{{ $t(product.i18nKey) }}
2025-04-22 15:57:06 +08:00
</NuxtLink>
</li>
</ul>
</div>
<div>
2025-04-22 16:46:16 +08:00
<h5 class="text-lg font-semibold mb-4">{{ $t('footer.solutions') }}</h5>
2025-04-22 15:57:06 +08:00
<ul class="space-y-2">
<li v-for="(solution, index) in solutions" :key="index">
<NuxtLink :to="solution.path" class="text-white/70 hover:text-white transition-colors">
2025-04-22 16:46:16 +08:00
{{ $t(solution.i18nKey) }}
2025-04-22 15:57:06 +08:00
</NuxtLink>
</li>
</ul>
</div>
<div>
2025-04-22 16:46:16 +08:00
<h5 class="text-lg font-semibold mb-4">{{ $t('footer.contactUs') }}</h5>
2025-04-22 15:57:06 +08:00
<ul class="space-y-3">
<li class="flex items-start">
<i class="fas fa-map-marker-alt text-white/70 mt-1 mr-3"></i>
2025-04-22 16:46:16 +08:00
<span class="text-white/70">{{ $t('footer.address') }}</span>
2025-04-22 15:57:06 +08:00
</li>
<li class="flex items-start">
<i class="fas fa-phone text-white/70 mt-1 mr-3"></i>
2025-04-22 16:46:16 +08:00
<span class="text-white/70">{{ $t('footer.phone') }}</span>
2025-04-22 15:57:06 +08:00
</li>
<li class="flex items-start">
<i class="fas fa-envelope text-white/70 mt-1 mr-3"></i>
2025-04-22 16:46:16 +08:00
<span class="text-white/70">{{ $t('footer.email') }}</span>
2025-04-22 15:57:06 +08:00
</li>
</ul>
</div>
</div>
<div class="mt-12 pt-8 border-t border-white/10 text-center">
2025-04-22 16:46:16 +08:00
<p class="text-white/50">&copy; {{ new Date().getFullYear() }} {{ $t('common.appName') }}. {{ $t('footer.allRightsReserved') }}</p>
2025-04-22 15:57:06 +08:00
</div>
</div>
</footer>
</template>
<script setup lang="ts">
2025-04-22 16:46:16 +08:00
import { useI18n } from 'vue-i18n';
const { t } = useI18n();
2025-04-22 15:57:06 +08:00
const products = [
2025-04-22 16:46:16 +08:00
{ i18nKey: 'footer.productLinks.ec2', path: '/products' },
{ i18nKey: 'footer.productLinks.s3', path: '/products' },
{ i18nKey: 'footer.productLinks.rds', path: '/products' },
{ i18nKey: 'footer.productLinks.lambda', path: '/products' },
{ i18nKey: 'footer.productLinks.more', path: '/products' }
2025-04-22 15:57:06 +08:00
];
const solutions = [
2025-04-22 16:46:16 +08:00
{ i18nKey: 'footer.solutionLinks.web', path: '/solutions' },
{ i18nKey: 'footer.solutionLinks.enterprise', path: '/solutions' },
{ i18nKey: 'footer.solutionLinks.disaster', path: '/solutions' },
{ i18nKey: 'footer.solutionLinks.bigdata', path: '/solutions' },
{ i18nKey: 'footer.solutionLinks.microservice', path: '/solutions' }
2025-04-22 15:57:06 +08:00
];
</script>