manual save(2026-01-22 15:18)

This commit is contained in:
SiteAgent Bot
2026-01-22 15:18:39 +08:00
parent 0986f8b726
commit 92f332c293
7 changed files with 72 additions and 56 deletions

View File

@@ -44,10 +44,10 @@ export const AboutSection: React.FC = () => {
id="about-heading" id="about-heading"
className="text-3xl md:text-4xl font-bold text-primary-dark" className="text-3xl md:text-4xl font-bold text-primary-dark"
> >
</h2> </h2>
<p className="mt-4 text-lg text-gray-600 max-w-3xl mx-auto"> <p className="mt-4 text-lg text-gray-600 max-w-3xl mx-auto">
2010 2010
</p> </p>
</motion.div> </motion.div>
@@ -61,14 +61,14 @@ export const AboutSection: React.FC = () => {
transition={{ duration: 0.6 }} transition={{ duration: 0.6 }}
> >
<h3 className="text-2xl font-semibold text-primary-dark mb-6"> <h3 className="text-2xl font-semibold text-primary-dark mb-6">
· ·
</h3> </h3>
<div className="space-y-6 text-gray-600 leading-relaxed"> <div className="space-y-6 text-gray-600 leading-relaxed">
<p> <p>
"诚信、创新、共赢" "诚信、创新、共赢"
</p> </p>
<p> <p>
1000 1000
</p> </p>
</div> </div>
@@ -122,7 +122,7 @@ export const AboutSection: React.FC = () => {
<div className="aspect-[4/3] rounded-2xl overflow-hidden shadow-xl"> <div className="aspect-[4/3] rounded-2xl overflow-hidden shadow-xl">
<img <img
src="/images/about-office.jpg" src="/images/about-office.jpg"
alt="示例集团办公室环境" alt="诚裕集团办公室环境"
className="w-full h-full object-cover" className="w-full h-full object-cover"
/> />
{/* 叠加装饰层 */} {/* 叠加装饰层 */}

View File

@@ -12,24 +12,24 @@ const newsItems = [
{ {
id: 1, id: 1,
category: 'company', category: 'company',
title: '示例集团荣获"2025年度优秀企业"称号', title: '诚裕集团荣获"2025年度优秀企业"称号',
excerpt: '在近日举办的年度企业评选活动中,示例集团凭借其卓越的经营业绩和社会责任表现,荣获"2025年度优秀企业"称号。', excerpt: '在近日举办的年度企业评选活动中,诚裕集团凭借其卓越的经营业绩和社会责任表现,荣获"2025年度优秀企业"称号。',
date: '2025-12-20', date: '2025-12-20',
image: '/images/news-award.jpg', image: '/images/news-award.jpg',
}, },
{ {
id: 2, id: 2,
category: 'industry', category: 'industry',
title: '金融科技创新论坛圆满落幕,示例集团分享行业洞察', title: '金融科技创新论坛圆满落幕,诚裕集团分享行业洞察',
excerpt: '示例集团受邀参加金融科技创新论坛,与行业专家共同探讨金融科技发展趋势,分享公司在数字化转型方面的实践经验。', excerpt: '诚裕集团受邀参加金融科技创新论坛,与行业专家共同探讨金融科技发展趋势,分享公司在数字化转型方面的实践经验。',
date: '2025-12-15', date: '2025-12-15',
image: '/images/news-tech.jpg', image: '/images/news-tech.jpg',
}, },
{ {
id: 3, id: 3,
category: 'achievement', category: 'achievement',
title: '示例集团完成新一轮战略融资,估值突破百亿', title: '诚裕集团完成新一轮战略融资,估值突破百亿',
excerpt: '示例集团宣布完成新一轮战略融资,本轮融资由知名投资机构领投,估值突破百亿元人民币,标志着公司发展进入新阶段。', excerpt: '诚裕集团宣布完成新一轮战略融资,本轮融资由知名投资机构领投,估值突破百亿元人民币,标志着公司发展进入新阶段。',
date: '2025-12-10', date: '2025-12-10',
image: '/images/news-company.jpg', image: '/images/news-company.jpg',
}, },
@@ -157,7 +157,7 @@ export const NewsSection: React.FC = () => {
</h2> </h2>
<p className="mt-2 text-lg text-gray-600"> <p className="mt-2 text-lg text-gray-600">
</p> </p>
</div> </div>
<Link <Link

View File

@@ -3,7 +3,7 @@ import { useEffect } from 'react';
/** /**
* 自定义 Hook - 设置页面标题 * 自定义 Hook - 设置页面标题
* @param title 页面标题 * @param title 页面标题
* @param suffix 标题后缀,默认为 "示例集团" * @param suffix 标题后缀,默认为 "诚裕集团"
*/ */
export const usePageTitle = (title: string, suffix: string = '诚裕集团') => { export const usePageTitle = (title: string, suffix: string = '诚裕集团') => {
useEffect(() => { useEffect(() => {

View File

@@ -1,5 +1,5 @@
/** /**
* 示例集团企业官网 - 常量定义 * 诚裕集团企业官网 - 常量定义
*/ */
// 企业基本信息 // 企业基本信息
@@ -57,21 +57,21 @@ export const SOCIAL_MEDIA = [
label: '微信公众号', label: '微信公众号',
icon: 'Wechat', icon: 'Wechat',
url: 'https://weixin.qq.com', url: 'https://weixin.qq.com',
description: '示例集团官方微信公众号', description: '诚裕集团官方微信公众号',
}, },
{ {
id: 'weibo', id: 'weibo',
label: '官方微博', label: '官方微博',
icon: 'Weibo', icon: 'Weibo',
url: 'https://weibo.com', url: 'https://weibo.com',
description: '示例集团官方微博账号', description: '诚裕集团官方微博账号',
}, },
{ {
id: 'linkedin', id: 'linkedin',
label: 'LinkedIn', label: 'LinkedIn',
icon: 'Linkedin', icon: 'Linkedin',
url: 'https://linkedin.com/company/chengyu-group', url: 'https://linkedin.com/company/chengyu-group',
description: '示例集团 LinkedIn 主页', description: '诚裕集团 LinkedIn 主页',
}, },
]; ];

View File

@@ -1,5 +1,5 @@
/** /**
* 示例集团企业官网 - 工具函数 * 诚裕集团企业官网 - 工具函数
*/ */
/** /**
@@ -215,19 +215,35 @@ export function isEmpty(obj: object): boolean {
* @param sources - 源对象数组 * @param sources - 源对象数组
* @returns 合并后的对象 * @returns 合并后的对象
*/ */
export function deepMerge<T extends object>(target: T, ...sources: Partial<T>[]): T { const isPlainObject = (value: unknown): value is Record<string, unknown> => {
if (!sources.length) return target; return typeof value === 'object' && value !== null && !Array.isArray(value);
const source = sources.shift(); };
if (source && typeof source === 'object') { export function deepMerge<T extends Record<string, unknown>>(
for (const key in source) { target: T,
if (source[key] && typeof source[key] === 'object') { ...sources: Array<Partial<T>>
if (!target[key]) Object.assign(target, { [key]: {} }); ): T {
deepMerge(target[key], source[key]); if (!sources.length) return target;
} else {
Object.assign(target, { [key]: source[key] }); const source = sources.shift();
if (!source) return target;
for (const key of Object.keys(source) as Array<keyof T>) {
const sourceValue = source[key];
const targetValue = target[key];
if (isPlainObject(sourceValue)) {
if (!isPlainObject(targetValue)) {
(target as Record<string, unknown>)[key as string] = {};
} }
deepMerge(
(target as Record<string, unknown>)[key as string] as Record<string, unknown>,
sourceValue
);
continue;
} }
(target as Record<string, unknown>)[key as string] = sourceValue as unknown;
} }
return deepMerge(target, ...sources); return deepMerge(target, ...sources);
@@ -243,7 +259,7 @@ export function debounce<T extends (...args: unknown[]) => unknown>(
func: T, func: T,
wait: number wait: number
): (...args: Parameters<T>) => void { ): (...args: Parameters<T>) => void {
let timeout: NodeJS.Timeout | null = null; let timeout: ReturnType<typeof setTimeout> | null = null;
return (...args: Parameters<T>) => { return (...args: Parameters<T>) => {
if (timeout) clearTimeout(timeout); if (timeout) clearTimeout(timeout);

View File

@@ -416,12 +416,12 @@ export const Contact: React.FC = () => {
<div className="aspect-[4/3] rounded-xl overflow-hidden relative"> <div className="aspect-[4/3] rounded-xl overflow-hidden relative">
<img <img
src="https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1200&h=900&fit=crop" src="https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1200&h=900&fit=crop"
alt="示例集团总部大楼 - 现代化办公大厦" alt="诚裕集团总部大楼 - 现代化办公大厦"
className="w-full h-full object-cover" className="w-full h-full object-cover"
/> />
<div className="absolute bottom-4 left-4 right-4 bg-white/95 backdrop-blur-sm rounded-lg p-3 shadow-lg"> <div className="absolute bottom-4 left-4 right-4 bg-white/95 backdrop-blur-sm rounded-lg p-3 shadow-lg">
<p className="text-primary-dark font-medium text-sm mb-1"> <p className="text-primary-dark font-medium text-sm mb-1">
</p> </p>
<p className="text-gray-600 text-xs"> <p className="text-gray-600 text-xs">
@@ -443,7 +443,7 @@ export const Contact: React.FC = () => {
<div className="aspect-[16/9] overflow-hidden"> <div className="aspect-[16/9] overflow-hidden">
<img <img
src="https://images.unsplash.com/photo-1497366216548-37526070297c?w=1200&h=675&fit=crop" src="https://images.unsplash.com/photo-1497366216548-37526070297c?w=1200&h=675&fit=crop"
alt="示例集团办公环境 - 现代化工作空间" alt="诚裕集团办公环境 - 现代化工作空间"
className="w-full h-full object-cover hover:scale-105 transition-transform duration-300" className="w-full h-full object-cover hover:scale-105 transition-transform duration-300"
/> />
</div> </div>

View File

@@ -24,8 +24,8 @@ import { getLocaleFromPathname } from '../lib/i18n'
const allNews = [ const allNews = [
{ {
id: 1, id: 1,
title: '示例集团荣获"2025年度优秀企业"称号', title: '诚裕集团荣获"2025年度优秀企业"称号',
excerpt: '在近日举办的年度企业评选活动中,示例集团凭借其卓越的经营业绩和社会责任表现,荣获"2025年度优秀企业"称号。这一荣誉是对示例集团多年来坚持创新发展的肯定。', excerpt: '在近日举办的年度企业评选活动中,诚裕集团凭借其卓越的经营业绩和社会责任表现,荣获"2025年度优秀企业"称号。这一荣誉是对诚裕集团多年来坚持创新发展的肯定。',
category: 'company', category: 'company',
date: '2025-12-20', date: '2025-12-20',
readCount: 1256, readCount: 1256,
@@ -34,8 +34,8 @@ const allNews = [
}, },
{ {
id: 2, id: 2,
title: '金融科技创新论坛圆满落幕,示例集团分享行业洞察', title: '金融科技创新论坛圆满落幕,诚裕集团分享行业洞察',
excerpt: '示例集团受邀参加金融科技创新论坛,与行业专家共同探讨金融科技发展趋势,分享公司在数字化转型方面的实践经验。与会嘉宾对示例集团的创新成果给予了高度评价。', excerpt: '诚裕集团受邀参加金融科技创新论坛,与行业专家共同探讨金融科技发展趋势,分享公司在数字化转型方面的实践经验。与会嘉宾对诚裕集团的创新成果给予了高度评价。',
category: 'industry', category: 'industry',
date: '2025-12-15', date: '2025-12-15',
readCount: 892, readCount: 892,
@@ -44,8 +44,8 @@ const allNews = [
}, },
{ {
id: 3, id: 3,
title: '示例集团完成新一轮战略融资,估值突破百亿', title: '诚裕集团完成新一轮战略融资,估值突破百亿',
excerpt: '示例集团宣布完成新一轮战略融资,本轮融资由知名投资机构领投,估值突破百亿元人民币,标志着公司发展进入新阶段。此轮融资将用于加大技术研发和市场拓展力度。', excerpt: '诚裕集团宣布完成新一轮战略融资,本轮融资由知名投资机构领投,估值突破百亿元人民币,标志着公司发展进入新阶段。此轮融资将用于加大技术研发和市场拓展力度。',
category: 'company', category: 'company',
date: '2025-12-10', date: '2025-12-10',
readCount: 2341, readCount: 2341,
@@ -54,8 +54,8 @@ const allNews = [
}, },
{ {
id: 4, id: 4,
title: '示例集团发布2025年度社会责任报告', title: '诚裕集团发布2025年度社会责任报告',
excerpt: '示例集团正式发布《2025年度社会责任报告》全面展示了公司在环境保护、社会公益、公司治理等方面的实践成果。报告显示示例集团在ESG领域取得了显著进步。', excerpt: '诚裕集团正式发布《2025年度社会责任报告》全面展示了公司在环境保护、社会公益、公司治理等方面的实践成果。报告显示诚裕集团在ESG领域取得了显著进步。',
category: 'company', category: 'company',
date: '2025-12-05', date: '2025-12-05',
readCount: 567, readCount: 567,
@@ -65,7 +65,7 @@ const allNews = [
{ {
id: 5, id: 5,
title: '人工智能赋能金融服务行业论坛成功举办', title: '人工智能赋能金融服务行业论坛成功举办',
excerpt: '由示例集团主办的人工智能赋能金融服务行业论坛在北京成功举办。来自金融机构、科技公司、学术机构的专家学者共同探讨AI技术在金融服务领域的应用前景。', excerpt: '由诚裕集团主办的人工智能赋能金融服务行业论坛在北京成功举办。来自金融机构、科技公司、学术机构的专家学者共同探讨AI技术在金融服务领域的应用前景。',
category: 'industry', category: 'industry',
date: '2025-11-28', date: '2025-11-28',
readCount: 743, readCount: 743,
@@ -74,8 +74,8 @@ const allNews = [
}, },
{ {
id: 6, id: 6,
title: '示例集团获得国家级高新技术企业认证', title: '诚裕集团获得国家级高新技术企业认证',
excerpt: '示例集团正式获得国家级高新技术企业认证,这标志着集团在技术创新和研发投入方面获得了国家层面的认可。示例集团将继续加大研发投入,提升自主创新能力。', excerpt: '诚裕集团正式获得国家级高新技术企业认证,这标志着集团在技术创新和研发投入方面获得了国家层面的认可。诚裕集团将继续加大研发投入,提升自主创新能力。',
category: 'achievement', category: 'achievement',
date: '2025-11-20', date: '2025-11-20',
readCount: 1089, readCount: 1089,
@@ -84,8 +84,8 @@ const allNews = [
}, },
{ {
id: 7, id: 7,
title: '示例集团与清华大学签署战略合作协议', title: '诚裕集团与清华大学签署战略合作协议',
excerpt: '示例集团与清华大学正式签署战略合作协议,双方将在人才培养、技术研发、成果转化等方面开展深度合作。这一合作将为示例集团的创新发展提供强大的智力支持。', excerpt: '诚裕集团与清华大学正式签署战略合作协议,双方将在人才培养、技术研发、成果转化等方面开展深度合作。这一合作将为诚裕集团的创新发展提供强大的智力支持。',
category: 'company', category: 'company',
date: '2025-11-15', date: '2025-11-15',
readCount: 621, readCount: 621,
@@ -94,8 +94,8 @@ const allNews = [
}, },
{ {
id: 8, id: 8,
title: '数字化转型趋势报告发布,示例集团引领行业发展', title: '数字化转型趋势报告发布,诚裕集团引领行业发展',
excerpt: '示例集团研究院发布《2025企业数字化转型趋势报告》深入分析了当前数字化转型的发展态势和未来趋势。报告指出数字化转型已成为企业提升竞争力的关键路径。', excerpt: '诚裕集团研究院发布《2025企业数字化转型趋势报告》深入分析了当前数字化转型的发展态势和未来趋势。报告指出数字化转型已成为企业提升竞争力的关键路径。',
category: 'industry', category: 'industry',
date: '2025-11-08', date: '2025-11-08',
readCount: 456, readCount: 456,
@@ -104,8 +104,8 @@ const allNews = [
}, },
{ {
id: 9, id: 9,
title: '示例集团获评"最佳雇主品牌"荣誉称号', title: '诚裕集团获评"最佳雇主品牌"荣誉称号',
excerpt: '在2025年度人力资源管理峰会上示例集团凭借其在人才培养、员工发展、企业文化等方面的卓越表现,荣获"最佳雇主品牌"荣誉称号。这一荣誉体现了员工对示例集团的高度认可。', excerpt: '在2025年度人力资源管理峰会上诚裕集团凭借其在人才培养、员工发展、企业文化等方面的卓越表现,荣获"最佳雇主品牌"荣誉称号。这一荣誉体现了员工对诚裕集团的高度认可。',
category: 'achievement', category: 'achievement',
date: '2025-11-01', date: '2025-11-01',
readCount: 389, readCount: 389,
@@ -114,8 +114,8 @@ const allNews = [
}, },
{ {
id: 10, id: 10,
title: '示例集团启动"绿色金融"专项计划', title: '诚裕集团启动"绿色金融"专项计划',
excerpt: '示例集团正式宣布启动"绿色金融"专项计划计划在未来三年内投入100亿元支持绿色产业发展。这一计划的推出体现了示例集团积极践行可持续发展理念的决心。', excerpt: '诚裕集团正式宣布启动"绿色金融"专项计划计划在未来三年内投入100亿元支持绿色产业发展。这一计划的推出体现了诚裕集团积极践行可持续发展理念的决心。',
category: 'company', category: 'company',
date: '2025-10-25', date: '2025-10-25',
readCount: 723, readCount: 723,
@@ -125,7 +125,7 @@ const allNews = [
{ {
id: 11, id: 11,
title: '产业投资基金发展趋势研讨会在京举行', title: '产业投资基金发展趋势研讨会在京举行',
excerpt: '由示例集团主办的产业投资基金发展趋势研讨会在北京举行。来自监管部门、投资机构、产业龙头企业的代表就产业投资基金的发展方向和投资策略进行了深入探讨。', excerpt: '由诚裕集团主办的产业投资基金发展趋势研讨会在北京举行。来自监管部门、投资机构、产业龙头企业的代表就产业投资基金的发展方向和投资策略进行了深入探讨。',
category: 'industry', category: 'industry',
date: '2025-10-18', date: '2025-10-18',
readCount: 312, readCount: 312,
@@ -134,8 +134,8 @@ const allNews = [
}, },
{ {
id: 12, id: 12,
title: '示例集团入选"北京民营企业百强"榜单', title: '诚裕集团入选"北京民营企业百强"榜单',
excerpt: '北京市工商联发布2025年度北京民营企业百强榜单示例集团凭借优异的经营业绩和创新能力,成功入选该榜单。这一荣誉是对示例集团综合实力的又一次肯定。', excerpt: '北京市工商联发布2025年度北京民营企业百强榜单诚裕集团凭借优异的经营业绩和创新能力,成功入选该榜单。这一荣誉是对诚裕集团综合实力的又一次肯定。',
category: 'achievement', category: 'achievement',
date: '2025-10-10', date: '2025-10-10',
readCount: 567, readCount: 567,
@@ -523,7 +523,7 @@ export const News: React.FC = () => {
</h1> </h1>
<p className="text-xl text-white/80 max-w-3xl mx-auto"> <p className="text-xl text-white/80 max-w-3xl mx-auto">
</p> </p>
</motion.div> </motion.div>
</div> </div>