跳到主要内容
版本:Next

LMES 开发指南 🚀

LMES是基于CMS平台的产线制造执行系统,采用模块化插件架构设计。二次开发非常简单 - 只需按照以下步骤,您就能快速上手!

🎯 快速开始(30分钟上手)

第1步:安装开发工具(5分钟)

# 安装前端开发工具
npm install -g lmes-cli

# 或者使用yarn/pnpm
yarn global add lmes-cli
pnpm add -g lmes-cli

第2步:创建第一个项目(10分钟)

# 创建前端组件
lmes create my-first-component
cd my-first-component
npm run dev

# 创建后端插件(需要.NET环境)
dotnet new install CMS.Plugin.Template.Ddd
dotnet new cms-ddd -n TestPlugin -e Sample

第3步:查看效果(15分钟)

  • 前端组件:打开浏览器查看运行效果
  • 后端插件:启动项目并访问Swagger UI

📖 学习路径(按需选择)

🎨 前端开发(推荐先学)

  1. 基础操作:CMS平台使用 + 环境配置
  2. 组件开发:使用模板快速创建组件
  3. API调用:学习如何调用平台接口
  4. 高级特性:动态菜单、多语言、权限控制

推荐资源

⚙️ 后端开发

  1. 环境准备:.NET 6.0+ + Visual Studio
  2. 插件开发:使用DDD模板创建插件
  3. 数据操作:数据库设计和CRUD操作
  4. 服务集成:事件总线、API集成

推荐资源

🛠️ 开发利器

前端特色功能

  • 可视化组件生成:在线配置即可生成基础组件
  • 智能代码提示:完善的TypeScript支持
  • 热重载开发:修改代码实时预览效果
  • 多语言支持:内置国际化解决方案

后端特色功能

  • DDD模板:自动生成领域驱动架构代码
  • ABP框架集成:开箱即用的企业级功能
  • Swagger支持:自动生成API文档
  • 插件热插拔:动态加载和卸载插件

💡 小贴士

  • 从模板开始:不要从头造轮子,充分利用现有模板
  • 先跑起来:先让项目运行起来,再深入理解原理
  • 参考示例:多查看现有的组件和插件代码
  • 社区支持:遇到问题可以查阅文档或寻求帮助

🚀 下一步行动

  1. 尝试创建:按照上面的快速开始步骤实际操作
  2. 修改示例:在生成的项目基础上进行简单修改
  3. 深入学习:根据需要选择前端或后端深入学习
  4. 实战项目:参与实际项目开发积累经验

记住:LMES二次开发并不难,关键是动手实践! 🎯

三、 开发规范要点 📋

🎯 核心原则

1. 模板优先原则

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

2. 组件设计三要素

📦 组件抽象(稳定接口)

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

🔧 组件实现(具体功能)

// 命名规范  
CMS.Plugin.[组件名] // 或 _V2后缀
// 发布为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. 接口规范

  • 标准接口http://ip:port/api/v1/messuite/external/
  • 定制接口http://ip:port/api/v1/project/external/
  • 第三方接口:统一使用WebApiClient

6. 质量保障

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

💡 实用建议

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

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