前言
目前正在对一套成熟商用 MES/ERP 工业管理系统做架构级全新重构开发。
重点明确说明:后端全程保持不变,采用原有 Python 协程 整套服务架构、业务逻辑、数据库、接口通信协议全部保留不动,不做任何改造与改动;前端是整套 Qt 客户端,完整全部推倒重来,原有 Qt 项目所有源码、老旧架构、页面逻辑、事件写法全部废弃,不兼容旧代码、不局部修补,从零全新定制开发新一代动态 UI 客户端框架。
项目目前处于定制开发阶段,尚未上线正式运行。
传统 MES/ERP 软件长期存在一个行业痛点:系统界面全部由开发方写死布局、写死样式,所有员工共用同一套固定页面,普通操作人员没办法自己调整控件位置、没办法缩放页面排版、没办法更换界面主题;想微调界面布局只能依赖开发商二次开发,成本高、周期长、完全没有个性化空间。
本次 整套 Qt 全量重构,核心落地三大核心能力:真正千人千面每人独立定制页面、终端用户可视化自由拖拽排版、AI 根据个人喜好自选界面主题风格,把界面布局和样式的完全控制权,直接下放给每一位使用员工。
一、为什么必须把整套 Qt 客户端彻底推倒重构
原有老旧 Qt 客户端已经形成结构性技术债务,修补兼容已经没有意义:
- 所有单据界面、按钮、输入框、表格、弹窗全部硬编码写死,无动态配置、无动态渲染能力;
- UI 界面和业务逻辑、接口请求、点击事件深度耦合,代码臃肿腐化,不敢改、改不动、维护成本极高;
- 全员共用一套固定界面,没有千人千面能力,不同岗位、不同操作习惯的员工无法拥有自己专属页面;
- 原生不支持拖拽编辑、控件缩放、自定义排版,终端客户完全无法自主调整界面;
- 无主题管理体系,样式固化老旧,不能自定义皮肤、不能一键换风格;
- 网络请求写法散乱,没有统一封装 HTTP 调用,接口逻辑散落各个窗体,安全与规范性都不达标;
- 旧架构扩展性极差,新增单据、新增弹窗、新增业务流程都要大量改动前端代码。
综合评估后决定:后端 Python 协程服务完全不动,直接把整套 Qt 客户端源码全部推倒,从零重新架构、从零开发。
二、本次重构核心定位
- 后端无改动:保留原有 Python 协程 全部后台服务、接口、业务流程、数据库结构,全程兼容不变;
- 前端全量重构:废弃原有整套 Qt 工程所有代码,全新从零搭建整体架构、分层设计、交互逻辑;
- 核心目标:落地 千人千面个人专属页面 + 用户自由拖拽布局 + AI 智能主题定制 三大核心能力;
- 架构原则:UI 与业务逻辑、网络请求、加解密彻底解耦,用户随便改布局、换主题,完全不影响后端 Python 协程业务流转与数据逻辑;
- 使用门槛:面向工厂普通操作人员,零代码可视化操作,不懂编程也能自主定制界面。
三、三大核心亮点功能(本次重构最大价值)
1. 真正千人千面,一人一套独立专属界面
这是整套 Qt 重构最核心的设计亮点:
- 系统每一个登录账号,都拥有独立专属的页面布局配置;
- 仓管、操作员、质检员、管理人员,每个人界面布局、控件位置都可以完全不一样;
- 某一个员工自己拖拽修改布局、调整控件大小,完全不会影响其他任何员工的界面;
- 个人排版布局、控件位置、尺寸、表格列宽、主题风格,全部按账号独立保存;
- 同一账号换电脑登录,自动加载属于自己的定制界面;
- 随时支持一键恢复系统默认模板,不怕排版错乱。
2. 可视化自由拖拽,用户自主定制页面布局
切换到编辑模式即可傻瓜式自定义:
- 所有按钮、输入框、下拉框、表格、业务控件,支持鼠标自由拖拽换位;
- 控件可任意拉伸、放大、缩小,自由调整控件尺寸;
- 可自行设置字段显示 / 隐藏、调整表格列顺序、整页自由排版;
- 全程无需开发人员介入,终端员工自己就能调成顺手的操作布局。
3. AI 个性化自选主题,喜欢什么风格自己定
- 用户只需输入简单文字描述,即可调用 AI 自动生成专属 QSS 界面主题;
- 内置多款工业风、深色风、商务简约风,支持一键直接选用;
- 更换主题只改变配色、字体、圆角、阴影等视觉样式,完全保留用户已经调好的页面布局和控件位置;
- 全局所有页面、业务弹窗、控件统一适配同一种风格,视觉整齐统一。
四、全新 Qt 重构后整体架构设计
1. 双运行模式设计
- 正常业务模式:界面锁定禁止修改布局,只做单据新增、查询、审核、打印等常规业务操作;
- 编辑定制模式:开放控件拖拽、缩放、排版、AI 换主题权限,专供用户自定义个人界面。
2. 四层完全解耦全新架构(Qt 重新自研设计)
- AI 界面生成层:只负责生成 Qt 原生 UI 结构、布局、QSS 样式、控件唯一 ID,不碰业务、不碰接口、不碰加密逻辑;
- 服务端配置层:单据模板、页面定义、控件事件绑定、弹窗跳转规则、参数规则统一后台配置;
- 客户端 UI 展示层:只负责界面渲染、拖拽交互、页面展示,无任何业务硬编码逻辑;
- 底层网络安全层:全新独立封装全局 HTTP 单例工具类,完美对接后端 Python 协程 接口,统一实现请求封装、报文加密、签名验签、防重放、异常重试,和 UI 层完全隔离。
3. 业务事件全部配置化,告别前端硬编码
所有控件点击触发哪个后端接口、弹出哪个业务弹窗、参数如何拼装,全部由服务端提前配置好。Qt 客户端只负责匹配控件 ID 触发逻辑,后期调整业务流程、弹窗关系,只改后台配置,不用改 Qt 代码、不用发客户端版本。
4. 千人千面配置安全存储
每个账号的个性化布局、AI 主题配置,本地独立 AES 加密存储,防篡改、防泄露,多账号配置互相隔离互不干扰。
五、整套 Qt 彻底推倒重构带来的核心价值
- 彻底清空老旧 Qt 项目技术债务,全新架构干净规范,长期可维护、可扩展;
- 实现真正千人千面,一人一界面,适配不同岗位、不同个人操作习惯;
- 界面定制权完全下放终端用户,无需开发商反复二次开发,节省成本;
- UI 与业务彻底解耦,拖拽改布局、AI 换主题,完全不影响后端 Python 协程业务逻辑;
- 全链路接口加密、本地配置加密,达到工业软件安全标准;
- 适配工厂内网离线使用、多标签多弹窗业务流转,贴合现场实际生产场景。
结尾
传统 MES/ERP 固定死板界面的时代已经过时。本次不做小修小补,直接整套 Qt 客户端全量源码推倒重构,后端沿用稳定的 Python 协程 架构不变,只为实现:员工自主拖拽排版、千人千面专属界面、AI 随心切换主题,让工业软件更人性化、更好用、更贴合工厂实际操作习惯。
后续会持续分享:Qt 控件拖拽底层实现、千人千面配置存储设计、AI 生成 QSS 对接方案、统一 HTTP 加密类封装、对接 Python 协程接口实战细节。
原创工业 Qt 开发重构实战,欢迎同行交流学习。