> 2026年7月29日
分类:数字乡村 · 系统设计
沫阳镇,贵州省黔南州罗甸县下辖的一个镇,人口约4.5万。
我们给这个镇做了一套「数字乡村操作系统」——County OS。不是一套系统,是40套系统的集合体:智慧农业、智慧党建、智慧养老、智慧环卫、智慧物流……
有人说,一个小镇需要这么多系统吗?我说,这恰恰是中国数字化的最佳试验场。
传统的数字乡村项目是「烟囱式」的——农业局建一套种植系统,民政局建一套养老系统,组织部建一套党建系统。三套系统互不相通,数据各自为战。
农民要填三次同样的个人信息。镇领导要看三个不同的看板。数据根本没有产生联动价值。
所以我们决定:把40套系统做成一套「操作系统」:
- 统一用户体系:一个账号登录所有子系统
- 统一数据底座:居民、土地、企业、设备四张基础表
- 统一消息总线:子系统之间通过 postMessage 和事件总线通信
- 统一驾驶舱:镇长一张图看全镇经济运行
就像 Windows 操作系统上可以跑 Word、Excel、浏览器——County OS 上可以跑农业、养老、环卫等子系统。
我们没有用 qiankun 或 Module Federation 这种重型微前端框架。选型原则是:4.5万人口的小镇,并发不会超过20人,架构简单比架构先进更重要。
最终方案:
┌──────────────────────────────────────┐
│ County OS 主框架 │
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ 导航栏 │ │ iframe │ │ 消息总线 │ │
│ │ 切换系统 │ │ 容器 │ │postMsg │ │
│ └────────┘ └────────┘ └────────┘ │
│ ┌──────────────────┐ │
│ │ 经济驾驶舱 │ │
│ │ (ECharts大屏) │ │
│ └──────────────────┘ │
└──────────────────────────────────────┘
每个子系统是独立的 HTML 文件,通过 iframe 嵌入主框架。子系统之间不直接通信,统一通过主框架的 postMessage 总线转发。
这个方案的代价是 iframe 的加载有延迟(约300-500ms),但收益是巨大的:
- 每个子系统可由不同开发者并行开发
- 一个子系统崩溃不影响其他系统
- 新增子系统只需在主框架注册一个路由
原版沫阳系统的经济驾驶舱用的是硬编码 mock 数据——GDP、人口、产业结构都是写死的数字。
在 County OS 中,我们加了 data_bridge.js 桥接层:
// 子系统上报数据
window.parent.postMessage({
type: 'DATA_REPORT',
source: 'agriculture', // 来自哪个子系统
payload: {
citrus_production: 1250, // 柑橘产量(吨)
citrus_revenue: 3750000, // 柑橘产值(元)
farmers_active: 328 // 活跃农户数
}
}, '*');
// 驾驶舱接收数据并实时更新
window.addEventListener('message', (e) => {
if (e.data.type === 'DATA_REPORT') {
cockpitStore[e.data.source] = e.data.payload;
renderCockpit();
}
});
现在,农业子系统录入的柑橘产量,会实时反映在镇长驾驶舱的GDP数字里。养老系统录入的老年人口,会自动更新民政看板。
40套系统第一次真正「活」了起来。在所有40套系统中,最难设计的不是农业、不是党建——是殡葬改革管理系统。
难点在哪?
- 这是一个高度敏感的话题,UI设计绝不能有半点娱乐感
- 涉及惠民补贴发放(丧葬费减免),财务逻辑复杂
- 需要与民政、公安、卫健委三部门数据联动
- 公墓选址涉及GIS地理信息
最终我们用了最克制、最庄重的设计——黑白灰配色,没有任何渐变和动效。功能上做了三个核心模块:殡仪服务预约、惠民补贴申领、公墓信息查询。
镇民政办主任用了之后说:「以前村民办丧事要跑四个部门,现在手机上点几下就完了。」
这就是数字化的意义。
整个 County OS 的部署成本:
| 项目 | 费用 |
|------|------|
| 服务器(腾讯云Lighthouse 4核8G) | 168元/月 |
| 域名 + SSL证书 | 免费 |
| 系统开发(一期40套) | 一次投入 |
| 维护升级 | 按需 |
每月运营成本不到200元。 一个镇的数字化平台,比一个家庭的话费套餐还便宜。全国有多少个乡镇?约3.8万个。
如果每个镇都有一套 County OS,如果镇与镇之间的数据能打通,如果县里能看到所有镇的数据——这就是一个覆盖14亿人的数据神经网络。
我们现在做的还只是沫阳镇一个点。但架构已经搭好了,复制到下一个镇,可能只需要一周。
县域数字化,不是做大屏给领导看,是让每一笔农业数据、每一次养老服务、每一块公墓信息都在线跑起来。这才是 County OS 真正的野心。
觉得有用?分享给更多人