一个基于Go+Vue开发的现代化OA管理系统,采用响应式设计,支持Docker部署。
- 🔐 用户认证 - JWT令牌认证,支持角色权限管理
- 👥 客户管理 - 客户信息管理,支持增删改查
- 📋 订单管理 - 订单全生命周期管理
- 🏷️ 标签管理 - 灵活的标签分类系统
- 📊 报表管理 - 数据统计与报表生成
- 🔬 检测报告 - 质量检测报告管理
- 🖨️ 打印管理 - 批量打印和打印设置
- 📱 响应式设计 - 支持PC、平板、手机多端访问
- 🐳 容器化部署 - 完整的Docker配置
- Go 1.21 - 主要编程语言
- Gin - Web框架
- GORM - ORM框架
- MySQL 8.0 - 数据库
- JWT - 身份认证
- Redis - 缓存(可选)
- Vue 3 - 前端框架
- TypeScript - 类型安全
- Element Plus - UI组件库
- Vue Router - 路由管理
- Pinia - 状态管理
- Axios - HTTP客户端
- Vite - 构建工具
- Docker & Docker Compose
- Node.js 18+ (仅开发环境)
- Go 1.21+ (仅开发环境)
- 克隆项目
git clone <repository-url>
cd oa-system- 启动服务
# 生产环境
docker-compose up -d
# 开发环境(带热重载)
docker-compose -f docker-compose.dev.yml up -d- 访问应用
- 前端:http://localhost:80
- 后端API:http://localhost:8080
- 默认账号:admin / admin123
- 后端开发
cd backend
cp .env.example .env
# 编辑.env文件配置数据库等信息
go mod download
go run cmd/main.go- 前端开发
cd frontend
npm install
npm run devoa-system/
├── backend/ # Go后端
│ ├── cmd/ # 应用入口
│ ├── internal/ # 内部包
│ │ ├── api/ # API控制器
│ │ ├── config/ # 配置管理
│ │ ├── database/ # 数据库连接
│ │ ├── middleware/ # 中间件
│ │ ├── models/ # 数据模型
│ │ └── services/ # 业务逻辑
│ ├── pkg/ # 公共包
│ └── docs/ # API文档
├── frontend/ # Vue前端
│ ├── src/
│ │ ├── api/ # API接口
│ │ ├── components/ # 组件
│ │ ├── stores/ # 状态管理
│ │ ├── types/ # 类型定义
│ │ ├── utils/ # 工具函数
│ │ └── views/ # 页面视图
│ └── public/ # 静态资源
├── docker-compose.yml # 生产环境Docker配置
├── docker-compose.dev.yml # 开发环境Docker配置
└── README.md # 项目文档
API文档采用Swagger自动生成,启动后端服务后访问: http://localhost:8080/swagger/index.html
系统包含以下主要数据表:
users- 用户表customers- 客户表orders- 订单表labels- 标签表detection_reports- 检测报告表order_labels- 订单标签关联表
# 服务器配置
SERVER_PORT=8080
GIN_MODE=release
# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password
DB_NAME=oa_system
# JWT配置
JWT_SECRET=your-secret-key
JWT_EXPIRE_TIME=86400前端配置通过Vite的环境变量管理,详见 vite.config.ts。
- 确保服务器已安装Docker和Docker Compose
- 克隆项目代码到服务器
- 修改
docker-compose.yml中的环境变量 - 运行
docker-compose up -d - 配置反向代理(如Nginx)
- 应用日志:
docker-compose logs -f [service_name] - 数据库日志:
docker-compose logs -f db - 系统状态:
docker-compose ps
-
后端:
- 在
internal/models/定义数据模型 - 在
internal/services/实现业务逻辑 - 在
internal/api/添加API控制器 - 在
internal/api/router.go注册路由
- 在
-
前端:
- 在
src/views/添加页面组件 - 在
src/api/添加API接口 - 在
src/router/添加路由配置 - 在
src/stores/添加状态管理
- 在
- 后端遵循Go官方代码规范
- 前端使用ESLint和Prettier进行代码格式化
- 提交前请运行测试和代码检查
A: 修改 init.sql 中的默认管理员密码或通过Web界面修改。
A: 使用 docker-compose exec db mysqldump 命令备份数据库。
A: 系统采用模块化设计,可以按需添加新的功能模块。
- Fork项目
- 创建功能分支
- 提交代码
- 创建Pull Request
本项目采用MIT许可证,详见LICENSE文件。
如有问题或建议,请提交Issue或联系开发团队。