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(() => [ const values = useMemo(() => [
{ icon: Target, title: '务实', description: '不追逐风口,只做真正为客户创造价值的事。' }, { icon: Target, title: '务实', description: '不追逐风口,只做真正为客户创造价值的事。' },
{ icon: Users, title: '陪伴', description: '交付只是开始,长期陪跑才是我们的承诺。' }, { icon: Users, title: '陪伴', description: '从需求理解到产品打磨,长期陪跑才是我们的承诺。' },
{ icon: Award, title: '专业', description: '用扎实的工程能力和行业经验赢得信任。' }, { icon: Award, title: '专业', description: '用扎实的工程能力和行业经验赢得信任。' },
], []); ], []);
const milestones = useMemo(() => [ const milestones = useMemo(() => [
{ date: '2026年1月', title: '公司成立', description: '四川睿新致远科技有限公司在成都龙泉驿区正式成立' }, { date: '2026年1月', title: '公司成立', description: '四川睿新致远科技有限公司在成都龙泉驿区正式成立' },
{ date: '2026年1月', title: '团队组建', description: '核心团队到位,成员来自多个大型传统IT企业,具备扎实的工程能力和规范化交付经验' }, { 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年3月', title: '产品研发', description: '自主研发的ERP、CRM等产品启动研发,逐步构建产品矩阵' },
{ date: '2026年5月', title: '产品上线', description: '首批产品完成开发并上线试运行,形成覆盖企业管理核心场景的产品体系' }, { date: '2026年5月', title: '研发推进', description: '多款产品进入核心功能开发阶段,同步开展早期用户体验计划' },
], []); ], []);
return ( return (
@@ -57,7 +57,7 @@ export function AboutClient() {
</h1> </h1>
<p className="text-lg text-[#595959] leading-relaxed"> <p className="text-lg text-[#595959] leading-relaxed">
</p> </p>
</motion.div> </motion.div>
</div> </div>
@@ -86,10 +86,10 @@ export function AboutClient() {
<div> <div>
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-3"></h3> <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] 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> </div>
</motion.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 { Search, Calendar, ChevronLeft, ChevronRight, ArrowRight, Newspaper } from 'lucide-react';
import { PageNav } from '@/components/layout/page-nav'; import { PageNav } from '@/components/layout/page-nav';
const categories = ['全部', '公司新闻', '产品发布']; const categories = ['全部', '公司新闻', '研发动态'];
const ITEMS_PER_PAGE = 9; const ITEMS_PER_PAGE = 9;
export default function NewsListPage() { 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 { PRODUCTS, COMPANY_INFO } from '@/lib/constants';
import { Button } from '@/components/ui/button'; import { Button } from '@/components/ui/button';
import { PageNav } from '@/components/layout/page-nav'; 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() { export async function generateStaticParams() {
return PRODUCTS.map((product) => ({ return PRODUCTS.map((product) => ({
@@ -39,7 +39,19 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<div className="container-wide"> <div className="container-wide">
<PageNav items={[{ label: '产品', href: '/products' }, { label: product.title }]} /> <PageNav items={[{ label: '产品', href: '/products' }, { label: product.title }]} />
<div className="max-w-4xl mt-8"> <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"> <h1 className="text-4xl md:text-5xl font-bold text-[#1C1C1C] mb-6 tracking-tight">
{product.title} {product.title}
</h1> </h1>
@@ -62,7 +74,7 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<section> <section>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3"> <h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3">
<Zap className="w-6 h-6 text-[#C41E3A]" /> <Zap className="w-6 h-6 text-[#C41E3A]" />
</h2> </h2>
<div className="grid md:grid-cols-2 gap-4"> <div className="grid md:grid-cols-2 gap-4">
{product.features.map((feature, index) => ( {product.features.map((feature, index) => (
@@ -97,7 +109,7 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
<section> <section>
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3"> <h2 className="text-2xl font-bold text-[#1C1C1C] mb-6 flex items-center gap-3">
<Layers className="w-6 h-6 text-[#C41E3A]" /> <Layers className="w-6 h-6 text-[#C41E3A]" />
</h2> </h2>
<div className="space-y-4"> <div className="space-y-4">
{product.process.map((step, index) => ( {product.process.map((step, index) => (
@@ -126,47 +138,38 @@ export default async function ProductDetailPage({ params }: { params: Promise<{
</div> </div>
</section> </section>
<section> <section className="bg-[#FEF2F4] rounded-2xl p-8 md:p-10">
<h2 className="text-2xl font-bold text-[#1C1C1C] mb-6"></h2> <div className="flex items-start gap-4">
<div className="grid md:grid-cols-3 gap-6"> <div className="w-12 h-12 bg-[#C41E3A] rounded-xl flex items-center justify-center shrink-0">
<div className="p-6 bg-[#F5F5F5] rounded-xl border-2 border-transparent hover:border-[#C41E3A]/30 transition-colors"> <FlaskConical className="w-6 h-6 text-white" />
<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>
</div> </div>
<div className="p-6 bg-[#C41E3A] rounded-xl text-white relative overflow-hidden"> <div>
<div className="absolute top-4 right-4 bg-white/20 px-3 py-1 rounded-full text-xs"></div> <h2 className="text-2xl font-bold text-[#1C1C1C] mb-3"></h2>
<h3 className="text-lg font-semibold mb-2"></h3> <p className="text-[#595959] leading-relaxed mb-6">
<p className="text-2xl font-bold mb-4">{product.pricing.standard}</p>
<ul className="space-y-2 text-sm"> </p>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li> <div className="flex flex-wrap gap-3">
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li> <Button size="lg" className="bg-[#C41E3A] hover:bg-[#A01830] text-white" asChild>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4" /></li> <StaticLink href="/contact">
</ul>
</div> <ArrowRight className="ml-2 w-4 h-4" />
<div className="p-6 bg-[#F5F5F5] rounded-xl border-2 border-transparent hover:border-[#C41E3A]/30 transition-colors"> </StaticLink>
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-2"></h3> </Button>
<p className="text-2xl font-bold text-[#C41E3A] mb-4">{product.pricing.enterprise}</p> <Button variant="outline" size="lg" asChild>
<ul className="space-y-2 text-sm text-[#595959]"> <StaticLink href="/contact"></StaticLink>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li> </Button>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li> </div>
<li className="flex items-center gap-2"><CheckCircle2 className="w-4 h-4 text-[#C41E3A]" /></li>
</ul>
</div> </div>
</div> </div>
</section> </section>
<div className="flex justify-center gap-4 pt-8 border-t border-[#E5E5E5]"> <div className="flex justify-center gap-4 pt-8 border-t border-[#E5E5E5]">
<Button variant="outline" size="lg" asChild> <Button variant="outline" size="lg" asChild>
<StaticLink href="/contact"></StaticLink> <StaticLink href="/contact"></StaticLink>
</Button> </Button>
<Button size="lg" className="bg-[#C41E3A] hover:bg-[#A01830] text-white" asChild> <Button size="lg" className="bg-[#C41E3A] hover:bg-[#A01830] text-white" asChild>
<StaticLink href="/contact"> <StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" /> <ArrowRight className="ml-2 w-4 h-4" />
</StaticLink> </StaticLink>
</Button> </Button>
+5 -4
View File
@@ -25,7 +25,7 @@ export default function ProductsPage() {
</h1> </h1>
<p className="text-lg text-[#595959] leading-relaxed"> <p className="text-lg text-[#595959] leading-relaxed">
</p> </p>
</motion.div> </motion.div>
</div> </div>
@@ -41,6 +41,7 @@ export default function ProductsPage() {
description={product.description} description={product.description}
href={`/products/${product.id}`} href={`/products/${product.id}`}
index={index} index={index}
status={product.status}
/> />
))} ))}
</div> </div>
@@ -50,10 +51,10 @@ export default function ProductsPage() {
<section className="bg-[#F5F5F5] py-20"> <section className="bg-[#F5F5F5] py-20">
<div className="container-wide text-center"> <div className="container-wide text-center">
<h2 className="text-3xl font-bold text-[#1C1C1C] mb-6"> <h2 className="text-3xl font-bold text-[#1C1C1C] mb-6">
</h2> </h2>
<p className="text-lg text-[#595959] mb-8 max-w-2xl mx-auto"> <p className="text-lg text-[#595959] mb-8 max-w-2xl mx-auto">
</p> </p>
<Button <Button
size="lg" size="lg"
@@ -61,7 +62,7 @@ export default function ProductsPage() {
asChild asChild
> >
<StaticLink href="/contact"> <StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" /> <ArrowRight className="ml-2 w-4 h-4" />
</StaticLink> </StaticLink>
</Button> </Button>
+17 -3
View File
@@ -103,9 +103,23 @@ export function SolutionDetailClient({ solution, relatedProducts }: SolutionDeta
href={`/products/${product.id}`} 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" 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"> <div className="flex items-center gap-2 mb-2">
{product.title} <h3 className="text-lg font-semibold text-[#1C1C1C] group-hover:text-[#C41E3A] transition-colors">
</h3> {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"> <p className="text-sm text-[#595959] leading-relaxed">
{product.description} {product.description}
</p> </p>
+2 -2
View File
@@ -39,9 +39,9 @@ const modules = [
{ {
icon: Users, icon: Users,
title: '长期陪跑服务 · 同行伙伴', title: '长期陪跑服务 · 同行伙伴',
subtitle: '交付只是开始,陪伴才是常态', subtitle: '从需求理解到产品落地,陪伴才是常态',
paragraphs: [ paragraphs: [
'项目上线那天,是我们真正成为伙伴的开始。', '当产品真正为您所用那天,是我们成为伙伴的开始。',
'我们建立长效服务机制,定期回访、持续优化、随时响应。', '我们建立长效服务机制,定期回访、持续优化、随时响应。',
'在您需要的时候,我们始终在场。', '在您需要的时候,我们始终在场。',
], ],
+1 -1
View File
@@ -60,7 +60,7 @@ export const metadata: Metadata = {
template: "%s | 四川睿新致远科技有限公司", template: "%s | 四川睿新致远科技有限公司",
}, },
description: "四川睿新致远科技有限公司成立于2026年,专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案。", description: "四川睿新致远科技有限公司成立于2026年,专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案。",
keywords: ["数字化转型", "企业软件", "ERP系统", "CRM系统", "云计算", "数据分析", "软件开发", "成都科技公司", "金融科技", "诺瓦隆"], keywords: ["数字化转型", "企业软件", "ERP系统", "CRM系统", "云计算", "数据分析", "软件开发", "成都科技公司", "金融科技", "睿新致远"],
authors: [{ name: "四川睿新致远科技有限公司" }], authors: [{ name: "四川睿新致远科技有限公司" }],
creator: "四川睿新致远科技有限公司", creator: "四川睿新致远科技有限公司",
publisher: "四川睿新致远科技有限公司", publisher: "四川睿新致远科技有限公司",
+2 -2
View File
@@ -10,7 +10,7 @@ const VALUES = [
{ {
icon: Target, icon: Target,
title: '务实', title: '务实',
description: '不画大饼,只做能落地的方案。每个建议都经过实践验证,每个承诺都有交付支撑。', description: '不画大饼,只做能落地的方案。每个建议都经过深思熟虑,每个方向都经得起推敲。',
}, },
{ {
icon: Heart, icon: Heart,
@@ -44,7 +44,7 @@ export function AboutSection() {
className="text-center max-w-3xl mx-auto mb-14" className="text-center max-w-3xl mx-auto mb-14"
> >
<h2 id="about-heading" className="text-3xl sm:text-4xl font-semibold text-[#1C1C1C] mb-4"> <h2 id="about-heading" className="text-3xl sm:text-4xl font-semibold text-[#1C1C1C] mb-4">
<span className="text-[#C41E3A] font-calligraphy"></span> <span className="text-[#C41E3A] font-calligraphy"></span>
</h2> </h2>
<p className="text-base text-[#595959]"> <p className="text-base text-[#595959]">
@@ -27,7 +27,7 @@ const SOLUTIONS_OVERVIEW = [
icon: Users, icon: Users,
title: '同行伙伴', title: '同行伙伴',
subtitle: '长期陪跑服务', subtitle: '长期陪跑服务',
description: '交付只是开始,陪伴才是常态。项目上线那天,是我们真正成为伙伴的开始。', description: '从需求理解到产品落地,陪伴才是常态。当产品真正为您所用那天,是我们成为伙伴的开始。',
points: ['专属客户成功经理', '季度业务复盘', '7×24小时响应'], points: ['专属客户成功经理', '季度业务复盘', '7×24小时响应'],
}, },
]; ];
@@ -45,7 +45,7 @@ export function ProductMatrixSection() {
<span className="text-[#C41E3A] font-calligraphy"></span> <span className="text-[#C41E3A] font-calligraphy"></span>
</h2> </h2>
<p className="text-base text-[#595959]"> <p className="text-base text-[#595959]">
</p> </p>
</motion.div> </motion.div>
@@ -57,6 +57,7 @@ export function ProductMatrixSection() {
description={product.description} description={product.description}
href={`/products/${product.id}`} href={`/products/${product.id}`}
index={index} index={index}
status={product.status}
/> />
))} ))}
</div> </div>
+7 -7
View File
@@ -26,10 +26,10 @@ export function ProductsSection() {
className="text-center max-w-3xl mx-auto mb-16" className="text-center max-w-3xl mx-auto mb-16"
> >
<h2 id="products-heading" className="text-4xl md:text-5xl font-bold text-[#1C1C1C] mb-6"> <h2 id="products-heading" className="text-4xl md:text-5xl font-bold text-[#1C1C1C] mb-6">
<span className="text-[#C41E3A] font-calligraphy"></span> <span className="text-[#C41E3A] font-calligraphy"></span>
</h2> </h2>
<p className="text-lg text-[#5C5C5C]"> <p className="text-lg text-[#5C5C5C]">
</p> </p>
</motion.div> </motion.div>
@@ -56,7 +56,7 @@ export function ProductsSection() {
</CardDescription> </CardDescription>
<div className="mb-4"> <div className="mb-4">
<p className="text-sm font-medium text-[#1C1C1C] mb-2"></p> <p className="text-sm font-medium text-[#1C1C1C] mb-2"></p>
<div className="flex flex-wrap gap-1.5"> <div className="flex flex-wrap gap-1.5">
{product.features.slice(0, 4).map((feature, idx) => ( {product.features.slice(0, 4).map((feature, idx) => (
<span <span
@@ -86,7 +86,7 @@ export function ProductsSection() {
</div> </div>
<Button variant="outline" className="w-full mt-auto group-hover:bg-[#A01830] group-hover:text-white group-hover:border-[#A01830] transition-colors"> <Button variant="outline" className="w-full mt-auto group-hover:bg-[#A01830] group-hover:text-white group-hover:border-[#A01830] transition-colors">
<ArrowRight className="ml-2 w-4 h-4" /> <ArrowRight className="ml-2 w-4 h-4" />
</Button> </Button>
</CardContent> </CardContent>
@@ -114,17 +114,17 @@ export function ProductsSection() {
</div> </div>
<div className="relative z-10"> <div className="relative z-10">
<h3 className="text-2xl sm:text-3xl font-bold text-[#1A1A2E] mb-4"> <h3 className="text-2xl sm:text-3xl font-bold text-[#1A1A2E] mb-4">
</h3> </h3>
<p className="text-[#718096] mb-8 max-w-2xl mx-auto"> <p className="text-[#718096] mb-8 max-w-2xl mx-auto">
</p> </p>
<Button <Button
size="lg" size="lg"
asChild asChild
> >
<StaticLink href="/contact"> <StaticLink href="/contact">
<ArrowRight className="ml-2 w-4 h-4" /> <ArrowRight className="ml-2 w-4 h-4" />
</StaticLink> </StaticLink>
</Button> </Button>
@@ -6,9 +6,9 @@ import { useRef } from 'react';
import { Building2, Users, Award, TrendingUp } from 'lucide-react'; import { Building2, Users, Award, TrendingUp } from 'lucide-react';
const STATS = [ const STATS = [
{ icon: Building2, value: '10+', label: '服务企业' }, { icon: Building2, value: '6', label: '研发产品' },
{ icon: Users, value: '10+', label: '团队成员' }, { icon: Users, value: '10+', label: '团队成员' },
{ icon: Award, value: '6', label: '自研产品' }, { icon: Award, value: '5+', label: '行业覆盖' },
{ icon: TrendingUp, value: '12+', label: '年核心团队经验' }, { icon: TrendingUp, value: '12+', label: '年核心团队经验' },
]; ];
@@ -29,7 +29,7 @@ export function SocialProofSection() {
<span className="text-[#C41E3A] font-calligraphy"></span> <span className="text-[#C41E3A] font-calligraphy"></span>
</h2> </h2>
<p className="text-base text-[#595959]"> <p className="text-base text-[#595959]">
</p> </p>
</motion.div> </motion.div>
+14 -14
View File
@@ -6,22 +6,22 @@ import { TestimonialBlock } from '@/components/ui/testimonial-block';
const TESTIMONIALS = [ const TESTIMONIALS = [
{ {
quote: '诺瓦隆的ERP系统帮助我们实现了财务与业务的深度一体化,运营效率提升了35%,数据决策更加精准。', quote: '我们相信,好的企业管理软件应该像水一样自然——融入业务流程,而不是让业务流程去适应软件。',
author: '张总', author: '产品理念',
title: 'CIO', title: '产品设计原则',
company: '某制造集团', company: '睿新致远',
}, },
{ {
quote: 'CRM系统让我们的销售团队从繁杂的手工跟进中解放出来,客户转化率提升了28%,团队协作更高效。', quote: '数据不应被锁在孤岛里。打通信息壁垒,让每一个决策都有数据支撑,这是我们打造BI平台的初心。',
author: '李总', author: '技术愿景',
title: '销售总监', title: '技术方向',
company: '某零售企业', company: '睿新致远',
}, },
{ {
quote: 'BI平台让我们第一次真正实现了数据驱动决策,管理层可以随时掌握业务全貌,决策速度提升了60%。', quote: '我们不做"做完就跑"的供应商。从需求理解到产品打磨,我们希望成为企业数字化转型路上真正的同行者。',
author: '王总', author: '服务承诺',
title: 'VP of Data', title: '核心价值观',
company: '某教育集团', company: '睿新致远',
}, },
]; ];
@@ -60,10 +60,10 @@ export function TestimonialSection() {
className="text-center max-w-3xl mx-auto mb-14" className="text-center max-w-3xl mx-auto mb-14"
> >
<h2 className="text-3xl sm:text-4xl font-semibold text-[#1C1C1C] mb-4"> <h2 className="text-3xl sm:text-4xl font-semibold text-[#1C1C1C] mb-4">
<span className="text-[#C41E3A] font-calligraphy"></span> <span className="text-[#C41E3A] font-calligraphy"></span>
</h2> </h2>
<p className="text-base text-[#595959]"> <p className="text-base text-[#595959]">
</p> </p>
</motion.div> </motion.div>
+1 -1
View File
@@ -5,7 +5,7 @@ export function OrganizationSchema() {
"@context": "https://schema.org", "@context": "https://schema.org",
"@type": "Organization", "@type": "Organization",
"name": COMPANY_INFO.name, "name": COMPANY_INFO.name,
"alternateName": "诺瓦隆", "alternateName": "睿新致远",
"url": "https://www.novalon.cn", "url": "https://www.novalon.cn",
"logo": "https://www.novalon.cn/logo.svg", "logo": "https://www.novalon.cn/logo.svg",
"description": "专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案", "description": "专注于企业数字化转型服务,提供软件开发、云计算、数据分析、信息安全等一站式解决方案",
+14 -14
View File
@@ -1,6 +1,6 @@
'use client'; 'use client';
import { useState, useEffect } from 'react'; import { useReducer } from 'react';
import { motion, AnimatePresence } from 'framer-motion'; import { motion, AnimatePresence } from 'framer-motion';
interface FlipCardProps { interface FlipCardProps {
@@ -84,24 +84,24 @@ function FlipDigit({ digit, prevDigit }: FlipDigitProps) {
} }
function FlipCard({ value, label, maxDigits = 2 }: FlipCardProps) { function FlipCard({ value, label, maxDigits = 2 }: FlipCardProps) {
const [prevValue, setPrevValue] = useState(value); const [state, dispatch] = useReducer(
const [currentValue, setCurrentValue] = useState(value); (prev: { current: number; previous: number }, next: number) => {
if (next === prev.current) {
return prev;
}
return { current: next, previous: prev.current };
},
{ current: value, previous: value }
);
dispatch(value);
useEffect(() => {
if (value !== currentValue) {
setPrevValue(currentValue);
setCurrentValue(value);
}
}, [value]);
// 将数字转换为数组,每个数字一位
const formatNumber = (num: number) => { const formatNumber = (num: number) => {
const str = num.toString().padStart(maxDigits, '0'); const str = num.toString().padStart(maxDigits, '0');
return str.split('').map(c => parseInt(c)); return str.split('').map(c => parseInt(c));
}; };
const currentDigits = formatNumber(currentValue); const currentDigits = formatNumber(state.current);
const prevDigits = formatNumber(prevValue); const prevDigits = formatNumber(state.previous);
return ( return (
<div className="flex flex-col items-center"> <div className="flex flex-col items-center">
@@ -142,7 +142,7 @@ export function FlipClock({ years, months, days }: FlipClockProps) {
</div> </div>
<p className="text-[#5C5C5C] leading-relaxed font-medium"> <p className="text-[#5C5C5C] leading-relaxed font-medium">
</p> </p>
</div> </div>
); );
+27 -5
View File
@@ -9,6 +9,7 @@ interface ProductCardProps {
description: string; description: string;
href: string; href: string;
index: number; index: number;
status?: '研发中' | '内测中' | '已发布';
} }
interface ProductStyleConfig { interface ProductStyleConfig {
@@ -32,9 +33,16 @@ const defaultConfig: ProductStyleConfig = {
icon: Database, accentColor: '#C41E3A', accentColorRgb: '196, 30, 58', glowStart: '#C41E3A', glowEnd: '#D97706', icon: Database, accentColor: '#C41E3A', accentColorRgb: '196, 30, 58', glowStart: '#C41E3A', glowEnd: '#D97706',
}; };
export function ProductCard({ title, description, href, index }: ProductCardProps) { const statusConfig = {
'研发中': { bg: 'rgba(196, 30, 58, 0.08)', text: '#C41E3A', border: 'rgba(196, 30, 58, 0.15)' },
'内测中': { bg: 'rgba(217, 119, 6, 0.08)', text: '#D97706', border: 'rgba(217, 119, 6, 0.15)' },
'已发布': { bg: 'rgba(22, 163, 74, 0.08)', text: '#16A34A', border: 'rgba(22, 163, 74, 0.15)' },
} as const;
export function ProductCard({ title, description, href, index, status }: ProductCardProps) {
const config = productConfig[index] ?? defaultConfig; const config = productConfig[index] ?? defaultConfig;
const IconComponent = config.icon; const IconComponent = config.icon;
const statusStyle = status ? statusConfig[status] : null;
return ( return (
<InkGlowCard <InkGlowCard
@@ -56,9 +64,23 @@ export function ProductCard({ title, description, href, index }: ProductCardProp
strokeWidth={1.8} strokeWidth={1.8}
/> />
</div> </div>
<span className="text-xs font-mono tracking-widest text-[#A3A3A3]"> <div className="flex items-center gap-2">
{String(index + 1).padStart(2, '0')} {status && statusStyle && (
</span> <span
className="text-[10px] font-medium px-2 py-0.5 rounded-full border"
style={{
backgroundColor: statusStyle.bg,
color: statusStyle.text,
borderColor: statusStyle.border,
}}
>
{status}
</span>
)}
<span className="text-xs font-mono tracking-widest text-[#A3A3A3]">
{String(index + 1).padStart(2, '0')}
</span>
</div>
</div> </div>
<h3 className="text-lg font-semibold mb-2 leading-snug tracking-tight text-[#1C1C1C]"> <h3 className="text-lg font-semibold mb-2 leading-snug tracking-tight text-[#1C1C1C]">
@@ -70,7 +92,7 @@ export function ProductCard({ title, description, href, index }: ProductCardProp
</p> </p>
<div className="flex items-center gap-1.5 text-sm font-medium text-[#A3A3A3] group-hover:text-[#C41E3A] transition-colors"> <div className="flex items-center gap-1.5 text-sm font-medium text-[#A3A3A3] group-hover:text-[#C41E3A] transition-colors">
<span></span> <span></span>
<ArrowUpRight className="w-4 h-4" strokeWidth={2} /> <ArrowUpRight className="w-4 h-4" strokeWidth={2} />
</div> </div>
</div> </div>
+7 -7
View File
@@ -1,4 +1,4 @@
export type NewsCategory = '公司新闻' | '产品发布'; export type NewsCategory = '公司新闻' | '研发动态';
export interface NewsItem { export interface NewsItem {
id: string; id: string;
@@ -28,14 +28,14 @@ export const NEWS: NewsItem[] = [
}, },
{ {
id: 'digital-transformation-solution', id: 'digital-transformation-solution',
title: '公司推出企业数字化转型解决方案', title: '公司启动企业数字化转型解决方案研发',
excerpt: '针对中小企业数字化转型需求,公司推出一站式数字化转型解决方案,帮助企业快速实现数字化升级。', excerpt: '针对中小企业数字化转型需求,公司正在研发一站式数字化转型解决方案,助力企业实现数字化升级。',
date: '2026-02-20', date: '2026-02-20',
category: '产品发布', category: '研发动态',
image: '/images/news/solution.png', image: '/images/news/solution.png',
content: `近日,四川睿新致远科技有限公司正式推出企业数字化转型解决方案,该方案整合云计算、大数据、人工智能等前沿技术,为中小企业提供一站式的数字化升级服务。 content: `近日,四川睿新致远科技有限公司正式启动企业数字化转型解决方案的研发工作,该方案整合云计算、大数据、人工智能等前沿技术,为中小企业提供一站式的数字化升级服务。
该解决方案包括: 该解决方案规划包括:
1. 数字化诊断:全面评估企业数字化现状,识别转型痛点 1. 数字化诊断:全面评估企业数字化现状,识别转型痛点
2. 方案设计:根据企业实际情况,量身定制数字化转型方案 2. 方案设计:根据企业实际情况,量身定制数字化转型方案
3. 系统实施:专业团队负责系统部署和数据迁移 3. 系统实施:专业团队负责系统部署和数据迁移
@@ -43,6 +43,6 @@ export const NEWS: NewsItem[] = [
公司技术总监表示:"我们的目标是让每一家企业都能享受到数字化带来的便利,无论企业规模大小,都能找到适合自己的数字化转型路径。" 公司技术总监表示:"我们的目标是让每一家企业都能享受到数字化带来的便利,无论企业规模大小,都能找到适合自己的数字化转型路径。"
目前,该解决方案已在部分行业试点落地,客户反馈积极`, 目前,该解决方案正在积极研发中,我们诚邀有意向的企业参与早期体验计划,您的反馈将帮助我们打造更贴合需求的产品`,
}, },
] as const; ] as const;
+97 -125
View File
@@ -4,38 +4,35 @@ export interface Product {
description: string; description: string;
image: string; image: string;
category: string; category: string;
status: '研发中' | '内测中' | '已发布';
overview: string; overview: string;
features: string[]; features: string[];
benefits: string[]; benefits: string[];
process: string[]; process: string[];
specs: string[]; specs: string[];
pricing: {
base: string;
standard: string;
enterprise: string;
};
} }
export const PRODUCTS: Product[] = [ export const PRODUCTS: Product[] = [
{ {
id: 'erp', id: 'erp',
title: '睿新ERP管理系统', title: '睿新ERP管理系统',
description: '集成财务、采购、销售、库存、生产等模块的企业资源计划系统,助企业实现业务流程标准化、数据一体化管理。', description: '集成财务、采购、销售、库存、生产等模块的企业资源计划系统,助企业实现业务流程标准化、数据一体化管理。',
image: '/images/products/erp.jpg', image: '/images/products/erp.jpg',
category: '企业软件', category: '企业软件',
overview: '睿新ERP管理系统是一款专为中小企业打造的企业资源计划系统,集成了财务管理、采购管理、销售管理、库存管理、生产管理等核心模块,帮助企业实现业务流程标准化、数据一体化管理,提升运营效率。', status: '研发中',
overview: '睿新ERP管理系统是我们正在打造的企业资源计划系统,规划集成财务管理、采购管理、销售管理、库存管理、生产管理等核心模块,旨在帮助企业实现业务流程标准化、数据一体化管理,提升运营效率。',
features: [ features: [
'财务管理:支持总账、应收应付、成本核算、固定资产管理', '财务管理:规划支持总账、应收应付、成本核算、固定资产管理',
'采购管理:供应商管理、采购订单、入库验收、采购分析', '采购管理:规划供应商管理、采购订单、入库验收、采购分析',
'销售管理:客户管理、销售订单、发货管理、销售分析', '销售管理:规划客户管理、销售订单、发货管理、销售分析',
'库存管理:库存查询、出入库管理、库存预警、盘点管理', '库存管理:规划库存查询、出入库管理、库存预警、盘点管理',
'生产管理:生产计划、物料需求、生产订单、成本核算', '生产管理:规划生产计划、物料需求、生产订单、成本核算',
'报表分析:丰富的报表模板,支持自定义报表', '报表分析:规划丰富的报表模板,支持自定义报表',
], ],
benefits: [ benefits: [
'数据完全自主可控,满足安全合规要求', '数据完全自主可控,满足安全合规要求',
'支持本地/私有云/混合云多种部署方式', '规划支持本地/私有云/混合云多种部署方式',
'提升运营效率30%,减少人工操作', '致力于提升企业运营效率,减少人工操作',
'灵活订阅按需付费,无隐性收费,成本可控', '灵活订阅按需付费,无隐性收费,成本可控',
], ],
process: [ process: [
@@ -47,18 +44,13 @@ export const PRODUCTS: Product[] = [
'培训交付:用户培训与正式交付上线', '培训交付:用户培训与正式交付上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云、混合云部署', '规划支持本地服务器、私有云、混合云部署',
'支持多组织、多账套管理', '规划支持多组织、多账套管理',
'支持信创环境(国产操作系统/数据库)', '规划支持信创环境(国产操作系统/数据库)',
'支持API接口集成,对接现有系统', '规划支持API接口集成,对接现有系统',
'支持移动端访问(APP/微信/钉钉)', '规划支持移动端访问(APP/微信/钉钉)',
'支持数据加密存储与传输', '规划支持数据加密存储与传输',
], ],
pricing: {
base: '基础版:¥19,800/年',
standard: '标准版:¥39,800/年',
enterprise: '企业版:¥79,800/年',
},
}, },
{ {
id: 'crm', id: 'crm',
@@ -66,19 +58,20 @@ export const PRODUCTS: Product[] = [
description: '全渠道客户管理平台,整合客户信息、跟进销售机会、提升客户满意度和忠诚度,助力企业业绩增长。', description: '全渠道客户管理平台,整合客户信息、跟进销售机会、提升客户满意度和忠诚度,助力企业业绩增长。',
image: '/images/products/crm.jpg', image: '/images/products/crm.jpg',
category: '企业软件', category: '企业软件',
overview: '睿新客户关系管理系统是一款全渠道客户管理平台,整合客户信息、跟进销售机会、提升客户满意度和忠诚度,助力企业业绩增长。系统支持多渠道客户数据整合,提供全面的客户画像和销售漏斗分析。', status: '研发中',
overview: '睿新客户关系管理系统是我们正在打造的全渠道客户管理平台,规划整合客户信息、跟进销售机会、提升客户满意度和忠诚度,助力企业业绩增长。系统规划支持多渠道客户数据整合,提供全面的客户画像和销售漏斗分析。',
features: [ features: [
'客户档案:完整的客户信息管理,支持自定义字段', '客户档案:规划完整的客户信息管理,支持自定义字段',
'销售漏斗:可视化的销售机会管理,实时跟进销售进度', '销售漏斗:规划可视化的销售机会管理,实时跟进销售进度',
'商机管理:商机创建、跟进、转化全流程管理', '商机管理:规划商机创建、跟进、转化全流程管理',
'合同管理:合同创建、审批、执行、归档全流程', '合同管理:规划合同创建、审批、执行、归档全流程',
'售后服务:工单管理、服务记录、客户满意度调查', '售后服务:规划工单管理、服务记录、客户满意度调查',
'数据分析:客户分析、销售分析、业绩报表', '数据分析:规划客户分析、销售分析、业绩报表',
], ],
benefits: [ benefits: [
'客户数据私有化存储,保障商业机密', '客户数据私有化存储,保障商业机密',
'支持与企业现有系统深度集成', '规划支持与企业现有系统深度集成',
'销售转化率提升25%,提高销售效率', '致力于提升销售转化率,提高销售效率',
'灵活定制销售流程,适配业务变化', '灵活定制销售流程,适配业务变化',
], ],
process: [ process: [
@@ -90,18 +83,13 @@ export const PRODUCTS: Product[] = [
'培训交付:销售团队培训与系统上线', '培训交付:销售团队培训与系统上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云部署', '规划支持本地服务器、私有云部署',
'支持多渠道客户数据整合', '规划支持多渠道客户数据整合',
'支持信创环境适配', '规划支持信创环境适配',
'支持API接口,对接ERP/OA等系统', '规划支持API接口,对接ERP/OA等系统',
'支持移动端访问', '规划支持移动端访问',
'支持数据加密与权限隔离', '规划支持数据加密与权限隔离',
], ],
pricing: {
base: '基础版:¥9,800/年',
standard: '标准版:¥19,800/年',
enterprise: '企业版:¥39,800/年',
},
}, },
{ {
id: 'cms', id: 'cms',
@@ -109,19 +97,20 @@ export const PRODUCTS: Product[] = [
description: '灵活易用的企业级内容管理平台,支持多站点管理、内容发布、权限控制,助力企业高效管理各类数字内容。', description: '灵活易用的企业级内容管理平台,支持多站点管理、内容发布、权限控制,助力企业高效管理各类数字内容。',
image: '/images/products/cms.jpg', image: '/images/products/cms.jpg',
category: '企业软件', category: '企业软件',
overview: '睿新内容管理系统是一款灵活易用的企业级内容管理平台,支持多站点管理、内容发布、权限控制,助力企业高效管理各类数字内容。系统提供强大的内容编辑功能和灵活的权限管理机制。', status: '研发中',
overview: '睿新内容管理系统是我们正在打造的企业级内容管理平台,规划支持多站点管理、内容发布、权限控制,助力企业高效管理各类数字内容。系统规划提供强大的内容编辑功能和灵活的权限管理机制。',
features: [ features: [
'内容编辑:所见即所得的富文本编辑器,支持多媒体内容', '内容编辑:规划所见即所得的富文本编辑器,支持多媒体内容',
'多站点管理:支持管理多个站点,统一内容管理', '多站点管理:规划支持管理多个站点,统一内容管理',
'权限控制:细粒度的权限管理,支持角色和用户权限', '权限控制:规划细粒度的权限管理,支持角色和用户权限',
'版本管理:内容版本控制,支持版本对比和回滚', '版本管理:规划内容版本控制,支持版本对比和回滚',
'内容发布:定时发布、工作流审批、多渠道分发', '内容发布:规划定时发布、工作流审批、多渠道分发',
'SEO优化:内置SEO工具,优化搜索引擎排名', 'SEO优化:规划内置SEO工具,优化搜索引擎排名',
], ],
benefits: [ benefits: [
'内容数据自主管理,支持等保合规', '内容数据自主管理,支持等保合规',
'支持私有化部署,内外网隔离访问', '规划支持私有化部署,内外网隔离访问',
'内容发布效率提升50%,加快内容更新', '致力于提升内容发布效率,加快内容更新',
'灵活的权限体系,满足多部门协作', '灵活的权限体系,满足多部门协作',
], ],
process: [ process: [
@@ -133,18 +122,13 @@ export const PRODUCTS: Product[] = [
'培训交付:内容团队培训与系统上线', '培训交付:内容团队培训与系统上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云部署', '规划支持本地服务器、私有云部署',
'支持多站点统一管理', '规划支持多站点统一管理',
'支持信创环境适配', '规划支持信创环境适配',
'支持API接口集成', '规划支持API接口集成',
'支持自定义模板与组件', '规划支持自定义模板与组件',
'支持等保二级/三级安全要求', '规划支持等保二级/三级安全要求',
], ],
pricing: {
base: '基础版:¥4,800/年',
standard: '标准版:¥9,800/年',
enterprise: '企业版:¥19,800/年',
},
}, },
{ {
id: 'bi', id: 'bi',
@@ -152,19 +136,20 @@ export const PRODUCTS: Product[] = [
description: '数据可视化分析平台,整合多源数据,提供丰富的图表和报表,助力企业数据驱动决策,发现业务增长机会。', description: '数据可视化分析平台,整合多源数据,提供丰富的图表和报表,助力企业数据驱动决策,发现业务增长机会。',
image: '/images/products/bi.jpg', image: '/images/products/bi.jpg',
category: '数据产品', category: '数据产品',
overview: '睿新商业智能平台是一款数据可视化分析平台,整合多源数据,提供丰富的图表和报表,助力企业数据驱动决策,发现业务增长机会。平台支持自助式数据分析和实时数据监控。', status: '研发中',
overview: '睿新商业智能平台是我们正在打造的数据可视化分析平台,规划整合多源数据,提供丰富的图表和报表,助力企业数据驱动决策,发现业务增长机会。平台规划支持自助式数据分析和实时数据监控。',
features: [ features: [
'数据整合:支持多种数据源,统一数据平台', '数据整合:规划支持多种数据源,统一数据平台',
'可视化报表:丰富的图表类型,支持自定义报表', '可视化报表:规划丰富的图表类型,支持自定义报表',
'自助分析:拖拽式数据分析,降低使用门槛', '自助分析:规划拖拽式数据分析,降低使用门槛',
'实时监控:实时数据监控和智能预警', '实时监控:规划实时数据监控和智能预警',
'智能预警:基于规则的智能预警,及时发现异常', '智能预警:规划基于规则的智能预警,及时发现异常',
'移动看板:支持移动端访问,随时随地查看数据', '移动看板:规划支持移动端访问,随时随地查看数据',
], ],
benefits: [ benefits: [
'分析能力私有化部署,数据不出企业', '分析能力私有化部署,数据不出企业',
'支持对接内部数据源,无需数据上云', '规划支持对接内部数据源,无需数据上云',
'决策效率提升60%,加快决策速度', '致力于提升决策效率,加快决策速度',
'自助式分析,降低数据使用门槛', '自助式分析,降低数据使用门槛',
], ],
process: [ process: [
@@ -176,18 +161,13 @@ export const PRODUCTS: Product[] = [
'培训交付:数据分析培训与系统上线', '培训交付:数据分析培训与系统上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云部署', '规划支持本地服务器、私有云部署',
'支持多种数据源(数据库/文件/API)', '规划支持多种数据源(数据库/文件/API)',
'支持信创环境适配', '规划支持信创环境适配',
'支持实时与离线数据分析', '规划支持实时与离线数据分析',
'支持API接口集成', '规划支持API接口集成',
'支持数据加密与访问审计', '规划支持数据加密与访问审计',
], ],
pricing: {
base: '基础版:¥14,800/年',
standard: '标准版:¥29,800/年',
enterprise: '企业版:¥59,800/年',
},
}, },
{ {
id: 'sds', id: 'sds',
@@ -195,17 +175,18 @@ export const PRODUCTS: Product[] = [
description: '智能供应链管理平台,自动预测销量、优化库存、生成补货建议,帮助企业减少库存积压和缺货损失,让每一分钱都花在刀刃上。', description: '智能供应链管理平台,自动预测销量、优化库存、生成补货建议,帮助企业减少库存积压和缺货损失,让每一分钱都花在刀刃上。',
image: '/images/products/sds.jpg', image: '/images/products/sds.jpg',
category: '数据产品', category: '数据产品',
overview: '睿新供应链决策支持系统是一款智能供应链管理平台,自动预测销量、优化库存、生成补货建议,帮助企业减少库存积压和缺货损失,让每一分钱都花在刀刃上。系统采用智能算法,实现从经验驱动到数据驱动的供应链管理升级。', status: '研发中',
overview: '睿新供应链决策支持系统是我们正在打造的智能供应链管理平台,规划实现自动预测销量、优化库存、生成补货建议,帮助企业减少库存积压和缺货损失,让每一分钱都花在刀刃上。系统规划采用智能算法,实现从经验驱动到数据驱动的供应链管理升级。',
features: [ features: [
'智能销量预测:自动分析历史销售趋势、季节规律和促销影响,告诉您下个月每个商品大概能卖多少', '智能销量预测:规划自动分析历史销售趋势、季节规律和促销影响,预测每个商品销量',
'库存健康诊断:自动识别哪些商品库存过多(积压资金)、哪些商品即将缺货(错失销售),一目了然', '库存健康诊断:规划自动识别库存过多(积压资金)即将缺货(错失销售)的商品',
'精准补货建议:系统自动算好"什么时候补、补多少",按紧急程度排好优先级,确认即可执行', '精准补货建议:规划系统自动计算补货时机和数量,按紧急程度排好优先级',
'原因追溯分析:预测不准时,系统会告诉您"为什么"——是促销拉高了销量,还是淡季导致下滑', '原因追溯分析:规划提供预测偏差原因分析,帮助理解销量波动因素',
'供应商协同:与供应商系统对接,实现采购订单自动推送和交期跟踪', '供应商协同:规划与供应商系统对接,实现采购订单自动推送和交期跟踪',
'数据看板:实时展示库存周转率、缺货率、积压金额等关键指标', '数据看板:规划实时展示库存周转率、缺货率、积压金额等关键指标',
], ],
benefits: [ benefits: [
'库存成本平均降低10%以上,缺货率降低15%以上,直接转化为真金白银的利润', '致力于降低库存成本和缺货率,直接转化为利润提升',
'无需专业数据团队,采购员、库管员等日常操作人员即可独立使用', '无需专业数据团队,采购员、库管员等日常操作人员即可独立使用',
'简单三步完成核心操作,系统全程引导,零基础也能快速上手', '简单三步完成核心操作,系统全程引导,零基础也能快速上手',
'投入产出清晰可算,仪表盘实时展示节省了多少钱、挽回了多少销售', '投入产出清晰可算,仪表盘实时展示节省了多少钱、挽回了多少销售',
@@ -219,18 +200,13 @@ export const PRODUCTS: Product[] = [
'培训交付:供应链团队培训与系统上线', '培训交付:供应链团队培训与系统上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云部署', '规划支持本地服务器、私有云部署',
'支持多种ERP/WMS系统数据对接', '规划支持多种ERP/WMS系统数据对接',
'支持信创环境适配', '规划支持信创环境适配',
'支持多品类、多仓点并行管理', '规划支持多品类、多仓点并行管理',
'支持API接口集成', '规划支持API接口集成',
'支持数据加密与访问审计', '规划支持数据加密与访问审计',
], ],
pricing: {
base: '基础版:¥19,800/年',
standard: '标准版:¥39,800/年',
enterprise: '企业版:¥79,800/年',
},
}, },
{ {
id: 'oa', id: 'oa',
@@ -238,18 +214,19 @@ export const PRODUCTS: Product[] = [
description: '一站式企业协同办公平台,集成流程审批、公文管理、智能协作、知识中心等功能,助力企业实现办公数字化、协作高效化。', description: '一站式企业协同办公平台,集成流程审批、公文管理、智能协作、知识中心等功能,助力企业实现办公数字化、协作高效化。',
image: '/images/products/oa.jpg', image: '/images/products/oa.jpg',
category: '企业软件', category: '企业软件',
overview: '睿新协同办公系统是一款综合型企业协同办公平台,融合传统办公自动化与现代协作理念。系统集成了流程审批、公文管理、即时通讯、知识管理、会议日程等核心模块,支持PC端与移动端全场景覆盖,帮助企业实现办公数字化、流程规范化、协作高效化。', status: '研发中',
overview: '睿新协同办公系统是我们正在打造的综合型企业协同办公平台,融合传统办公自动化与现代协作理念。系统规划集成流程审批、公文管理、即时通讯、知识管理、会议日程等核心模块,支持PC端与移动端全场景覆盖,帮助企业实现办公数字化、流程规范化、协作高效化。',
features: [ features: [
'流程审批:请假、报销、采购、合同等全流程电子化审批,支持自定义审批流程和条件分支', '流程审批:规划请假、报销、采购、合同等全流程电子化审批,支持自定义审批流程和条件分支',
'公文管理:收文登记、发文审批、公文流转、归档管理,满足政务合规和档案管理要求', '公文管理:规划收文登记、发文审批、公文流转、归档管理,满足政务合规和档案管理要求',
'智能协作:支持与钉钉、企业微信、飞书等主流平台深度整合,实现统一消息推送与协作', '智能协作:规划支持与钉钉、企业微信、飞书等主流平台深度整合,实现统一消息推送与协作',
'知识中心:企业知识库、文档管理、知识检索、权限管控,沉淀组织智慧资产', '知识中心:规划企业知识库、文档管理、知识检索、权限管控,沉淀组织智慧资产',
'会议日程:会议室预约、会议通知、纪要管理、个人与团队日程同步', '会议日程:规划会议室预约、会议通知、纪要管理、个人与团队日程同步',
'移动办公:全功能移动端,支持APP、微信企业号、钉钉等多端接入,随时随地处理工作', '移动办公:规划全功能移动端,支持APP、微信企业号、钉钉等多端接入',
], ],
benefits: [ benefits: [
'流程审批效率提升70%,告别纸质流转,降低管理成本', '致力于提升流程审批效率,告别纸质流转,降低管理成本',
'知识资产沉淀共享,避免"人走知识丢",提升组织学习能力', '知识资产沉淀共享,避免&ldquo;人走知识丢&rdquo;,提升组织学习能力',
'移动办公全覆盖,决策不等待,响应更及时', '移动办公全覆盖,决策不等待,响应更及时',
'一站式办公平台,减少系统切换成本,提升工作效率', '一站式办公平台,减少系统切换成本,提升工作效率',
], ],
@@ -262,17 +239,12 @@ export const PRODUCTS: Product[] = [
'培训交付:全员培训与系统正式上线', '培训交付:全员培训与系统正式上线',
], ],
specs: [ specs: [
'支持本地服务器、私有云、混合云部署', '规划支持本地服务器、私有云、混合云部署',
'支持多组织、多层级组织架构管理', '规划支持多组织、多层级组织架构管理',
'支持信创环境(国产操作系统/数据库/中间件)', '规划支持信创环境(国产操作系统/数据库/中间件)',
'支持API接口集成,对接ERP/CRM等业务系统', '规划支持API接口集成,对接ERP/CRM等业务系统',
'支持移动端APP、微信企业号、钉钉等多端接入', '规划支持移动端APP、微信企业号、钉钉等多端接入',
'支持数据加密、访问审计、安全水印等安全特性', '规划支持数据加密、访问审计、安全水印等安全特性',
], ],
pricing: {
base: '基础版:¥9,800/年',
standard: '标准版:¥19,800/年',
enterprise: '企业版:¥39,800/年',
},
}, },
] as const; ] as const;
+1 -1
View File
@@ -4,7 +4,7 @@ export interface StatItem {
} }
export const STATS: StatItem[] = [ export const STATS: StatItem[] = [
{ value: '6', label: '研产品' }, { value: '6', label: '研产品' },
{ value: '5+', label: '行业覆盖' }, { value: '5+', label: '行业覆盖' },
{ value: '10+', label: '团队成员' }, { value: '10+', label: '团队成员' },
{ value: '12+', label: '年核心团队经验' }, { value: '12+', label: '年核心团队经验' },