2b69686795
- 新增404页面,优化未找到页面体验,避免被搜索引擎索引 - 增加文件代理接口,隐藏真实文件服务器地址,支持文件请求代理 - 实现/article、/case、/product及/page动态路由兼容列表与详情展示 - 添加动态CMS页面兼容入口处理旧式路径,统一路由与SEO设置 - 新增模板1、模板7、模板2、模板3关于我们页面,实现多模板支持 - 模板增强支持CMS单页内容加载及SEO信息动态设置 - 配置环境变量及Git忽略文件规则辅助开发和构建环境管理
50 lines
2.2 KiB
Vue
50 lines
2.2 KiB
Vue
<template>
|
|
<section v-if="enabled" class="py-16 lg:py-20 bg-gray-50">
|
|
<div class="container mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="text-center mb-12">
|
|
<h2 class="text-2xl sm:text-3xl font-bold text-gray-900 mb-4">{{ title }}</h2>
|
|
<p v-if="subtitle" class="text-gray-600 max-w-2xl mx-auto">
|
|
{{ subtitle }}
|
|
</p>
|
|
</div>
|
|
|
|
<div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
<div
|
|
v-for="(item, index) in items"
|
|
:key="item.title || index"
|
|
class="bg-white rounded-xl p-6 shadow-sm hover:shadow-md transition-shadow anim-card group"
|
|
data-reveal
|
|
:data-reveal-delay="index * 100"
|
|
>
|
|
<div
|
|
class="w-12 h-12 rounded-lg bg-blue-50 flex items-center justify-center mb-4 transition-transform duration-300 group-hover:scale-110"
|
|
>
|
|
<FeatureIcon :name="item.icon" class="w-6 h-6 text-blue-600" />
|
|
</div>
|
|
<h3 class="text-lg font-semibold text-gray-900 mb-2">{{ item.title }}</h3>
|
|
<p class="text-sm text-gray-600 leading-relaxed">{{ item.desc }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
/**
|
|
* 模板 7 - 四大核心业务模块(科技蓝,后台可配置)
|
|
* 数据来自 useFeatures(),未配置时回退到下方默认值。
|
|
*/
|
|
import FeatureIcon from '~/components/FeatureIcon.vue'
|
|
import { useFeatures } from '~/composables/useFeatures'
|
|
import type { FeatureItem } from '~/types'
|
|
|
|
const defaultFeatures: FeatureItem[] = [
|
|
{ title: '政府采购代理', desc: '提供招标投标、政府采购全流程代理服务,专业合规、高效透明。', icon: 'document' },
|
|
{ title: '工程咨询服务', desc: '工程造价、工程监理、项目管理等一站式工程咨询服务,助力项目顺利落地。', icon: 'building' },
|
|
{ title: '投融资服务', desc: '项目投融资策划与对接,为政府及企业提供资金解决方案与财务顾问支持。', icon: 'money' },
|
|
{ title: 'AI 数智化', desc: '运用人工智能与大数据技术,推动政务与企业数字化转型,提升管理效能。', icon: 'cpu' }
|
|
]
|
|
|
|
const { enabled, title, subtitle, items } = useFeatures(defaultFeatures)
|
|
</script>
|