feat(layout): 重构布局组件体系与数据层
- 重构 Header 导航、Footer 页脚、MobileMenu 移动端菜单 - 新增 MobileTabBar 移动端底部导航栏 - 更新 MegaDropdown 大型下拉导航 - 重构 SEO 结构化数据组件 - 更新数据层常量 (products, services, solutions, navigation 等) - 新增 useCountUp 数字递增 Hook - 修复 .gitignore 中 src/lib 被错误忽略的问题
This commit is contained in:
@@ -10,6 +10,15 @@ export function OrganizationSchema() {
|
||||
"logo": "https://www.novalon.cn/logo.svg",
|
||||
"description": "专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案",
|
||||
"foundingDate": "2026",
|
||||
"foundingLocation": {
|
||||
"@type": "Place",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressCountry": "CN",
|
||||
"addressLocality": "成都",
|
||||
"addressRegion": "四川省",
|
||||
}
|
||||
},
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressCountry": "CN",
|
||||
@@ -17,9 +26,25 @@ export function OrganizationSchema() {
|
||||
"addressRegion": "四川省",
|
||||
"streetAddress": "成都市高新区"
|
||||
},
|
||||
"contactPoint": {
|
||||
"@type": "ContactPoint",
|
||||
"email": COMPANY_INFO.email,
|
||||
"contactType": "customer service",
|
||||
"availableLanguage": ["Chinese", "English"],
|
||||
"areaServed": "CN",
|
||||
},
|
||||
"sameAs": [
|
||||
"https://www.novalon.cn"
|
||||
]
|
||||
],
|
||||
"knowsAbout": [
|
||||
"数字化转型",
|
||||
"企业软件",
|
||||
"ERP系统",
|
||||
"云计算",
|
||||
"数据分析",
|
||||
"信息安全",
|
||||
"金融科技",
|
||||
],
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -36,6 +61,11 @@ export function WebsiteSchema() {
|
||||
"@type": "WebSite",
|
||||
"name": COMPANY_INFO.name,
|
||||
"url": "https://www.novalon.cn",
|
||||
"inLanguage": "zh-CN",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": COMPANY_INFO.name,
|
||||
},
|
||||
"potentialAction": {
|
||||
"@type": "SearchAction",
|
||||
"target": "https://www.novalon.cn/search?q={search_term_string}",
|
||||
@@ -51,20 +81,106 @@ export function WebsiteSchema() {
|
||||
);
|
||||
}
|
||||
|
||||
export function ServiceSchema() {
|
||||
interface ServiceSchemaProps {
|
||||
name?: string;
|
||||
description?: string;
|
||||
areaServed?: string;
|
||||
}
|
||||
|
||||
export function ServiceSchema({ name, description, areaServed }: ServiceSchemaProps = {}) {
|
||||
const schema = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Service",
|
||||
"serviceType": "企业数字化转型服务",
|
||||
"name": name || "企业数字化转型服务",
|
||||
"serviceType": name || "企业数字化转型服务",
|
||||
"provider": {
|
||||
"@type": "Organization",
|
||||
"name": COMPANY_INFO.name
|
||||
"name": COMPANY_INFO.name,
|
||||
"url": "https://www.novalon.cn",
|
||||
},
|
||||
"description": "提供软件开发、云计算、数据分析、信息安全等一站式数字化转型解决方案",
|
||||
"description": description || "提供软件开发、云计算、数据分析、信息安全等一站式数字化转型解决方案",
|
||||
"areaServed": {
|
||||
"@type": "Country",
|
||||
"name": "China"
|
||||
}
|
||||
"name": areaServed || "China"
|
||||
},
|
||||
"hasOfferCatalog": {
|
||||
"@type": "OfferCatalog",
|
||||
"name": "数字化转型服务",
|
||||
"itemListElement": [
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "技术咨询" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "软件开发服务" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "云计算解决方案" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "数据分析与BI" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "信息安全咨询" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "企业IT架构设计" } },
|
||||
]
|
||||
},
|
||||
};
|
||||
|
||||
return (
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
interface ProductSchemaProps {
|
||||
name: string;
|
||||
description: string;
|
||||
image?: string;
|
||||
category?: string;
|
||||
}
|
||||
|
||||
export function ProductSchema({ name, description, image, category }: ProductSchemaProps) {
|
||||
const schema = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "SoftwareApplication",
|
||||
"name": name,
|
||||
"description": description,
|
||||
"applicationCategory": category || "BusinessApplication",
|
||||
"operatingSystem": "Web, Windows, macOS, Linux, iOS, Android",
|
||||
"offers": {
|
||||
"@type": "Offer",
|
||||
"priceCurrency": "CNY",
|
||||
"availability": "https://schema.org/InStock",
|
||||
"seller": {
|
||||
"@type": "Organization",
|
||||
"name": COMPANY_INFO.name,
|
||||
}
|
||||
},
|
||||
"provider": {
|
||||
"@type": "Organization",
|
||||
"name": COMPANY_INFO.name,
|
||||
},
|
||||
...(image && { image: `https://www.novalon.cn${image}` }),
|
||||
};
|
||||
|
||||
return (
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
interface FAQItem {
|
||||
question: string;
|
||||
answer: string;
|
||||
}
|
||||
|
||||
export function FAQSchema({ items }: { items: FAQItem[] }) {
|
||||
const schema = {
|
||||
"@context": "https://schema.org",
|
||||
"@type": "FAQPage",
|
||||
"mainEntity": items.map((item) => ({
|
||||
"@type": "Question",
|
||||
"name": item.question,
|
||||
"acceptedAnswer": {
|
||||
"@type": "Answer",
|
||||
"text": item.answer,
|
||||
}
|
||||
})),
|
||||
};
|
||||
|
||||
return (
|
||||
@@ -110,6 +226,9 @@ export function LocalBusinessSchema() {
|
||||
"url": "https://www.novalon.cn",
|
||||
"email": COMPANY_INFO.email,
|
||||
"description": "专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案",
|
||||
"priceRange": "$$",
|
||||
"currenciesAccepted": "CNY",
|
||||
"paymentAccepted": "Cash, Credit Card, Bank Transfer",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"streetAddress": "成都市高新区",
|
||||
@@ -131,25 +250,11 @@ export function LocalBusinessSchema() {
|
||||
"closes": "18:00"
|
||||
}
|
||||
],
|
||||
"priceRange": "$$",
|
||||
"currenciesAccepted": "CNY",
|
||||
"paymentAccepted": "Cash, Credit Card, Bank Transfer",
|
||||
"areaServed": [
|
||||
{ "@type": "City", "name": "成都" },
|
||||
{ "@type": "State", "name": "四川" },
|
||||
{ "@type": "Country", "name": "中国" }
|
||||
],
|
||||
"hasOfferCatalog": {
|
||||
"@type": "OfferCatalog",
|
||||
"name": "数字化转型服务",
|
||||
"itemListElement": [
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "软件开发服务" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "云计算解决方案" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "数据分析与BI" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "信息安全咨询" } },
|
||||
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "企业IT架构设计" } },
|
||||
]
|
||||
},
|
||||
"sameAs": [
|
||||
"https://www.novalon.cn"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user