'use client'; import { useEffect, useState, useRef } from 'react'; import { TestimonialCard } from '@/components/ui/testimonial-card'; interface Testimonial { id: string; quote: string; author: string; position: string; company: string; avatarUrl?: string; rating?: number; } const MOCK_TESTIMONIALS: Testimonial[] = [ { id: '1', quote: '睿新致远的团队非常专业,他们不仅理解我们的业务需求,还能提供超出预期的技术解决方案。数字化转型后,我们的运营效率提升了40%。', author: '张总', position: '总经理', company: '某制造企业', avatarUrl: '/testimonials/avatar-1.jpg', rating: 5, }, { id: '2', quote: '选择睿新致远是我们最正确的决定。他们的数据中台解决方案帮助我们实现了数据资产的统一管理,决策效率大幅提升。', author: '李经理', position: '信息部经理', company: '某零售集团', avatarUrl: '/testimonials/avatar-2.jpg', rating: 5, }, { id: '3', quote: '从需求分析到系统上线,睿新致远的团队都表现出极高的专业素养。他们的ERP系统让我们的业务流程更加标准化、透明化。', author: '王总监', position: '运营总监', company: '某物流企业', avatarUrl: '/testimonials/avatar-3.jpg', rating: 5, }, ]; export function TestimonialsSection() { const [isVisible, setIsVisible] = useState(false); const sectionRef = useRef(null); useEffect(() => { const observer = new IntersectionObserver( ([entry]) => { if (entry?.isIntersecting) { setIsVisible(true); } }, { threshold: 0.1 } ); if (sectionRef.current) { observer.observe(sectionRef.current); } return () => observer.disconnect(); }, []); return (

客户评价

听听我们的客户怎么说

{MOCK_TESTIMONIALS.map((testimonial) => ( ))}
); }