diff --git a/package.json b/package.json
index e09ce5b..3636877 100644
--- a/package.json
+++ b/package.json
@@ -42,5 +42,6 @@
"tailwindcss": "^4",
"tsx": "^4.23.0",
"typescript": "^5"
- }
+ },
+ "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319"
}
diff --git a/public/about-factory.png b/public/about-factory.png
new file mode 100644
index 0000000..6e98e4c
Binary files /dev/null and b/public/about-factory.png differ
diff --git a/public/cert-ce-emc.png b/public/cert-ce-emc.png
new file mode 100644
index 0000000..4cbdc2e
Binary files /dev/null and b/public/cert-ce-emc.png differ
diff --git a/public/cert-international.png b/public/cert-international.png
new file mode 100644
index 0000000..01dc0a6
Binary files /dev/null and b/public/cert-international.png differ
diff --git a/public/cert-quality.png b/public/cert-quality.png
new file mode 100644
index 0000000..1711089
Binary files /dev/null and b/public/cert-quality.png differ
diff --git a/public/cert-rohs.png b/public/cert-rohs.png
new file mode 100644
index 0000000..c05f6f7
Binary files /dev/null and b/public/cert-rohs.png differ
diff --git a/public/culture-bg.png b/public/culture-bg.png
new file mode 100644
index 0000000..f974f53
Binary files /dev/null and b/public/culture-bg.png differ
diff --git a/public/culture-card-1.png b/public/culture-card-1.png
new file mode 100644
index 0000000..b406f12
Binary files /dev/null and b/public/culture-card-1.png differ
diff --git a/public/culture-card-2.png b/public/culture-card-2.png
new file mode 100644
index 0000000..b7fc775
Binary files /dev/null and b/public/culture-card-2.png differ
diff --git a/public/culture-card-3.png b/public/culture-card-3.png
new file mode 100644
index 0000000..cf0543b
Binary files /dev/null and b/public/culture-card-3.png differ
diff --git a/public/culture-card-4.png b/public/culture-card-4.png
new file mode 100644
index 0000000..2547804
Binary files /dev/null and b/public/culture-card-4.png differ
diff --git a/public/customers-bg.png b/public/customers-bg.png
new file mode 100644
index 0000000..88a8dd9
Binary files /dev/null and b/public/customers-bg.png differ
diff --git a/public/footer-logo.png b/public/footer-logo.png
new file mode 100644
index 0000000..7330d4c
Binary files /dev/null and b/public/footer-logo.png differ
diff --git a/public/hero-cover.png b/public/hero-cover.png
new file mode 100644
index 0000000..88f1a0a
Binary files /dev/null and b/public/hero-cover.png differ
diff --git a/public/history-2004.png b/public/history-2004.png
new file mode 100644
index 0000000..482b73e
Binary files /dev/null and b/public/history-2004.png differ
diff --git a/public/history-2007.png b/public/history-2007.png
new file mode 100644
index 0000000..5ff1290
Binary files /dev/null and b/public/history-2007.png differ
diff --git a/public/history-2008.png b/public/history-2008.png
new file mode 100644
index 0000000..e0519af
Binary files /dev/null and b/public/history-2008.png differ
diff --git a/public/history-2010.png b/public/history-2010.png
new file mode 100644
index 0000000..e1a0581
Binary files /dev/null and b/public/history-2010.png differ
diff --git a/public/history-2015.png b/public/history-2015.png
new file mode 100644
index 0000000..28871eb
Binary files /dev/null and b/public/history-2015.png differ
diff --git a/public/history-2019.png b/public/history-2019.png
new file mode 100644
index 0000000..fde1c19
Binary files /dev/null and b/public/history-2019.png differ
diff --git a/public/history-bg.png b/public/history-bg.png
new file mode 100644
index 0000000..51c7e7e
Binary files /dev/null and b/public/history-bg.png differ
diff --git a/public/icon-custom-solution.svg b/public/icon-custom-solution.svg
new file mode 100644
index 0000000..9296d73
--- /dev/null
+++ b/public/icon-custom-solution.svg
@@ -0,0 +1,3 @@
+
diff --git a/public/icon-integration.svg b/public/icon-integration.svg
new file mode 100644
index 0000000..8103850
--- /dev/null
+++ b/public/icon-integration.svg
@@ -0,0 +1,16 @@
+
diff --git a/public/icon-mass-production.svg b/public/icon-mass-production.svg
new file mode 100644
index 0000000..6b2dfee
--- /dev/null
+++ b/public/icon-mass-production.svg
@@ -0,0 +1,13 @@
+
diff --git a/public/logo-sany.png b/public/logo-sany.png
new file mode 100644
index 0000000..a506835
Binary files /dev/null and b/public/logo-sany.png differ
diff --git a/public/logo-shanzhong.png b/public/logo-shanzhong.png
new file mode 100644
index 0000000..bd73107
Binary files /dev/null and b/public/logo-shanzhong.png differ
diff --git a/public/logo-sunward.png b/public/logo-sunward.png
new file mode 100644
index 0000000..09124e6
Binary files /dev/null and b/public/logo-sunward.png differ
diff --git a/public/logo-zpmc.png b/public/logo-zpmc.png
new file mode 100644
index 0000000..b57bac0
Binary files /dev/null and b/public/logo-zpmc.png differ
diff --git a/public/logo.png b/public/logo.png
new file mode 100644
index 0000000..eedf7fd
Binary files /dev/null and b/public/logo.png differ
diff --git a/src/app/(site)/about/page.tsx b/src/app/(site)/about/page.tsx
new file mode 100644
index 0000000..6728385
--- /dev/null
+++ b/src/app/(site)/about/page.tsx
@@ -0,0 +1,23 @@
+import { AboutIntro } from "@/components/about-intro";
+import { CompetitiveAdvantage } from "@/components/competitive-advantage";
+import { CorporateCulture } from "@/components/corporate-culture";
+import { CustomerLogos } from "@/components/customer-logos";
+import { DevelopmentHistory } from "@/components/development-history";
+import { Hero } from "@/components/hero";
+import { HonorsQualifications } from "@/components/honors-qualifications";
+import { PatentAchievements } from "@/components/patent-achievements";
+
+export default function AboutPage() {
+ return (
+
+ );
+}
diff --git a/src/app/(site)/layout.tsx b/src/app/(site)/layout.tsx
new file mode 100644
index 0000000..9128998
--- /dev/null
+++ b/src/app/(site)/layout.tsx
@@ -0,0 +1,16 @@
+import { SiteFooter } from "@/components/site-footer";
+import { SiteNav } from "@/components/site-nav";
+
+export default function SiteLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ return (
+
+
+ {children}
+
+
+ );
+}
diff --git a/src/app/(site)/page.tsx b/src/app/(site)/page.tsx
new file mode 100644
index 0000000..7767b4e
--- /dev/null
+++ b/src/app/(site)/page.tsx
@@ -0,0 +1,10 @@
+export default function Home() {
+ return (
+
+ );
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
deleted file mode 100644
index 3f36f7c..0000000
--- a/src/app/page.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import Image from "next/image";
-
-export default function Home() {
- return (
-
-
-
-
-
- To get started, edit the page.tsx file.
-
-
- Looking for a starting point or more instructions? Head over to{" "}
-
- Templates
- {" "}
- or the{" "}
-
- Learning
- {" "}
- center.
-
-
-
-
-
- );
-}
diff --git a/src/components/about-intro.tsx b/src/components/about-intro.tsx
new file mode 100644
index 0000000..41f504d
--- /dev/null
+++ b/src/components/about-intro.tsx
@@ -0,0 +1,46 @@
+import Image from "next/image";
+
+export function AboutIntro() {
+ return (
+
+
+ {/* Text content */}
+
+
关于鼎兴
+
+ 鼎兴电子
+
+
+
+
+ 常州鼎兴是一家以机电一体化、传感器、自动化、微电子等领域为专长的技术型企业。公司主要为:三一重工,振华重工,山河智能,山重建机等知名上市企业配套供应关键传感器及执行装置。公司主要产品为:工程机械用油门旋钮,油位传感器,油门马达及驱动器,自动化码头激光扫描执行器等。现销产品在业内具有较高的市场占有率、知名度与认可度,并畅销海内外。
+
+
+ 我公司长期与知名院校合作,拥有强大的研发技术团队,和较强的技术创新能力。我们公司致力于将产品做好,做精。为中国智造出一份绵薄之力!
+
+
+
+
+
+
+ {/* Factory image */}
+
+
+
+ );
+}
diff --git a/src/components/certificate-section.tsx b/src/components/certificate-section.tsx
new file mode 100644
index 0000000..f65e130
--- /dev/null
+++ b/src/components/certificate-section.tsx
@@ -0,0 +1,75 @@
+import Image from "next/image";
+
+type Certificate = {
+ title: string;
+ image: string;
+};
+
+type CertificateSectionProps = {
+ title: string;
+ subtitle: string;
+ countLabel: string;
+ count: string;
+ certificates: Certificate[];
+};
+
+export function CertificateSection({
+ title,
+ subtitle,
+ countLabel,
+ count,
+ certificates,
+}: CertificateSectionProps) {
+ return (
+
+
+ {/* Header */}
+
+
+
{title}
+
+ {subtitle}
+
+
+
+
+ {countLabel}
+
+
+ {count}
+
+ 项
+
+
+
+ {/* Certificates */}
+
+
+ {certificates.map((cert) => (
+
+
+
+
+
+ {cert.title}
+
+
+ ))}
+
+
+
+ {/* Pagination dots */}
+
+
+
+ );
+}
diff --git a/src/components/competitive-advantage.tsx b/src/components/competitive-advantage.tsx
new file mode 100644
index 0000000..6de0d73
--- /dev/null
+++ b/src/components/competitive-advantage.tsx
@@ -0,0 +1,48 @@
+import Image from "next/image";
+
+const advantages = [
+ {
+ title: "一体化智造技术",
+ icon: "/icon-integration.svg",
+ },
+ {
+ title: "量产交付能力",
+ icon: "/icon-mass-production.svg",
+ },
+ {
+ title: "全套方案定制",
+ icon: "/icon-custom-solution.svg",
+ },
+];
+
+export function CompetitiveAdvantage() {
+ return (
+
+
+
竞争优势
+
+
+ {advantages.map((item) => (
+
+ ))}
+
+
+
+ );
+}
diff --git a/src/components/corporate-culture.tsx b/src/components/corporate-culture.tsx
new file mode 100644
index 0000000..967e9c1
--- /dev/null
+++ b/src/components/corporate-culture.tsx
@@ -0,0 +1,73 @@
+import Image from "next/image";
+
+const cultureItems = [
+ {
+ title: "品牌理念",
+ description: "建一流企业,造一流产品,创一流品牌!",
+ image: "/culture-card-1.png",
+ },
+ {
+ title: "企业使命",
+ description: "追求卓越品质,满足顾客需求,坚持诚实守信,铸造鼎兴品牌!",
+ image: "/culture-card-2.png",
+ },
+ {
+ title: "价值观",
+ description: "服务创造价值,品质改变世界",
+ image: "/culture-card-3.png",
+ },
+ {
+ title: "行为准则",
+ description: "精益求精造精品,至诚至善待客户",
+ image: "/culture-card-4.png",
+ },
+];
+
+export function CorporateCulture() {
+ return (
+
+ {/* Background texture */}
+
+
+
+
+
+
企业文化
+
+
+ {cultureItems.map((item) => (
+
+
+
+
+
+
+ {item.title}
+
+
+ {item.description}
+
+
+
+ ))}
+
+
+
+ );
+}
diff --git a/src/components/customer-logos.tsx b/src/components/customer-logos.tsx
new file mode 100644
index 0000000..c186d6f
--- /dev/null
+++ b/src/components/customer-logos.tsx
@@ -0,0 +1,46 @@
+import Image from "next/image";
+
+const customers = [
+ { name: "山河智能", logo: "/logo-sunward.png" },
+ { name: "山河智能", logo: "/logo-sunward.png" },
+ { name: "三一重工", logo: "/logo-sany.png" },
+ { name: "山重建机", logo: "/logo-shanzhong.png" },
+ { name: "上海振华重工", logo: "/logo-zpmc.png" },
+ { name: "上海振华重工", logo: "/logo-zpmc.png" },
+];
+
+export function CustomerLogos() {
+ return (
+
+ {/* Background */}
+
+
+
+
+
+ {customers.map((customer, index) => (
+
+
+
+ ))}
+
+
+
+ );
+}
diff --git a/src/components/development-history.tsx b/src/components/development-history.tsx
new file mode 100644
index 0000000..09a240d
--- /dev/null
+++ b/src/components/development-history.tsx
@@ -0,0 +1,185 @@
+"use client";
+
+import { ChevronLeft, ChevronRight } from "lucide-react";
+import Image from "next/image";
+import { useState } from "react";
+import { Button } from "@/components/ui/button";
+import { cn } from "@/lib/utils";
+
+const historyItems = [
+ {
+ year: "2004",
+ description: "鼎兴电子的生产总部落成,坐落于天安工业村B座6F",
+ image: "/history-2004.png",
+ },
+ {
+ year: "2007",
+ description:
+ "开始与三一重工开始合作,进入三一重工的战略合作供应商名单,并于当年被评为三一优秀供应商。",
+ image: "/history-2007.png",
+ },
+ {
+ year: "2008",
+ description: "于当年完成管理生产升级,通过9001等质量体系认证",
+ image: "/history-2008.png",
+ },
+ {
+ year: "2010",
+ description:
+ "鼎兴与国内港口机械龙头企业振华重工达成合作,并成为其重要的战略合作伙伴。",
+ image: "/history-2010.png",
+ },
+ {
+ year: "2015",
+ description:
+ "自研挖掘机模拟实验板完成交付,产品性能获三一多方认可,双方技术合作稳步深化",
+ image: "/history-2015.png",
+ },
+ {
+ year: "2019",
+ description:
+ "项目晋级东南大学创新创业大赛复赛,并达成多项院校专业合作,为企业开拓新领域研发筑牢根基。",
+ image: "/history-2019.png",
+ },
+];
+
+const ITEM_WIDTH = 176;
+const ITEM_GAP = 53;
+const STEP = ITEM_WIDTH + ITEM_GAP;
+const VISIBLE_COUNT = 5;
+
+function TimelineItem({
+ item,
+ isTop,
+}: {
+ item: (typeof historyItems)[number];
+ isTop: boolean;
+}) {
+ return (
+
+ {/* Top half */}
+
+ {isTop && (
+ <>
+
+
+
+
{item.year}
+
+ {item.description}
+
+ >
+ )}
+
+
+ {/* Timeline dot */}
+
+
+ {/* Bottom half */}
+
+ {!isTop && (
+ <>
+
+
+
+
{item.year}
+
+ {item.description}
+
+ >
+ )}
+
+
+ );
+}
+
+export function DevelopmentHistory() {
+ const [index, setIndex] = useState(0);
+ const maxIndex = Math.max(0, historyItems.length - VISIBLE_COUNT);
+
+ const canPrev = index > 0;
+ const canNext = index < maxIndex;
+
+ return (
+
+ {/* Background */}
+
+
+
+
+
发展历程
+
+
+ {/* Timeline line */}
+
+
+ {/* Items */}
+
+
+ {historyItems.map((item, i) => (
+
+ ))}
+
+
+
+ {/* Navigation */}
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/hero.tsx b/src/components/hero.tsx
new file mode 100644
index 0000000..4583123
--- /dev/null
+++ b/src/components/hero.tsx
@@ -0,0 +1,40 @@
+import Image from "next/image";
+
+export function Hero() {
+ return (
+
+ {/* Background image */}
+
+
+ {/* Dark overlay at 20% opacity */}
+
+
+ {/* Bottom gradient mask */}
+
+
+ {/* Content */}
+
+
+
+ 稳·准·高效 鼎兴智造——重工机械配套专家
+
+
+
+ Steady · Precise · Efficient Dingxing Intelligent Manufacturing —
+ Expert in Heavy Machinery Supporting Parts
+
+
+ {/* Decorative cyan line */}
+
+
+
+
+ );
+}
diff --git a/src/components/honors-qualifications.tsx b/src/components/honors-qualifications.tsx
new file mode 100644
index 0000000..7bea2e0
--- /dev/null
+++ b/src/components/honors-qualifications.tsx
@@ -0,0 +1,20 @@
+import { CertificateSection } from "@/components/certificate-section";
+
+const certificates = [
+ { title: "质量管理体系认证证书", image: "/cert-quality.png" },
+ { title: "国际质量管理体系认证证书", image: "/cert-international.png" },
+ { title: "RoHS 有害物质限制认证", image: "/cert-rohs.png" },
+ { title: "CE-EMC 电磁兼容认证", image: "/cert-ce-emc.png" },
+];
+
+export function HonorsQualifications() {
+ return (
+
+ );
+}
diff --git a/src/components/patent-achievements.tsx b/src/components/patent-achievements.tsx
new file mode 100644
index 0000000..e32a3c4
--- /dev/null
+++ b/src/components/patent-achievements.tsx
@@ -0,0 +1,20 @@
+import { CertificateSection } from "@/components/certificate-section";
+
+const certificates = [
+ { title: "质量管理体系认证证书", image: "/cert-quality.png" },
+ { title: "国际质量管理体系认证证书", image: "/cert-international.png" },
+ { title: "RoHS 有害物质限制认证", image: "/cert-rohs.png" },
+ { title: "CE-EMC 电磁兼容认证", image: "/cert-ce-emc.png" },
+];
+
+export function PatentAchievements() {
+ return (
+
+ );
+}
diff --git a/src/components/site-footer.tsx b/src/components/site-footer.tsx
new file mode 100644
index 0000000..4d22d4b
--- /dev/null
+++ b/src/components/site-footer.tsx
@@ -0,0 +1,100 @@
+import { MapPin, Phone } from "lucide-react";
+import Image from "next/image";
+import Link from "next/link";
+
+const footerLinks = [
+ {
+ title: "关于鼎兴",
+ links: [
+ { label: "公司简介", href: "/about" },
+ { label: "企业文化", href: "/about" },
+ { label: "公司历程", href: "/about" },
+ { label: "企业实力", href: "/about" },
+ { label: "企业荣誉", href: "/about" },
+ ],
+ },
+ {
+ title: "解决方案",
+ links: [
+ { label: "工程机械类", href: "/products" },
+ { label: "港口机械类", href: "/products" },
+ ],
+ },
+ {
+ title: "品牌故事",
+ links: [
+ { label: "公司新闻", href: "/news" },
+ { label: "行业新闻", href: "/news" },
+ ],
+ },
+];
+
+export function SiteFooter() {
+ return (
+
+ );
+}
diff --git a/src/components/site-nav.tsx b/src/components/site-nav.tsx
new file mode 100644
index 0000000..34417c0
--- /dev/null
+++ b/src/components/site-nav.tsx
@@ -0,0 +1,88 @@
+"use client";
+
+import Image from "next/image";
+import Link from "next/link";
+import { usePathname } from "next/navigation";
+import { cn } from "@/lib/utils";
+
+const navItems = [
+ { label: "首页", href: "/", left: 422 },
+ { label: "关于鼎兴", href: "/about", left: 603 },
+ { label: "产品", href: "/products", left: 820 },
+ { label: "联系我们", href: "/contact", left: 1000 },
+];
+
+function isActive(pathname: string, href: string) {
+ if (href === "/") return pathname === "/";
+ return pathname === href || pathname.startsWith(`${href}/`);
+}
+
+export function SiteNav() {
+ const pathname = usePathname();
+
+ return (
+
+ );
+}