index-footer

This commit is contained in:
WindowBird 2025-09-30 09:23:31 +08:00
parent b014394916
commit 6eb0c6b588
7 changed files with 153 additions and 190 deletions

View File

@ -26,7 +26,7 @@ export default defineAppConfig({
}
},
footer: {
credits: `Built with Nuxt UI • © ${new Date().getFullYear()}`,
credits: ` 创特物联科技有限公司• ©闽ICP备2023022186号-2`,
colorMode: false,
links: [{
'icon': 'i-simple-icons-discord',
@ -43,6 +43,7 @@ export default defineAppConfig({
'to': 'https://chuangtewulian.1688.com/page/index.html',
'target': '_blank',
'aria-label': 'Nuxt UI on GitHub'
}]
}],
address: '福建省 福鼎市 太姥山镇雄欣针织厂一楼创特物联科技'
}
})

View File

@ -1,22 +1,23 @@
<script setup lang="ts">
const { footer } = useAppConfig()
<script lang="ts" setup>
const {footer} = useAppConfig()
</script>
<template>
<UFooter
class="z-10 bg-default"
:ui="{ left: 'text-muted text-xs' }"
:ui="{ left: 'text-muted text-xs' }"
class="z-10 bg-default"
>
<template #left>
{{ footer.credits }}
</template>
<template #right>
{{ footer.address }}
<template v-if="footer?.links">
<UButton
v-for="(link, index) of footer?.links"
:key="index"
v-bind="{ size: 'xs', color: 'neutral', variant: 'ghost', ...link }"
v-for="(link, index) of footer?.links"
:key="index"
v-bind="{ size: 'xs', color: 'neutral', variant: 'ghost', ...link }"
/>
</template>
</template>

View File

@ -1,140 +1,111 @@
<template>
<div class="min-h-screen bg-gray-900 text-white">
<!-- 导航菜单 -->
<nav class="border-b border-gray-700">
<div class="container mx-auto px-4">
<div class="flex space-x-8 overflow-x-auto">
<button
v-for="tab in tabs"
:key="tab.id"
:class="[
'py-4 px-2 font-medium text-sm whitespace-nowrap border-b-2 transition-colors',
activeTab === tab.id
? 'border-blue-500 text-blue-400'
: 'border-transparent text-gray-400 hover:text-gray-300'
]"
@click="activeTab = tab.id"
>
{{ tab.title }}
</button>
</div>
</div>
</nav>
<footer class="bg-white dark:bg-gray-900 text-gray-900 dark:text-white py-12 transition-colors duration-300">
<div class="container mx-auto px-4">
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-8">
<!-- 内容区域 -->
<div class="container mx-auto px-4 py-12">
<!-- 解决方案 -->
<div v-show="activeTab === 'solutions'" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<div
v-for="service in solutions" :key="service"
class="bg-gray-800 rounded-lg p-6 hover:bg-gray-750 transition-colors">
<div class="flex items-center space-x-3">
<div class="w-3 h-3 bg-blue-500 rounded-full"/>
<h3 class="text-lg font-medium">{{ service }}</h3>
</div>
<!-- 解决方案 -->
<div class="text-center md:text-left">
<h3 class="text-lg font-semibold mb-4 text-gray-800 dark:text-gray-100">解决方案</h3>
<ul class="space-y-2">
<li
v-for="item in solutions" :key="item"
class="text-gray-600 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors duration-200 cursor-pointer">
<a class="block py-1" href="#">{{ item }}</a>
</li>
</ul>
</div>
</div>
<!-- 行业方案 -->
<div v-show="activeTab === 'industry'" class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div
v-for="service in industrySolutions" :key="service"
class="bg-gray-800 rounded-lg p-6 hover:bg-gray-750 transition-colors">
<div class="flex items-center space-x-3">
<div class="w-3 h-3 bg-green-500 rounded-full"/>
<h3 class="text-lg font-medium">{{ service }}</h3>
</div>
<!-- 行业方案 -->
<div class="text-center md:text-left">
<h3 class="text-lg font-semibold mb-4 text-gray-800 dark:text-gray-100">行业方案</h3>
<ul class="space-y-2">
<li
v-for="item in industrySolutions" :key="item"
class="text-gray-600 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors duration-200 cursor-pointer">
<a class="block py-1" href="#">{{ item }}</a>
</li>
</ul>
</div>
</div>
<!-- 软件开发 -->
<div v-show="activeTab === 'software'" class="grid grid-cols-1 md:grid-cols-2 gap-8">
<div
v-for="service in softwareDevelopment" :key="service"
class="bg-gray-800 rounded-lg p-6 hover:bg-gray-750 transition-colors">
<div class="flex items-center space-x-3">
<div class="w-3 h-3 bg-purple-500 rounded-full"/>
<h3 class="text-lg font-medium">{{ service }}</h3>
</div>
<!-- 软件开发 -->
<div class="text-center md:text-left">
<h3 class="text-lg font-semibold mb-4 text-gray-800 dark:text-gray-100">软件开发</h3>
<ul class="space-y-2">
<li
v-for="item in softwareDevelopment" :key="item"
class="text-gray-600 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors duration-200 cursor-pointer">
<a class="block py-1" href="#">{{ item }}</a>
</li>
</ul>
</div>
</div>
<!-- 智能硬件 -->
<div v-show="activeTab === 'hardware'" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<div
v-for="service in smartHardware" :key="service"
class="bg-gray-800 rounded-lg p-6 hover:bg-gray-750 transition-colors">
<div class="flex items-center space-x-3">
<div class="w-3 h-3 bg-orange-500 rounded-full"/>
<h3 class="text-lg font-medium">{{ service }}</h3>
</div>
<!-- 智能硬件 -->
<div class="text-center md:text-left">
<h3 class="text-lg font-semibold mb-4 text-gray-800 dark:text-gray-100">智能硬件</h3>
<ul class="space-y-2">
<li
v-for="item in smartHardware" :key="item"
class="text-gray-600 dark:text-gray-300 hover:text-blue-600 dark:hover:text-blue-400 transition-colors duration-200 cursor-pointer">
<a class="block py-1" href="#">{{ item }}</a>
</li>
</ul>
</div>
</div>
<!-- 联系我们 -->
<div v-show="activeTab === 'contact'" class="max-w-2xl mx-auto">
<div class="bg-gray-800 rounded-lg p-8">
<h2 class="text-2xl font-bold mb-6">联系我们</h2>
<div class="space-y-4">
<div class="flex items-center space-x-4">
<div class="w-8 h-8 bg-blue-500 rounded-full flex items-center justify-center">
<svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" stroke-linecap="round" stroke-linejoin="round"
stroke-width="2"/>
</svg>
</div>
<div>
<p class="text-gray-400">客服电话</p>
<p class="text-lg font-medium">400-XXX-XXXX</p>
</div>
<!-- 联系我们 -->
<div class="text-center md:text-left">
<h3 class="text-lg font-semibold mb-4 text-gray-800 dark:text-gray-100">联系我们</h3>
<div class="space-y-3 text-gray-600 dark:text-gray-300">
<div class="flex items-center justify-center md:justify-start space-x-2 group">
<svg
class="w-4 h-4 text-gray-500 dark:text-gray-400 group-hover:text-blue-500 dark:group-hover:text-blue-400 transition-colors"
fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M3 5a2 极 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"
stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg>
<a
class="group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"
href="tel:0755-85225123">客服电话0755-85225123</a>
</div>
<div class="flex items-center space-x-4">
<div class="w-8 h-8 bg-green-500 rounded-full flex items-center justify-center">
<svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" stroke-linecap="round" stroke-linejoin="round"
stroke-width="2"/>
</svg>
</div>
<div>
<p class="text-gray-400">商务合作</p>
<p class="text-lg font-medium">XXX-XXXX-XXXX</p>
</div>
<div class="flex items-center justify-center md:justify-start space-x-2 group">
<svg
class="w-4 h-4 text-gray-500 dark:text-gray-400 group极hover:text-blue-500 dark:group-hover:text-blue-400 transition-colors"
fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.极-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 极 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 极 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"
stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg>
<a
class="group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"
href="tel:18123752516">商务合作18123752516</a>
</div>
<div class="flex items-center space-x-4">
<div class="w-8 h-8 bg-purple-500 rounded-full flex items-center justify-center">
<svg class="w-4 h-4 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" stroke-linecap="round" stroke-linejoin="round"
stroke-width="2"/>
</svg>
</div>
<div>
<p class="text-gray-400">反馈邮箱</p>
<p class="text-lg font-medium">feedback@example.com</p>
</div>
<div class="flex items-center justify-center md:justify-start space-x-2 group">
<svg
class="w-4 h-4 text-gray-500 dark:text-gray-400 group-hover:text-blue-500 dark:group-hover:text-blue-400 transition-colors"
fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path
d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"
stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>
</svg>
<a
class="group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors"
href="mailto:yuxi@yuxiit.com">反馈建议邮箱yuxi@yuxiit.com</a>
</div>
</div>
</div>
</div>
<!-- &lt;!&ndash; 底部版权信息 &ndash;&gt;-->
<!-- <div-->
<!-- class="border-t border-gray-300 dark:border-gray-700 mt-8 pt-8 text-center text-gray-500 dark:text-gray-400 transition-colors duration-300">-->
<!-- <p>© 2024 玉犀科技. 保留所有权利.</p>-->
<!-- </div>-->
</div>
</div>
</footer>
</template>
<script setup>
import {ref} from 'vue'
const activeTab = ref('solutions')
const tabs = [
{id: 'solutions', title: '解决方案'},
{id: 'industry', title: '行业方案'},
{id: 'software', title: '软件开发'},
{id: 'hardware', title: '智能硬件'},
{id: 'contact', title: '联系我们'}
]
//
const solutions = [
'共享单车',
'共享滑板车',
@ -163,25 +134,20 @@ const smartHardware = [
</script>
<style scoped>
.bg-gray-750 {
background-color: #374151;
/* 响应式调整 */
@media (max-width: 768px) {
.grid {
gap: 2rem;
}
.text-center {
text-align: center;
}
}
/* 滚动条样式 */
nav::-webkit-scrollbar {
height: 4px;
}
nav::-webkit-scrollbar-track {
background: #1f2937;
}
nav::-webkit-scrollbar-thumb {
background: #4b5563;
border-radius: 2px;
}
nav::-webkit-scrollbar-thumb:hover {
background: #6b7280;
@media (min-width: 1024px) {
.grid {
gap: 4rem;
}
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="min-h-screen bg-white dark:bg-gray-900 py-12">
<div class=" bg-white dark:bg-gray-900 py-12">
<div class="container mx-auto px-4 max-w-6xl">
<!-- 页面标题 -->
<div class="text-center mb-12">
@ -76,52 +76,46 @@
</div>
</div>
<!-- 加载更多按钮 -->
<div class="text-center mt-12">
<button
class="bg-blue-600 hover:bg-blue-700 text-white px-8 py-3 rounded-lg font-medium transition-colors duration-300">
加载更多资讯
</button>
</div>
</div>
</div>
</template>
<script setup>
//
const articles = {
solutions: [
{
title: "玉犀景区SaaS平台 打造专业景区共享出行综合解决方案",
date: "2025-07-08 12:40"
},
{
title: "为什么说景区共享代步车的未来发展空间巨大?",
date: "2023-05-08 11:25"
}
],
knowledge: [
{
title: "共享电动车为何能在共享经济中独树一帜?",
date: "2023-06-29 12:26"
},
{
title: "景区共享智能代步车运营方案有哪些?",
date: "2023-05-10 10:23"
}
],
trends: [
{
title: "景区共享电动代步车如何引领景区发展趋势?",
date: "2024-12-11 23:53"
},
{
title: "景区共享观光代步车为何如此火爆?",
date: "2023-07-13 15:42"
}
]
}
</script>
<!--<script setup>-->
<!--// -->
<!--const articles = {-->
<!-- solutions: [-->
<!-- {-->
<!-- title: "玉犀景区SaaS平台 打造专业景区共享出行综合解决方案",-->
<!-- date: "2025-07-08 12:40"-->
<!-- },-->
<!-- {-->
<!-- title: "为什么说景区共享代步车的未来发展空间巨大?",-->
<!-- date: "2023-05-08 11:25"-->
<!-- }-->
<!-- ],-->
<!-- knowledge: [-->
<!-- {-->
<!-- title: "共享电动车为何能在共享经济中独树一帜?",-->
<!-- date: "2023-06-29 12:26"-->
<!-- },-->
<!-- {-->
<!-- title: "景区共享智能代步车运营方案有哪些?",-->
<!-- date: "2023-05-10 10:23"-->
<!-- }-->
<!-- ],-->
<!-- trends: [-->
<!-- {-->
<!-- title: "景区共享电动代步车如何引领景区发展趋势?",-->
<!-- date: "2024-12-11 23:53"-->
<!-- },-->
<!-- {-->
<!-- title: "景区共享观光代步车为何如此火爆?",-->
<!-- date: "2023-07-13 15:42"-->
<!-- }-->
<!-- ]-->
<!--}-->
<!--</script>-->
<style scoped>
.line-clamp-2 {

View File

@ -1,5 +1,5 @@
<template>
<div class="min-h-screen bg-white dark:bg-gray-900">
<div class=" bg-white dark:bg-gray-900">
<!-- 头部区域 -->
<header class="bg-gradient-to-br from-yellow-400 to-yellow-500 dark:from-yellow-600 dark:to-yellow-700 py-16">
<div class="container mx-auto px-4 text-center">

View File

@ -1,5 +1,5 @@
<template>
<div class="min-h-screen bg-gray-50 dark:bg-gray-900">
<div class=" bg-gray-50 dark:bg-gray-900">
<!-- 顶部背景和标题 -->
<header
class="relative bg-gradient-to-r from-blue-600 to-blue-800 dark:from-blue-800 dark:to-blue-900 text-white py-20 overflow-hidden">

View File

@ -1,6 +1,7 @@
<script lang="ts" setup>
import BottomNavigation from "~/components/BottomNavigation.vue";
import DevelopNews from "~/components/DevelopNews.vue";
</script>
<template>
@ -10,7 +11,7 @@ import BottomNavigation from "~/components/BottomNavigation.vue";
<IndexItem3/>
<IndexItem4/>
<IndexItem5/>
<news/>
<DevelopNews/>
<BottomNavigation/>
</view>
</template>