feat(cases): 新增智慧农业案例并优化政府案例数据

- 新增农业种植灌溉信息化建设咨询项目案例
- 更新政府案例:添加关键成果数据、优化客户评价
- 同步更新测试用例和页面组件
This commit is contained in:
张翔
2026-04-21 16:57:20 +08:00
parent de94e931af
commit 3ea5cf849e
7 changed files with 206 additions and 87 deletions
+101 -31
View File
@@ -2,6 +2,23 @@ import { render, screen } from '@testing-library/react';
import '@testing-library/jest-dom';
import { CaseDetailClient } from './client';
interface TestCaseItem {
id: string;
title: string;
excerpt: string;
content: string;
category: string;
slug: string;
date: string;
image?: string;
challenge: string;
solution: string;
keyMoments: { title: string; description: string }[];
results: { label: string; value: string }[];
testimonial: { quote: string; author: string; role: string };
duration: string;
}
jest.mock('next/navigation', () => ({
useRouter: () => ({
push: jest.fn(),
@@ -11,12 +28,14 @@ jest.mock('next/navigation', () => ({
}));
jest.mock('next/link', () => {
return ({ children, href }: { children: React.ReactNode; href: string }) => {
const MockLink = ({ children, href }: { children: React.ReactNode; href: string }) => {
return <a href={href}>{children}</a>;
};
MockLink.displayName = 'MockLink';
return MockLink;
});
const mockCaseItem = {
const mockCaseItem: TestCaseItem = {
id: 'test-case',
title: '测试案例标题',
excerpt: '这是一个测试案例的描述',
@@ -24,6 +43,23 @@ const mockCaseItem = {
category: '制造业',
slug: 'test-case',
date: '2026-03-27',
challenge: '这是客户面临的挑战描述',
solution: '这是我们的解决方案描述',
keyMoments: [
{ title: '关键时刻一', description: '关键时刻一的详细描述' },
{ title: '关键时刻二', description: '关键时刻二的详细描述' },
],
results: [
{ label: '运营成本', value: '降低25%' },
{ label: '设备故障响应', value: '缩短85%' },
{ label: '排产周期', value: '从1周缩至半天' },
],
testimonial: {
quote: '这是客户证言内容',
author: '测试客户',
role: 'CTO',
},
duration: '2年',
};
describe('CaseDetailClient', () => {
@@ -33,90 +69,124 @@ describe('CaseDetailClient', () => {
describe('Rendering', () => {
it('should render case detail page', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const main = screen.getByRole('main');
expect(main).toBeInTheDocument();
});
it('should render case title', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const title = screen.getByRole('heading', { level: 1 });
expect(title).toBeInTheDocument();
expect(title).toHaveTextContent('测试案例标题');
});
it('should render case client name', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
it('should render case excerpt', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
const excerpts = screen.getAllByText('这是一个测试案例的描述');
expect(excerpts.length).toBeGreaterThan(0);
});
it('should render case industry badge', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const categories = screen.getAllByText('制造业');
expect(categories.length).toBeGreaterThan(0);
});
it('should render case description', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
const excerpts = screen.getAllByText('这是一个测试案例的描述');
expect(excerpts.length).toBeGreaterThan(0);
it('should render challenge content', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
expect(screen.getByText('这是客户面临的挑战描述')).toBeInTheDocument();
});
it('should render case results', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
const excerpts = screen.getAllByText('这是一个测试案例的描述');
expect(excerpts.length).toBeGreaterThan(0);
it('should render solution content', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
expect(screen.getByText('这是我们的解决方案描述')).toBeInTheDocument();
});
it('should render case tags', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
const categories = screen.getAllByText('制造业');
expect(categories.length).toBeGreaterThan(0);
it('should render results data', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
expect(screen.getByText('降低25%')).toBeInTheDocument();
expect(screen.getByText('缩短85%')).toBeInTheDocument();
});
it('should render testimonial', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
expect(screen.getByText('这是客户证言内容')).toBeInTheDocument();
const authors = screen.getAllByText('测试客户');
expect(authors.length).toBeGreaterThan(0);
const roles = screen.getAllByText('CTO');
expect(roles.length).toBeGreaterThan(0);
});
it('should render contact button', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const contactButton = screen.getByRole('link', { name: /联系我们/i });
expect(contactButton).toBeInTheDocument();
});
it('should render duration in sidebar', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
expect(screen.getByText('2年')).toBeInTheDocument();
});
});
describe('Sections', () => {
it('should render customer challenges section', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const section = screen.getByText('客户遇到的成长瓶颈');
expect(section).toBeInTheDocument();
});
it('should render solution section', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const section = screen.getByText('我们如何智连未来');
expect(section).toBeInTheDocument();
});
it('should render growth story section', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
it('should render growth story section with key moments', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
const section = screen.getByText('共同成长的故事');
expect(section).toBeInTheDocument();
expect(screen.getByText('关键时刻一')).toBeInTheDocument();
expect(screen.getByText('关键时刻二')).toBeInTheDocument();
});
it('should render achievements section', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
it('should render achievements section with results', () => {
render(<CaseDetailClient caseItem={mockCaseItem} />);
const section = screen.getByText('今天,他们走到了哪里');
expect(section).toBeInTheDocument();
});
it('should render testimonial section', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const section = screen.getByText('客户证言精选');
expect(section).toBeInTheDocument();
});
});
describe('Conditional Rendering', () => {
it('should not render key moments section when empty', () => {
const caseWithoutMoments = { ...mockCaseItem, keyMoments: [] };
render(<CaseDetailClient caseItem={caseWithoutMoments} />);
expect(screen.queryByText('共同成长的故事')).not.toBeInTheDocument();
});
it('should not render results section when empty', () => {
const caseWithoutResults = { ...mockCaseItem, results: [] };
render(<CaseDetailClient caseItem={caseWithoutResults} />);
expect(screen.queryByText('今天,他们走到了哪里')).not.toBeInTheDocument();
});
it('should not render testimonial section when absent', () => {
const caseWithoutTestimonial = { ...mockCaseItem, testimonial: undefined };
render(<CaseDetailClient caseItem={caseWithoutTestimonial} />);
expect(screen.queryByText('客户证言精选')).not.toBeInTheDocument();
});
});
describe('Navigation', () => {
it('should have back button', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const backButton = screen.getByRole('button', { name: /返回/i });
expect(backButton).toBeInTheDocument();
});
@@ -124,16 +194,16 @@ describe('CaseDetailClient', () => {
describe('Accessibility', () => {
it('should have main landmark', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const main = screen.getByRole('main');
expect(main).toBeInTheDocument();
});
it('should have proper heading hierarchy', () => {
render(<CaseDetailClient caseItem={mockCaseItem as any} />);
render(<CaseDetailClient caseItem={mockCaseItem} />);
const h1 = screen.getByRole('heading', { level: 1 });
expect(h1).toBeInTheDocument();
const h2s = screen.getAllByRole('heading', { level: 2 });
expect(h2s.length).toBeGreaterThan(0);
});
+8 -2
View File
@@ -37,10 +37,16 @@ export default async function CaseDetailPage({ params }: { params: Promise<{ id:
id: caseItem.id,
title: caseItem.title,
excerpt: caseItem.description,
content: caseItem.content || '',
content: caseItem.solution || '',
category: caseItem.industry,
slug: caseItem.id,
date: '2026-01-15',
date: caseItem.date,
image: caseItem.image,
challenge: caseItem.challenge,
solution: caseItem.solution,
keyMoments: caseItem.keyMoments,
results: caseItem.results,
testimonial: caseItem.testimonial,
duration: caseItem.duration,
}} />;
}
+7 -5
View File
@@ -145,12 +145,14 @@ export default function CasesPage() {
<div className="flex flex-wrap gap-2 mb-4">
<Badge variant="secondary" className="flex items-center gap-1">
<Calendar className="w-3 h-3" />
3
</Badge>
<Badge variant="secondary" className="flex items-center gap-1">
<TrendingUp className="w-3 h-3" />
{caseItem.duration}
</Badge>
{caseItem.tags.slice(0, 1).map((tag) => (
<Badge key={tag} variant="secondary" className="flex items-center gap-1">
<TrendingUp className="w-3 h-3" />
{tag}
</Badge>
))}
</div>
<p className="text-[#5C5C5C] text-sm line-clamp-2 mb-4">
+1 -1
View File
@@ -63,7 +63,7 @@ export function CasesSection() {
<CardContent className="p-6">
<div className="flex items-center gap-2 mb-3">
<Building2 className="w-4 h-4 text-[#C41E3A]" />
<span className="text-sm text-[#5C5C5C]"></span>
<span className="text-sm text-[#5C5C5C]">{caseItem.client}</span>
</div>
<h3 className="text-lg font-semibold text-[#1C1C1C] mb-3 group-hover:text-[#C41E3A] transition-colors">
{caseItem.title}
+86 -47
View File
@@ -41,81 +41,81 @@ export interface CaseItem {
export const CASES: CaseItem[] = [
{
id: 'case-1',
title: '生物科技技术资源优化咨询项目',
client: '某知名生物科技公司',
industry: '生物科技',
title: '藏区酒店信息化管理建设项目',
client: '某藏区精品酒店',
industry: '酒店管理',
description:
'为某知名生物科技公司提供全面的技术咨询服务,帮助客户梳理现有技术资源体系,合理配置和运用已有技术能力,避免重复建设,减少不必要的IT支出,实现技术资产价值最大化。',
'为某偏远藏区精品酒店提供信息化管理建设服务,帮助客户克服高原地区网络条件受限、人员信息化基础薄弱等特殊困难,实现从纯手工运营向数字化管理的跨越,提升旅游旺季接待能力和运营效率。',
challenge:
'该生物科技公司经过十年快速发展,内部积累了超过40个独立IT系统和实验室信息管理平台。研发、生产、质控三大部门各自采购了功能重叠的软件工具,年度IT总支出高达2800万元,但系统间数据孤岛严重,实验数据从采集到出具分析报告平均需要7个工作日,严重制约了新药研发的推进速度。此外,由于缺乏统一的技术治理架构,合规审计每次都需要耗费大量人工整理材料。',
'该酒店位于川西高原藏区,是当地规模较大的精品酒店,拥有86间客房,每年接待大量自驾游和徒步游客。然而,酒店运营完全依赖手工操作——前台用纸质登记本记录客人信息,客房状态靠手写白板展示,财务用Excel记账,库存管理全凭人工盘点。由于藏区网络信号不稳定、部分员工信息化基础薄弱,此前尝试引入的市面标准酒店管理系统经常断线卡顿,员工不会用也不愿用,最终沦为摆设。旅游旺季时,前台排队登记常常让客人等待超过20分钟,客房清扫调度混乱导致客人入住时房间尚未打扫完毕,OTA平台上的差评中超过40%与入住效率和房间状态有关。',
solution:
'我们首先对客户全部技术资产进行了为期三周的深度盘点,梳理出40+系统中存在功能重叠的12组、完全闲置的系统6个。在此基础上,制定了"三步走"整合方案:第一阶段合并重叠系统,统一数据标准;第二阶段搭建企业级数据中台,打通研发-生产-质控全链路数据流;第三阶段引入智能化运维体系,建立持续优化的技术治理机制。整个过程中,我们特别注重合规性要求,确保所有整合方案符合GMP和FDA 21 CFR Part 11标准。',
'我们深入藏区实地调研后,针对高原酒店的特殊环境量身定制了轻量化、高可用的信息化管理方案。在网络适配方面,系统采用本地优先架构——核心功能支持离线运行,数据在本地缓存,网络恢复后自动同步,彻底解决了信号不稳定导致的系统不可用问题。在易用性方面,界面设计遵循"三步完成"原则,每个操作流程不超过三步点击,并配备藏汉双语界面和语音操作引导,让信息化基础薄弱的当地员工也能快速上手。核心功能模块包括:智能前台系统,支持身份证识别快速入住和扫码退房;客房管理系统,通过移动端实现清扫任务自动派发和房间状态实时更新;财务库存模块,自动生成每日营收报表和物资消耗预警。目前系统已在酒店全面上线运行。',
keyMoments: [
{
title: '关键发现:隐藏的"僵尸系统"',
title: '攻克网络难题:离线模式保障系统可用',
description:
'在技术资产盘点过程中,我们发现客户每年仍在为6个几乎无人使用的遗留系统支付维护费用,累计年浪费超过180万元。这一发现直接促成了客户高层对整个项目的全力支持。',
'系统上线初期,高原频繁的网络波动导致标准SaaS模式频繁断线。我们紧急调整技术方案,用一周时间开发并部署了本地优先+异步同步架构,核心业务流程在断网状态下可正常使用,网络恢复后数据自动回传。这一改造使系统可用率从不足60%提升至99%以上,彻底消除了员工"系统不好用"的抵触心理。',
},
{
title: '数据中台上线:7天变4小时',
title: '旺季实战:入住效率提升5倍',
description:
'数据中台正式上线后,实验数据从采集到分析报告的周期从原来的7个工作日缩短至4小时。研发团队负责人在上线当天表示:"这是近五年来最激动人心的一天。"',
'系统上线后恰逢国庆旅游旺季,日均入住量达到平时的3倍。得益于身份证识别快速入住和客房状态实时同步,前台平均办理时间从20分钟缩短至4分钟,客房清扫调度井然有序,旺季期间"到店无房可住"的投诉从去年同期的17起降至0起。OTA平台评分从3.8分提升至4.5分。',
},
],
results: [
{ label: 'IT年度支出', value: '降低35%' },
{ label: '数据处理效率', value: '提升50倍' },
{ label: '闲置系统清理', value: '6个' },
{ label: '入住办理', value: '20分钟→4分钟' },
{ label: '系统可用率', value: '60%→99%' },
{ label: 'OTA评分', value: '3.8→4.5' },
],
testimonial: {
quote:
'睿新致远团队对生物科技行业的理解远超我们的预期。他们不仅帮我们省了钱,更重要的是建立了一套可持续演进的技术治理体系,让我们的IT投入真正转化为研发竞争力。',
'之前也买过酒店管理系统,但网络一断就成了摆设,员工也不会用。睿新致远不一样,他们专门跑到藏区来实地看我们的情况,做的系统能离线用、界面简单、还有藏语,我们的员工两天就学会了。现在旺季再也不手忙脚乱了。',
author: '客户企业',
role: 'CTO',
role: '酒店总经理',
},
tags: ['技术咨询', '资源优化', '生物科技'],
tags: ['酒店管理', '信息化建设', '藏区服务'],
image: '/images/cases/biotech.jpg',
duration: '2年',
date: '2025-09-20',
duration: '6个月',
date: '2026-04-15',
},
{
id: 'case-2',
title: '制造企业技术资源规划咨询项目',
title: '制造企业办公信息化建设项目',
client: '某大型制造企业',
industry: '智能制造',
industry: '制造',
description:
'为某大型制造企业提供专业的技术咨询与资源规划服务,帮助客户全面梳理现有技术资源,制定合理的资源配置方案,优化技术架构,减少不必要的成本支出,提升整体运营效率。',
'为某大型制造企业建设统一的办公信息化平台,涵盖OA协同办公、人事管理、财务报销、行政审批等核心模块,帮助企业告别纸质办公和"人肉流转",实现办公效率的全面提升。',
challenge:
'该制造企业在全国拥有8个生产基地、3个研发中心,但各基地的技术系统建设各自为政——有的基地仍在使用15年前的本地部署ERP,有的基地已经上了云端MES却无法与总部财务系统对接。生产计划排程依赖人工Excel汇总,每次月度排产需要3名计划员耗费整整一周。更棘手的是,设备故障响应平均需要4小时,导致非计划停机损失每年超过2000万元。',
'该制造企业员工规模超过3000人,但日常办公仍以纸质流程为主——一份请假申请需要找3位领导签字,一次差旅报销从提交到打款平均需要21天,跨部门文件审批依赖纸质传阅,经常出现"文件找不到、进度查不到、责任追不到"的窘境。各部门使用不同版本的Excel表格管理业务数据,信息孤岛严重。更关键的是,总部与分散在全国的8个分支机构之间缺乏统一的协同平台,远程协作效率极低,每次月度经营分析会都需要各基地提前一周手工汇总数据。',
solution:
'我们为客户设计了"统一底座、分级赋能"的技术架构蓝图。核心是在总部部署统一的工业互联网平台,向下兼容各基地现有系统,通过标准化接口实现数据汇聚;向上为各基地提供智能排产、预测性维护、质量追溯等共享服务。在实施路径上,我们选择了信息化基础最薄弱的华南基地作为试点,用6个月完成全流程数字化改造,形成可复制的标准化模板,再逐步推广到其余基地。同时引入AI驱动的设备预测性维护模型,将被动维修转变为主动预防。',
'我们为客户规划并实施了统一的办公信息化平台,采用"核心模块优先+分批推广"的策略。第一优先级上线OA协同办公和行政审批模块,覆盖请假、出差、用章、采购等高频流程,实现全流程线上化和移动端审批。第二优先级上线人事管理和财务报销模块,打通员工入离职、考勤排班与薪资核算的全链路,同时实现发票识别、智能审单和自动对账,将报销周期从21天压缩至3天。第三阶段规划建设知识管理、会议协作和经营分析看板等增值模块,构建企业级数字化办公生态。目前OA和行政审批模块已在总部全面上线,财务报销模块正在试点中。',
keyMoments: [
{
title: '华南基地试点:从质疑到标杆',
title: '审批流程再造:21天变3天',
description:
'项目启动初期,华南基地的厂长对"统一平台"方案持强烈保留态度。我们邀请他参与方案设计的每一个评审环节,并根据一线工人的实际反馈调整了12处交互细节。试点上线三个月后,该基地的人均产出提升了22%,厂长主动请缨成为全集团推广的"内部布道师"。',
'我们与客户各部门逐一梳理了87条审批流程,识别出32条可以合并或简化的流程,并针对每条流程设计了最优的线上审批路径。OA系统上线后,平均审批时长从原来的5.2天缩短至0.8天,差旅报销周期从21天压缩至3天,员工满意度调查得分从62分提升至89分。',
},
{
title: '预测性维护:避免了一场重大事故',
title: '移动审批上线:领导随时随地批',
description:
'AI预测性维护系统上线仅两个月,就成功提前48小时预警了一台核心冲压设备的轴承疲劳问题。如果按以往的被动维修模式,这次故障将导致整条产线停工5天,损失约350万元。',
'系统上线第二个月,我们推出了移动端审批功能。上线首周,移动端审批量即占总审批量的67%。一位分管生产的副总反馈:"以前出差一周回来,办公桌上堆满了待签文件,现在高铁上就能批完,再也不用加班补签了。"',
},
],
results: [
{ label: '运营成本', value: '降低25%' },
{ label: '设备故障响应', value: '缩短85%' },
{ label: '排产周期', value: '从1周缩至半天' },
{ label: '平均审批时长', value: '缩短85%' },
{ label: '报销周期', value: '21天→3天' },
{ label: '员工满意度', value: '62→89分' },
],
testimonial: {
quote:
'最让我佩服的是睿新致远不搞"一刀切"。他们充分尊重每个基地的实际情况,用试点证明价值,用数据说服人心。这种务实的作风在咨询行业非常难得。',
'以前觉得上OA系统就是买个软件装上,睿新致远让我们明白办公信息化的核心是流程再造。他们不是简单地把线下流程搬到线上,而是帮我们重新思考了每一条流程是否合理、能不能更快。这种"先梳理再上线"的方法论非常专业。',
author: '客户企业',
role: 'COO',
role: '行政总监',
},
tags: ['技术咨询', '资源规划', '智能制造'],
tags: ['办公信息化', 'OA协同', '流程再造'],
image: '/images/cases/manufacturing-consulting.jpg',
duration: '3年',
date: '2026-01-15',
duration: '8个月',
date: '2026-04-10',
},
{
id: 'case-3',
@@ -125,35 +125,74 @@ export const CASES: CaseItem[] = [
description:
'为某市级政府单位提供数字化整体解决方案,涵盖业务流程优化、信息系统整合、在线服务平台建设等,有效提高办事效率,提升公共服务水平和群众满意度。',
challenge:
'该市级政府单位承担着面向全市120万市民的行政审批和公共服务职能。然而,市民办理一项常规审批平均需要跑3个窗口、提交15份纸质材料、等待12个工作日。疫情期间,线下服务被迫暂停,但线上办理渠道几乎为零,导致大量业务积压。同时,内部22个科室各自维护独立的业务台账,跨科室协办事项平均流转时间超过20天,群众投诉率居高不下。',
'该市级政府单位承担着面向全市120万市民的行政审批和公共服务职能。然而,市民办理一项常规审批平均需要跑3个窗口、提交15份纸质材料、等待12个工作日。同时,内部22个科室各自维护独立的业务台账,跨科室协办事项平均流转时间超过20天,群众投诉率居高不下。随着"数字政府"建设的深入推进,该单位亟需加快数字化转型步伐。',
solution:
'我们为客户规划并实施了"一网通办"数字化政务服务平台。方案以"数据多跑路、群众少跑腿"为核心理念,包含三大工程:一是建设统一的政务数据共享交换平台,打通22个科室的数据壁垒,实现"一次采集、多方复用";二是开发面向市民的"全流程网办"系统,覆盖85%的高频事项,支持PC端和移动端;三是构建智能审批辅助引擎,对标准化事项实现"秒批秒办",对复杂事项提供"智能预审+人工复核"的半自动模式。在实施过程中,我们特别注重适老化设计,为老年市民保留了电话预约和线下辅助通道。',
'我们为客户规划了"一网通办"数字化政务服务平台。方案以"数据多跑路、群众少跑腿"为核心理念,包含三大工程:一是建设统一的政务数据共享交换平台,打通22个科室的数据壁垒,实现"一次采集、多方复用";二是开发面向市民的"全流程网办"系统,覆盖85%的高频事项,支持PC端和移动端;三是构建智能审批辅助引擎,对标准化事项实现"秒批秒办",对复杂事项提供"智能预审+人工复核"的半自动模式。在实施过程中,我们特别注重适老化设计,为老年市民保留了电话预约和线下辅助通道。目前项目已完成整体方案设计和数据共享平台搭建,网办系统正在开发中。',
keyMoments: [
{
title: '疫情期间紧急上线:72小时攻坚战',
title: '需求调研:走访22个科室',
description:
'疫情反复期间,线下服务窗口再次关闭。我们接到紧急需求后,团队72小时连续作战,优先上线了市民最急需的5项高频服务的线上办理功能。上线首周即受理业务3200件,有效缓解了积压压力。市政府领导专门发来感谢信。',
'项目启动后,我们用两周时间逐一走访了全部22个科室,深入了解每个科室的业务流程和数据流转现状。调研中发现的"重复录入"问题尤为突出——同一份企业资料平均被不同科室录入6次,这一发现为后续数据共享方案提供了强有力的支撑。',
},
{
title: '适老化改造:让数字化不落下任何人',
title: '适老化方案获高度评价',
description:
'在系统试运行阶段,我们收到多位老年市民的反馈,表示"不会用智能手机"。我们迅速增加了大字版界面、语音引导功能和电话预约通道,并组织社区志愿者培训。改造后,60岁以上市民的线上办理率从8%提升至35%。',
'在方案评审阶段,我们提出的适老化设计方案——包括大字版界面、语音引导电话预约通道社区志愿者协助机制——获得了评审专家的一致好评。评审组长评价:"这是少数真正考虑到了每一位市民的方案。"',
},
],
results: [
{ label: '办事效率', value: '提升55%' },
{ label: '群众满意度', value: '提升40%' },
{ label: '平均办理时长', value: '缩短45%' },
{ label: '科室调研', value: '22个全覆盖' },
{ label: '高频事项覆盖', value: '85%' },
{ label: '数据共享平台', value: '已搭建完成' },
],
testimonial: {
quote:
'睿新致远不仅懂技术,更懂"为人民服务"的含义。他们的适老化设计让我们看到了数字化转型的温度——技术进步不应该让任何一个人掉队。',
'睿新致远不仅懂技术,更懂"为人民服务"的含义。他们的适老化设计让我们看到了数字化转型的温度——技术进步不应该让任何一个人掉队。项目推进节奏稳健,我们对合作前景非常期待。',
author: '客户单位',
role: '信息化负责人',
},
tags: ['解决方案', '政务服务', '数字化转型'],
image: '/images/cases/government.jpg',
duration: '2.5年',
date: '2026-03-10',
duration: '10个月',
date: '2026-04-18',
},
{
id: 'case-4',
title: '农业种植灌溉信息化建设咨询项目',
client: '某农户专业合作社',
industry: '智慧农业',
description:
'为某农户专业合作社提供种植灌溉信息化建设咨询服务,帮助合作社及辖区农户从传统经验灌溉向数据驱动的精准灌溉转型,以低成本、易操作的方案实现节水降本、提质增效。',
challenge:
'该合作社位于新疆塔城地区,由5户种植大户联合成立,承包经营耕地超过6000亩,以小麦、玉米和甜菜为主。塔城地区虽然依托额敏河和雪山融水,但水资源时空分布极不均衡,春旱频发,灌溉用水配额逐年收紧。长期以来,灌溉完全靠经验——"看天浇水、估摸着放",大水漫灌方式导致水利用率不足40%,水资源浪费严重。合作社曾尝试引入智慧农业系统,但市面上的方案要么针对大规模农场、投入动辄上百万,要么功能复杂、需要专业团队运维,不适合他们这种"几个农户管几千亩地"的模式。每到春灌用水高峰期,农户之间因争水引发的矛盾频发,干旱年份减产损失更为严重。合作社迫切需要一套"买得起、自己能管、真管用"的灌溉信息化方案。',
solution:
'我们深入塔城田间地头实地调研后,为合作社量身定制了"低成本、易运维、接地气"的智慧灌溉方案。在硬件方面,采用国产高性价比传感器,根据6000亩耕地的地块分布,按片区部署土壤墒情监测点和简易气象站,总投入控制在合作社可承受的范围内。在平台方面,搭建轻量级的灌溉数据服务平台,整合传感器数据、当地气象预报和灌区供水计划,结合塔城地区春旱频发、作物以旱作为主的特点,通过简化的灌溉建议模型生成通俗易懂的灌溉指导——"今天该浇多少水、什么时间浇",直接推送到农户手机微信上。在运维方面,系统设计充分考虑了"几个农户自己管"的场景,设备采用太阳能供电、无线传输、免布线安装,日常无需专业IT人员维护。目前系统已全面部署上线,覆盖全部6000亩耕地。',
keyMoments: [
{
title: '免布线安装:两天完成全部部署',
description:
'考虑到农户人手有限、无法承担复杂的施工安装,我们选用了太阳能供电、4G无线传输的传感器设备,免布线、即插即用。整个监测网络仅用两天时间就完成了全部部署和调试,5户农户全程参与,边装边学,部署完成即能独立使用。',
},
{
title: '春灌调度:数据化解争水矛盾',
description:
'往年春灌用水高峰期,5户农户因用水先后顺序和分配比例争执不下,每年都要找村委会协调。系统上线后,各片区土壤墒情和用水量数据实时可见,合作社据此制定了"缺水优先、轮灌调度"的公平分配方案。一个灌溉季下来,争水矛盾彻底化解,农户之间关系反而比以前更融洽了。',
},
],
results: [
{ label: '灌溉用水量', value: '降低28%' },
{ label: '水利用率', value: '从40%提升至65%' },
{ label: '覆盖耕地', value: '6000亩' },
],
testimonial: {
quote:
'我们几个人管着几千亩地,最怕的就是浇水——跑一遍地就得大半天,水还经常不够分。现在手机上就能看到哪块地缺水、该浇多少,省了人工还省了水。睿新致远的方案实在,设备装上去不用管,自己就能用。',
author: '客户单位',
role: '合作社理事长',
},
tags: ['智慧农业', '精准灌溉', '惠农服务'],
image: '/images/cases/agriculture.jpg',
duration: '10个月',
date: '2026-04-20',
},
];
+2
View File
@@ -5,3 +5,5 @@ export { SERVICES } from './services';
export { PRODUCTS } from './products';
export { NEWS, type NewsItem, type NewsCategory } from './news';
export { CASES } from './cases';
export { TEAM_MEMBERS, type TeamMember } from './team';
export { METHODOLOGY, type MethodologyPhase } from './methodology';
+1 -1
View File
@@ -25,7 +25,7 @@ function getStats(): StatItem[] {
{ value: `${uniqueClients}+`, label: '企业客户' },
{ value: `${caseCount}+`, label: '成功案例' },
{ value: `${caseCount}+`, label: '项目交付' },
{ value: `${yearsOfExperience}+`, label: '年行业经验' },
{ value: `${yearsOfExperience}+`, label: '年团队经验' },
];
}