# 仓库管理系统 **Repository Path**: illusoryNone/wms ## Basic Information - **Project Name**: 仓库管理系统 - **Description**: 基于 **Go Fiber + Vue 3 + Element Plus** 的全栈多租户 SaaS 仓库管理系统,支持单二进制部署。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Warehouse — 多租户仓库管理系统 基于 **Go Fiber + Vue 3 + Element Plus** 的全栈多租户 SaaS 仓库管理系统,支持单二进制部署。 --- ## 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | Go Fiber v2 | | 前端框架 | Vue 3 + TypeScript + Vite | | UI 组件 | Element Plus + TailwindCSS | | 数据库 | PostgreSQL(Schema-per-Tenant 多租户) | | 缓存 | Redis | | 权限 | Casbin RBAC | | 认证 | JWT | | 文档 | Swagger / Swag | | 图表 | ECharts | | 国际化 | vue-i18n / 后端 JSON i18n | ## 功能模块 - **平台管理**:租户管理、套餐管理、系统配置 - **系统管理**:用户 / 角色 / 权限 / 部门 / 岗位 / 菜单 - **WMS 仓库管理** - 基础数据:仓库 / 库区、物料分类 / 物料、联系人 - 单据管理:入库单、出库单、调拨单、盘点单 - 库存查询:库存明细、库存流水 - **仪表盘**:库存预警、到期提醒、趋势图、库存 TOP 10 - **通知系统**:站内通知 + 模板管理 - **审批流**:自定义审批流程 - **操作日志**:全局操作审计 - **回收站**:软删除数据管理 ## 项目结构 ``` warehouse/ ├── backend/ # Go 后端 │ ├── main.go # 入口 │ ├── app/ │ │ ├── admin/ # 租户级 API(routes / service / dto) │ │ ├── platform/ # 平台级 API │ │ ├── seed/ # 种子数据 │ │ └── docs/ # Swagger 文档 │ ├── cmd/ │ │ ├── gen/ # 代码生成器 │ │ └── seed/ # 种子数据执行 │ ├── config/ # 配置文件 │ ├── models/ # GORM 数据模型 │ ├── pkg/ # 公共包 │ │ ├── bootstrap/ # 5 阶段启动器 │ │ ├── casbin/ # RBAC 引擎 │ │ ├── database/ # 数据库 & 迁移 │ │ ├── server/ # HTTP 服务器 │ │ ├── middleware/ # 中间件 │ │ ├── tenant/ # 多租户 │ │ └── ... │ └── web/ # 嵌入前端静态文件 │ └── embed.go ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── api/ # API 接口 │ │ ├── router/ # 路由 │ │ ├── store/ # Pinia 状态 │ │ ├── locales/ # 国际化 │ │ └── ... │ └── vite.config.ts ├── docs/ # 项目文档 └── build.ps1 # 交叉编译打包脚本 ``` ## 快速开始 ### 环境要求 - Go 1.21+ - Node.js 18+(推荐 pnpm) - PostgreSQL 14+ - Redis 6+ ### 开发模式 ```bash # 1. 后端 cd backend cp config/config.yaml.example config/config.yaml # 编辑配置 go run main.go # 2. 前端(另一个终端) cd frontend pnpm install pnpm dev # 访问 http://localhost:3006 ``` ### 生产部署(单二进制) ```powershell # 一键构建(Windows) .\build.ps1 # 指定平台 .\build.ps1 -Targets "linux-amd64,linux-arm64" # 跳过 UPX 压缩 .\build.ps1 -NoUPX # 构建产物在 build/ 目录下 ./build/warehouse-linux-amd64 ``` 单二进制即包含后端 API + 前端 SPA,访问 `http://your-server:8080` 即可使用。 ### 配置说明 编辑 `backend/config/config.yaml`: ```yaml server: name: "Warehouse" host: "0.0.0.0" port: 8080 mode: "release" # debug / release database: driver: "postgres" host: "127.0.0.1" port: 5432 database: "warehouse" username: "warehouse" password: "your-password" cache: driver: "redis" redis: host: "127.0.0.1" port: 6379 password: "" ``` ### 初始化数据 ```bash cd backend go run cmd/seed/main.go ``` ## 构建脚本 `build.ps1` 支持: | 参数 | 说明 | 默认值 | |------|------|--------| | `-Targets` | 目标平台,逗号分隔 | 全部 5 平台 | | `-NoUPX` | 跳过 UPX 压缩 | 启用压缩 | | `-NoBuildFrontend` | 跳过前端构建 | 构建前端 | 支持平台:`linux-amd64`, `linux-arm64`, `windows-amd64`, `darwin-amd64`, `darwin-arm64` ## 许可证 MIT License