From 8cb5b7659f2d9574af45319d2f48430a5bd79b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=BF=94?= Date: Thu, 26 Feb 2026 21:27:49 +0800 Subject: [PATCH] feat: add products list page --- src/app/(marketing)/products/page.tsx | 118 ++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 src/app/(marketing)/products/page.tsx diff --git a/src/app/(marketing)/products/page.tsx b/src/app/(marketing)/products/page.tsx new file mode 100644 index 0000000..861e315 --- /dev/null +++ b/src/app/(marketing)/products/page.tsx @@ -0,0 +1,118 @@ +'use client'; + +import Link from 'next/link'; +import { motion } from 'framer-motion'; +import { useInView } from 'framer-motion'; +import { useRef } from 'react'; +import { Button } from '@/components/ui/button'; +import { Badge } from '@/components/ui/badge'; +import { Card, CardContent, CardHeader, CardTitle, CardDescription } from '@/components/ui/card'; +import { PageHeader } from '@/components/ui/page-header'; +import { ArrowRight, Check, TrendingUp } from 'lucide-react'; +import { PRODUCTS } from '@/lib/constants'; + +export default function ProductsPage() { + const contentRef = useRef(null); + const isContentInView = useInView(contentRef, { once: true, margin: '-100px' }); + + return ( +
+ + +
+
+
+ {PRODUCTS.map((product, index) => ( + + + + + + {product.category} + + {product.title} + + + + {product.description} + + +
+

核心功能

+
+ {product.features.slice(0, 4).map((feature, idx) => ( + + + {feature} + + ))} +
+
+ +
+

+ + 核心价值 +

+
    + {product.benefits.map((benefit, idx) => ( +
  • + + {benefit} +
  • + ))} +
+
+ + +
+
+ +
+ ))} +
+
+
+ + +
+

+ 需要定制化解决方案? +

+

+ 我们的专业团队可以根据您的业务需求,提供量身定制的产品开发和系统集成服务 +

+ +
+
+
+ ); +}