feat: 全站预发布模式——所有产品标注研发中状态,移除定价与交付承诺

- 产品页:添加 status 字段与研发中状态徽章,移除定价信息,功能描述改为规划措辞
- 产品详情:CTA 从立即购买改为预约体验,新增定价待公布区域
- 解决方案详情:关联产品卡片补充研发中状态徽章
- 关于页:更新发展历程里程碑、统计数据、核心价值观,确保与研发阶段逻辑自洽
- 首页:更新社会证明、客户评价、解决方案等区块文案
- 新闻页:分类从产品发布调整为研发动态
- 全站品牌名统一为睿新致远,移除重复文案,规范标点与编码
- 修复 FlipCard 组件 useReducer 替代 useEffect+setState
This commit is contained in:
张翔
2026-05-03 13:34:27 +08:00
parent adb3e8f734
commit f69de14e45
19 changed files with 246 additions and 233 deletions
+6 -6
View File
@@ -29,16 +29,16 @@ export function AboutClient() {
const values = useMemo(() => [
{ icon: Target, title: '务实', description: '不追逐风口,只做真正为客户创造价值的事。' },
{ icon: Users, title: '陪伴', description: '交付只是开始,长期陪跑才是我们的承诺。' },
{ icon: Users, title: '陪伴', description: '从需求理解到产品打磨,长期陪跑才是我们的承诺。' },
{ icon: Award, title: '专业', description: '用扎实的工程能力和行业经验赢得信任。' },
], []);
const milestones = useMemo(() => [
{ date: '2026年1月', title: '公司成立', description: '四川睿新致远科技有限公司在成都龙泉驿区正式成立' },
{ date: '2026年1月', title: '团队组建', description: '核心团队到位,成员来自多个大型传统IT企业,具备扎实的工程能力和规范化交付经验' },
{ date: '2026年2月', title: '业务启动', description: '推出企业数字化转型解决方案,开始服务首批客户' },
{ date: '2026年2月', title: '业务启动', description: '推出企业数字化转型咨询与解决方案服务,开始接触首批意向客户' },
{ date: '2026年3月', title: '产品研发', description: '自主研发的ERP、CRM等产品启动研发,逐步构建产品矩阵' },
{ date: '2026年5月', title: '产品上线', description: '首批产品完成开发并上线试运行,形成覆盖企业管理核心场景的产品体系' },
{ date: '2026年5月', title: '研发推进', description: '多款产品进入核心功能开发阶段,同步开展早期用户体验计划' },
], []);
return (
@@ -57,7 +57,7 @@ export function AboutClient() {
</h1>
<p className="text-lg text-[#595959] leading-relaxed">
</p>
</motion.div>
</div>
@@ -86,10 +86,10 @@ export function AboutClient() {
<div>
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-3"></h3>
<p className="text-[#595959] mb-2 leading-relaxed">&ldquo;&rdquo;</p>
<p className="text-[#595959] mb-2 leading-relaxed">&ldquo;&rdquo;</p>
<p className="text-[#595959] mb-2 leading-relaxed"></p>
<p className="text-[#595959] mb-2 leading-relaxed"></p>
<p className="text-[#595959] mt-3 leading-relaxed">&ldquo;&rdquo;</p>
<p className="text-[#595959] mt-3 leading-relaxed">&ldquo;&rdquo;</p>
</div>
</motion.div>
+1 -1
View File
@@ -10,7 +10,7 @@ import { StaticLink } from '@/components/ui/static-link';
import { Search, Calendar, ChevronLeft, ChevronRight, ArrowRight, Newspaper } from 'lucide-react';
import { PageNav } from '@/components/layout/page-nav';
const categories = ['全部', '公司新闻', '产品发布'];
const categories = ['全部', '公司新闻', '研发动态'];
const ITEMS_PER_PAGE = 9;
export default function NewsListPage() {
+38 -35
View File
@@ -3,7 +3,7 @@ import { StaticLink } from '@/components/ui/static-link';
import { PRODUCTS, COMPANY_INFO } from '@/lib/constants';
import { Button } from '@/components/ui/button';
import { PageNav } from '@/components/layout/page-nav';
import { CheckCircle2, Zap, Target, Layers, ArrowRight } from 'lucide-react';
import { CheckCircle2, Zap, Target, Layers, ArrowRight, FlaskConical } from 'lucide-react';
export async function generateStaticParams() {
return PRODUCTS.map((product) => ({
@@ -39,7 +39,19 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<div className="container-wide">
<PageNav items={[{ label: '产品', href: '/products' }, { label: product.title }]} />
<div className="max-w-4xl mt-8">
<p className="text-sm font-medium text-[#C41E3A] mb-4 tracking-wide uppercase">{product.category}</p>
<div className="flex items-center gap-3 mb-4">
<p className="text-sm font-medium text-[#C41E3A] tracking-wide uppercase">{product.category}</p>
<span
className="text-xs font-medium px-3 py-1 rounded-full border"
style={{
backgroundColor: 'rgba(196, 30, 58, 0.08)',
color: '#C41E3A',
borderColor: 'rgba(196, 30, 58, 0.15)',
}}
>
{product.status}
</span>
</div>
<h1 className="text-4xl md:text-5xl font-bold text-[#1C1C1C] mb-6 tracking-tight">
{product.title}
</h1>
@@ -62,7 +74,7 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<section>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3">
<Zap className="w-6 h-6 text-[#C41E3A]" />
</h2>
<div className="grid md:grid-cols-2 gap-4">
{product.features.map((feature, index) => (
@@ -97,7 +109,7 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<section>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3">
<Layers className="w-6 h-6 text-[#C41E3A]" />
</h2>
<div className="space-y-4">
{product.process.map((step, index) => (
@@ -126,47 +138,38 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
</div>
</section>
<section>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6"></h2>
<div className="grid md:grid-cols-3 gap-6">
<div className="p-6 bg-[#F5F5F5] rounded-xl border-2 border-transparent hover:border-[#C41E3A]/30 transition-colors">
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-2"></h3>
<p className="text-2xl font-bold text-[#C41E3A] mb-4">{product.pricing.base}</p>
<ul className="space-y-2 text-sm text-[#595959]">
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
</ul>
<section className="bg-[#FEF2F4] rounded-2xl p-8 md:p-10">
<div className="flex items-start gap-4">
<div className="w-12 h-12 bg-[#C41E3A] rounded-xl flex items-center justify-center shrink-0">
<FlaskConical className="w-6 h-6 text-white" />
</div>
<div className="p-6 bg-[#C41E3A] rounded-xl text-white relative overflow-hidden">
<div className="absolute top-4 right-4 bg-white/20 px-3 py-1 rounded-full text-xs"></div>
<h3 className="text-lg font-semibold mb-2"></h3>
<p className="text-2xl font-bold mb-4">{product.pricing.standard}</p>
<ul className="space-y-2 text-sm">
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li>
</ul>
</div>
<div className="p-6 bg-[#F5F5F5] rounded-xl border-2 border-transparent hover:border-[#C41E3A]/30 transition-colors">
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-2"></h3>
<p className="text-2xl font-bold text-[#C41E3A] mb-4">{product.pricing.enterprise}</p>
<ul className="space-y-2 text-sm text-[#595959]">
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
</ul>
<div>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-3"></h2>
<p className="text-[#595959] leading-relaxed mb-6">
</p>
<div className="flex flex-wrap gap-3">
<Button size="lg" className="bg-[#C41E3A] hover:bg-[#A01830] text-white" asChild>
<StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" />
</StaticLink>
</Button>
<Button variant="outline" size="lg" asChild>
<StaticLink href="/contact"></StaticLink>
</Button>
</div>
</div>
</div>
</section>
<div className="flex justify-center gap-4 pt-8 border-t border-[#E5E5E5]">
<Button variant="outline" size="lg" asChild>
<StaticLink href="/contact"></StaticLink>
<StaticLink href="/contact"></StaticLink>
</Button>
<Button size="lg" className="bg-[#C41E3A] hover:bg-[#A01830] text-white" asChild>
<StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" />
</StaticLink>
</Button>
+5 -4
View File
@@ -25,7 +25,7 @@ export default function ProductsPage() {
</h1>
<p className="text-lg text-[#595959] leading-relaxed">
</p>
</motion.div>
</div>
@@ -41,6 +41,7 @@ export default function ProductsPage() {
description={product.description}
href={`/products/${product.id}`}
index={index}
status={product.status}
/>
))}
</div>
@@ -50,10 +51,10 @@ export default function ProductsPage() {
<section className="bg-[#F5F5F5] py-20">
<div className="container-wide text-center">
<h2 className="text-3xl font-bold text-[#1C1C1C] mb-6">
</h2>
<p className="text-lg text-[#595959] mb-8 max-w-2xl mx-auto">
</p>
<Button
size="lg"
@@ -61,7 +62,7 @@ export default function ProductsPage() {
asChild
>
<StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" />
</StaticLink>
</Button>
+17 -3
View File
@@ -103,9 +103,23 @@ export function SolutionDetailClient({ solution, relatedProducts }: SolutionDeta
href={`/products/${product.id}`}
className="group block p-6 rounded-xl border border-[#E5E5E5] bg-white hover:border-[#C41E3A]/40 hover:shadow-lg transition-all duration-300"
>
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-2 group-hover:text-[#C41E3A] transition-colors">
{product.title}
</h3>
<div className="flex items-center gap-2 mb-2">
<h3 className="text-lg font-semibold text-[#1C1C1C] group-hover:text-[#C41E3A] transition-colors">
{product.title}
</h3>
{product.status && (
<span
className="text-xs font-medium px-3 py-1 rounded-full border shrink-0"
style={{
backgroundColor: product.status === '研发中' ? 'rgba(196, 30, 58, 0.08)' : product.status === '内测中' ? 'rgba(217, 119, 6, 0.08)' : 'rgba(22, 163, 74, 0.08)',
color: product.status === '研发中' ? '#C41E3A' : product.status === '内测中' ? '#D97706' : '#16A34A',
borderColor: product.status === '研发中' ? 'rgba(196, 30, 58, 0.15)' : product.status === '内测中' ? 'rgba(217, 119, 6, 0.15)' : 'rgba(22, 163, 74, 0.15)',
}}
>
{product.status}
</span>
)}
</div>
<p className="text-sm text-[#595959] leading-relaxed">
{product.description}
</p>
+2 -2
View File
@@ -39,9 +39,9 @@ const modules = [
{
icon: Users,
title: '长期陪跑服务 · 同行伙伴',
subtitle: '交付只是开始,陪伴才是常态',
subtitle: '从需求理解到产品落地,陪伴才是常态',
paragraphs: [
'项目上线那天,是我们真正成为伙伴的开始。',
'当产品真正为您所用那天,是我们成为伙伴的开始。',
'我们建立长效服务机制,定期回访、持续优化、随时响应。',
'在您需要的时候,我们始终在场。',
],
+1 -1
View File
@@ -60,7 +60,7 @@ export const metadata: Metadata = {
template: "%s | 四川睿新致远科技有限公司",
},
description: "四川睿新致远科技有限公司成立于2026年,专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案。",
keywords: ["数字化转型", "企业软件", "ERP系统", "CRM系统", "云计算", "数据分析", "软件开发", "成都科技公司", "金融科技", "诺瓦隆"],
keywords: ["数字化转型", "企业软件", "ERP系统", "CRM系统", "云计算", "数据分析", "软件开发", "成都科技公司", "金融科技", "睿新致远"],
authors: [{ name: "四川睿新致远科技有限公司" }],
creator: "四川睿新致远科技有限公司",
publisher: "四川睿新致远科技有限公司",