跳到主要内容
版本:Next

LMES 开发指南

LMES 是一款开箱即用的制造执行系统,采用模块化插件架构设计。您的开发团队可以完全自主进行业务二次开发,快速响应业务需求,真正实现自主可控的数字化制造管理。


为什么选择 LMES?

给企业带来的价值

  • 降低总体成本:标准功能开箱即用,定制开发成本可控
  • 自主可控:业务逻辑由企业内部团队掌控,响应速度快
  • 灵活扩展:模块化架构支持按需定制,不影响核心功能
  • 快速上线:标准功能即装即用,定制开发周期短(2-4周即可上手)

给开发团队带来的价值

  • 学习成本低:基于主流技术栈(.NET 6.0 + ABP + Vue3),无需学习冷门框架
  • 开发效率高:完善的代码模板和脚手架,30分钟即可创建标准插件
  • 文档完善:从入门到精通的完整文档体系,支持自主学习闭环
  • 架构清晰:DDD 分层架构 + 插件化设计,易于理解和维护

适合哪些企业?

适用场景

  1. 有开发团队:拥有 .NET 或前端开发能力的技术团队
  2. 业务个性化需求:需要根据特殊工艺流程定制功能
  3. 追求长期价值:希望建立自主可控的 MES 系统
  4. 重视数据安全:需要完全掌控系统和数据

开发人员要求

基本要求

角色必备技能工作经验学习周期
后端开发C# + .NET Core + EF Core + MySQL1-2 年 .NET 开发经验2-3 周上手,1-2 个月熟练
前端开发Vue3 + TypeScript + Webpack/Vite1 年以上前端开发经验1-2 周上手,3-4 周熟练
全栈开发同时具备上述技能2 年以上开发经验3-4 周上手,2-3 个月熟练

技能说明

  • 后端开发:需要熟悉关系型数据库设计、RESTful API 开发、异步编程
  • 前端开发:需要掌握组件化开发、状态管理、HTTP 请求处理
  • 全栈开发:需要理解前后端交互、接口设计、数据流转

加分项

  • 熟悉 ABP 框架或 DDD 架构设计
  • 有 MES/ERP 等企业级系统开发经验
  • 了解制造业务流程和工艺管理
  • 有模块化或插件化架构开发经验

学习建议

  • 新手开发者:建议先学习 ABP 框架基础和 DDD 概念,再进行二次开发
  • 有经验开发者:可以直接从模板入手,边做边学系统架构
  • 团队配置:建议至少配备 1 名资深开发者作为技术负责人

注意:LMES 基于企业级架构设计,需要开发人员具备一定的技术基础。完善的文档和代码模板可以降低学习成本,但不能替代必要的技术积累。


学习路径(按角色选择)

路径 A:后端开发人员

目标:能够开发业务逻辑、数据库设计、API 接口

详细学习指南请参考:后端组件开发文档

学习重点

  • DDD 架构和 ABP 框架基础
  • 使用 dotnet new cms-ddd 创建插件
  • 数据库设计和 EF Core 操作
  • 领域事件、工作流集成、分库分表

学习成果:能够独立开发完整的业务模块后端


路径 B:前端开发人员

目标:能够开发生产看板、数据录入表单、报表页面

详细学习指南请参考:前端组件开发文档

学习重点

  • CMS 平台 UI 框架
  • 使用 lmes-cli 生成组件
  • API 调用和数据绑定
  • 动态菜单、权限控制、多语言

学习成果:能够独立开发 80% 的前端业务需求


路径 C:全栈开发人员

目标:端到端交付完整功能

建议顺序:先学后端(路径 A)→ 再学前端(路径 B)→ 前后端联调

时间投入:6-8 周达到熟练水平


三、 开发规范要点

核心原则

1. 模板优先原则

  • 前端:使用 lmes-cli 创建组件模板
  • 后端:使用 dotnet new cms-ddd 创建 DDD 插件模板
  • 优势:标准化、快速开发、最佳实践内置

2. 组件设计三要素

组件抽象(稳定接口)

// 命名规范
CMS.Plugin.[组件名].Abstractions
// 发布为NuGet包 (.nupkg)

组件实现(具体功能)

// 命名规范  
CMS.Plugin.[组件名]
// 发布为CMS插件包 (.cmsplugs)

组件选项(配置管理)

// appsettings.json配置示例
{
"OrderManagementOptions": {
"ActiveState": "0", // 0=禁用,1=启用
"FinishMode": "1", // 0=人工结束,1=自动结束
"ProductionMode": "1" // 0=手动生产,1=自动生产
}
}

3. 解耦策略

  • 抽象解耦:组件间通过抽象接口交互
  • 事件总线:使用领域事件实现最终一致性
  • API代理:WebApiClient处理HTTP服务调用

4. 数据库规范

  • 主从表命名:下划线分隔(scms_worksections → scms_worksection_processparameters)
  • 数据分离:生产数据和配置数据分开存储

5. 质量保障

  • 代码审查:建立CodeReview文化
  • 单元测试:确保代码质量
  • 文档要求:设计文档与源码一同提交

实用建议

  1. 从模板开始:不要从头造轮子
  2. 先设计后开发:输出设计文档再编码
  3. 利用ABP框架:充分利用开箱即用功能
  4. 保持接口稳定:抽象接口避免频繁变更
  5. 注重代码质量:严格进行CodeReview

记住:遵循规范让开发更简单,维护更容易!