从 0 到 1 搭好一套 WMS:开源仓库管理系统 ModernWMS 快速上手指南

发布时间:2026/11/4 2:03:58
从 0 到 1 搭好一套 WMS:开源仓库管理系统 ModernWMS 快速上手指南

从 0 到 1 搭好一套 WMS:开源仓库管理系统 ModernWMS 快速上手指南

【免费下载链接】ModernWMSThe open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the original commercial system wms function and opened it up for free, hoping to help the majority of small and medium-sized enterprises. At present, the system supports cross-platform。项目地址: https://gitcode.com/GitHub_Trending/mo/ModernWMS

中小企业的仓库管理,卡在哪?不是没有需求——收货、库存、发货天天都在发生——而是上不起一套完整的 WMS(仓库管理系统)。ModernWMS 就是为此生的开源项目:从多年商业 ERP 交付经验里把仓储核心功能剥离出来,免费开放。技术底座是 .NET 7 + EF Core 后端、Vue 3 + TypeScript 前端,默认 SQLite 零配置,也支持 MySQL / SQL Server / PostgreSQL 一键切换,跨平台运行,还附带 Docker 部署脚本。

项目速览

  • 开源协议:Apache-2.0
  • 后端技术栈:.NET 7.0 + EF Core(默认 SQLite,可选 MySQL 8 / SQL Server / PostgreSQL)
  • 前端技术栈:Vue 3 + TypeScript + Vuetify 3 + VXETable + Vite
  • 数据库:仓库自带wms.db初始库,启动即有可用数据
  • 运行平台:Ubuntu / CentOS / Debian / Windows 10+,另附docker/一键部署

功能亮点

收货上架——每一步都是待办,跳步直接拦

纸质单加口头交接的收货方式,常见问题是货到了没人卸、分拣没安排、账实对不上。ModernWMS 把收货拆成状态链:到货通知单(ASN)建单后,单据在"待卸货 → 待分拣 → 待上架"之间推进,每一步对应一个独立待办页,卸货确认核对商品与数量,上架确认后库存正式入账,漏做或跳步操作会被直接拦截。

库存日常——调整、冻结、移库、加工、盘点五件套

库存查询支持按仓库、货位、货主多维度检索,还能按库龄分析库存结构。日常作业提供库存调整、冻结/解冻、移库、加工四类操作,均走单据留痕;盘点通过盘点单发起,确认后自动校准账面数量,查得到、调得动、盘得清。

发货出库——状态机管到签收

发货单按"待发货 → 待拣货 → 已拣货 → 待称重 → 待打包 → 已发货 → 已签收"推进,每个环节对应独立操作页,支持批量确认、批量打印二维码与标签。发货确认后库存自动扣减,取消订单则回滚占用,账实一致由流程本身保证。

统计分析——数据直接支撑决策

统计模块覆盖收货统计、发货统计、库龄分析、安全库存监控四个维度,基于 ECharts 可视化输出,配合 Excel 导出功能可以直接给管理层看报表,不用再手动拉数据。

从零到跑通

环境要求一句话:.NET SDK 7.0+ 和 Node.js 16.13.1+,Linux 建议 Ubuntu 18.04 及以上,Windows 需 10 或 Server 2012 以上。

git clone https://gitcode.com/GitHub_Trending/mo/ModernWMS cd backend && dotnet run # 启动 API,Swagger 可直接调试 cd frontend && yarn && yarn dev # 启动前端

后端起在 5555 端口,前端 Vite 服务起来后即可登录验证,初始账号admin密码1。仓库自带wms.db初始数据库,启动即有可用数据,可以直接点一遍收货、发货流程感受单据流转。目录结构很简单:backend/是 .NET 7 解决方案(Core 框架层 + WMS 业务层 + Web 宿主),frontend/是 Vue 3 前端工程,docker/放 Nginx 配置与部署脚本。

深入定制与扩展

  • 权限与菜单:角色菜单绑定数据在 backend/ModernWMS.WMS/Entities/Models/Rolemenu/,实现在 backend/ModernWMS.WMS/Services/Rolemenu/,页面侧给角色勾选菜单可见性与按钮权限,改完即时生效
  • 审批流程:入库等业务的流程条件配置在 backend/ModernWMS.WMS/Services/Approve/FlowSetService.cs,配合前端 frontend/src/components/flow/ 做可视化节点编辑
  • 国际化:前端语言文件在 frontend/src/languages/langsJson/(现有中/英/繁),后端在 backend/ModernWMS.Core/Models/MultiLanguage.zh-cn.resx,加一门新语言照着现有格式新建 json 加配置即可
  • 业务扩展:按"Controller + Entity + ViewModel + IService + Service"五件套扩展,参考 backend/ModernWMS.WMS/Services/ 下任一现有模块即可复刻

协作与生态

参与方向:

  • 功能开发:补全单据类型或统计报表
  • Bug 修复:优先处理带复现步骤的 issue
  • 文档完善:README、部署说明、界面截图
  • 测试编写:接口层单元测试
  • UI 优化:Vuetify 组件的交互细节

参与流程四步走:

  1. 分支命名用feature/功能名或bugfix/问题描述
  2. 提交信息写清改动内容,例如[Feature] 添加批量导入
  3. 后端遵循 C# 规范,前端过 ESLint 检查
  4. 提 PR,附改动说明与截图,等待维护者评审

高频疑问速答

Q:运行 ModernWMS 需要哪些环境?后端 .NET SDK 7.0+,前端 Node.js 16.13.1+。开发时前后端分别dotnet run和yarn dev;生产环境可用 docker/ 目录下的 Dockerfile 打包部署。

Q:默认数据库是什么,能换成 MySQL 吗?默认使用仓库自带的 SQLite(wms.db),零配置。backend/ModernWMS/appsettings.json 中把Database.db改成目标库名、调整对应ConnectionStrings即可切换,四种数据库的连接串模板都已备好。

Q:接口认证和数据安全怎么保障?接口基于 JWT 认证,Token 默认 60 分钟过期并支持刷新,敏感操作受角色权限控制,实现都在 backend/ModernWMS.Core/JWT/。生产环境建议启用 HTTPS,并定期备份数据库文件。

Q:支持多租户吗,二次开发从哪入手?支持,租户隔离逻辑在 backend/ModernWMS.Core/MultiTenancy/。二开最省事的入口是按五件套(Controller / Entity / ViewModel / IService / Service)照 backend/ModernWMS.WMS/Services/ 现有模块复刻一个新单据。

收束与行动指引

仓库地址https://gitcode.com/GitHub_Trending/mo/ModernWMS,建议先照 README.zh_CN.md 把环境跑通、用初始账号走一遍"建单 → 收货 → 发货"完整链路,再按业务需求逐块深入。想贡献代码的话,issue 区就是最快的入口,先挑一个带复现步骤的 bug 入手不迟。

【免费下载链接】ModernWMSThe open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the original commercial system wms function and opened it up for free, hoping to help the majority of small and medium-sized enterprises. At present, the system supports cross-platform。项目地址: https://gitcode.com/GitHub_Trending/mo/ModernWMS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考