侧边栏壁纸
  • 累计撰写 21 篇文章
  • 累计收到 29 条评论

AI:ERP-WMS-MES 一体化系统 — 项目详解 & 编译说明

2026-8-15 / 3 评论 / 181 阅读

ERP-WMS-MES 一体化系统 — 项目详解 & 编译说明

一、项目总览

这是一个 Go 单体工程,同时构建出 3 个交付物:

交付物 入口 产物路径 用途
Server 端 ./main.go bin/erp-wms-server.exe HTTP REST API + MySQL + Redis
Desktop 客户端 ./desktop/main.go desktop/erp-wms-desktop.exe→ 复制到bin/ Windows Walk 原生 GUI
微信小程序 miniprogram/app.js 微信开发者工具上传 移动端
  • Go 版本:1.25.0(toolchain go1.25.12)
  • 版本号:统一由 VERSION 文件管理(当前1.0.1)
  • 模块名:erp-wms-system

二、项目目录结构

Plain Text
c:\cx\MWE\
├── main.go              ← Server 端入口(gin HTTP 服务)
├── tray.go              ← Server 端系统托盘 + 窗口管理
├── config_dialog.go     ← Server 端配置对话框
├── database_backup.go   ← Server 端数据库备份
├── install_wizard.go    ← Server 端安装向导
├── mysql_service.go     ← MySQL 服务启停
├── server_manager.go    ← Server 端进程管理
├── router/router.go     ← Gin 路由注册(admin/basic/erp/wms/mes/print/report/dashboard)
├── VERSION              ← 版本号(共用)
├── go.mod / go.sum       ← Go 模块定义
│
├── controller/          ← 服务端控制器(9 大分组 ~30 文件)
│   ├── admin/           ← 管理员:登录/会话/2FA/IP过滤/消息/调度器/安全仪表盘/系统更新
│   ├── basic/           ← 基础数据:审批/附件/公司/打印模板/导入
│   ├── dashboard/       ← 仪表盘统计
│   ├── erp/             ← ERP:采购/销售/委外/合同/财务/退货
│   ├── mes/             ← MES:BOM/工艺/工单/质检/领料/设备
│   ├── print/           ← 打印:模板/预览/元素
│   ├── report/          ← 报表
│   └── wms/             ← WMS:仓库/库位/入库/出库/盘点/批次/库存/移库
│
├── middleware/           ← Gin 中间件
│   ├── api_sign.go      ← API 签名验证
│   ├── global_rate_limit.go ← 全局限流
│   ├── ip_filter.go     ← IP 黑白名单
│   ├── session.go       ← 会话验证
│   └── sensitive_verify.go ← 敏感词校验
│
├── database/             ← GORM 模型 + DB 连接
├── config/              ← 配置加载 + 字段加密 + config.yaml
├── cache/               ← Redis 缓存 + 本地缓存
├── security/            ← AES/RSA 加密 + TOTP 两步验证
├── util/                ← 工具集:响应/签名/分页/上传/GeoIP/密码策略/日志脱敏
├── initializer/         ← 启动初始化:清理临时 + 种子数据
├── scheduler/           ← 定时任务调度器
├── logger/              ← 日志封装
├── deploy/              ← 部署脚本 + init_db.sql
├── cmd/api_validate/    ← API 验证小工具
├── testflow/            ← 业务流程测试(采购单)
│
├── desktop/             ← Windows 桌面客户端(Walk GUI)
│   ├── main.go          ← 客户端入口:登录 → showMainWindow()
│   ├── mainwindow.go    ← 主窗口:侧边栏 + 顶栏 + 状态栏 + TabWidget
│   ├── tray.go          ← 托盘 + 窗口配置 + 最大化异步处理
│   ├── common/          ← UI 基础库:theme/table/dialog/pagination/pinyin/search...
│   ├── modules/         ← 业务 Tab 模块(~55 文件)
│   │   ├── module.go    ← 模块注册 + 导航节点 + 单例 DashboardModule
│   │   ├── dashboard_page.go ← 工作台仪表盘
│   │   ├── admin/ basic/ erp/ finance/ mes/ wms/ ← 6 大业务分组
│   │   ├── ai_assistant.go approval_*.go twofa_settings.go ← 独立模块
│   ├── services/        ← HTTP Client 层(~45 文件):base.go 统一请求/签名/会话
│   ├── models/          ← 客户端轻量 DTO
│   ├── config/buttons.json ← 按钮栏静态配置
│   ├── manifest.xml     ← Windows 资源清单(DPI 感知)
│   ├── rsrc.syso        ← 编译进 exe 的 Win32 资源(图标/清单)
│   └── *.json           ← 运行时配置(列布局/登录/窗口位置)
│
├── miniprogram/         ← 微信小程序
│   ├── pages/           ← home/login/erp/wms/mes/mine/admin/basic
│   └── utils/           ← api/request/cache/scan/nav/session/format/queue
│
├── bin/                 ← 发布目录(server exe + desktop exe)
├── .bat 脚本            ← 运维脚本(见编译说明)
└── rsrc.syso / manifest.xml / mi_icon.ico ← Server 端 Win32 资源

三、编译说明

3.1 前置要求

  • Go 1.25+(go.mod 声明go 1.25.0)
  • Windows 环境(Walk 依赖 Win32 API)
  • MySQL 运行中(Server 启动时连接)
  • Redis(可选,缓存层)

3.2 编译命令

编译桌面客户端

bat
build_client.bat

等价于:

bat
go build -o "desktop\erp-wms-desktop.exe" -ldflags "-H=windowsgui -X main.AppVersion=1.0.1" ./desktop
  • -H=windowsgui:隐藏控制台窗口(纯 GUI 程序)
  • -X main.AppVersion=1.0.1:从 VERSION 注入版本号
  • 产物:desktop/erp-wms-desktop.exe→ 自动复制到bin/erp-wms-desktop.exe

编译服务端

bat
build_server.bat

等价于:

bat
go build -o "bin\erp-wms-server.exe" -ldflags "-s -w -H=windowsgui -X main.AppVersion=1.0.1" .
  • -s -w:去除调试符号(减小体积)
  • -H=windowsgui:以 GUI 模式运行(带托盘)
  • 产物:bin/erp-wms-server.exe
  • 编译后 VERSION 自动 +1(patch 位递增)

手动编译(PowerShell)

PowerShell
cd c:\cx\MWE $version = (Get-Content VERSION -Raw).Trim() # 客户端 go build -o "desktop\erp-wms-desktop.exe" -ldflags "-H=windowsgui -X main.AppVersion=$version" ./desktop # 服务端 go build -o "bin\erp-wms-server.exe" -ldflags "-s -w -H=windowsgui -X main.AppVersion=$version" .

3.3 运行 & 部署

脚本 作用
启动客户端.bat ① 检查 server → 没有则启动bin/erp-wms-server.exe② 轮询/api/admin/permissions等待就绪 ③ 启动desktop/erp-wms-desktop.exe
启动MySQL.bat 启动本地 MySQL 服务
停止服务.bat 停止 server 进程
restart.bat 重启 server
deploy/deploy.bat 部署脚本
deploy/init_db.sql 数据库初始化 SQL

3.4 默认登录

  • 账号:admin
  • 密码:admin123

3.5 微信小程序

使用微信开发者工具打开miniprogram/目录,修改 miniprogram/config/index.js 中的 API 地址后上传。

评论一下?

OωO
取消
    1. 头像
      DonaldDut
      地板
      Hello,

      MP3 source for DJ's music.
      Full access to music library [url=https://sceneflac.blogspot.com]download FLAC[/url] download FLAC[/url]
      Download music from a private FTP, music videos, labels. [url=https://www.0daymusic.org] NEW music[/url]
      Dance/House/Techno/Trance/Rap/Rock/Metal/Folk/Latin/Pop/Hardstyle

      Best regards
      Donald
      回复
    1. 头像
      SeregaG
      板凳
      Здравствуйте. Хотел уточнить по поводу ваших услуг некоторые моменты. Отпишите пожалуйста мне на sergejgnasko0@gmail.com хочу это обсудить
      回复
    1. 头像
      Look at my profi
      沙发
      Something about you intrigued me. Check out my profile?  - https://ugy2mr2.gentlecouple.org/dkf8d6u?m=1
      回复