Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OA管理系统

一个基于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+ (仅开发环境)

使用Docker Compose部署

  1. 克隆项目
git clone <repository-url>
cd oa-system
  1. 启动服务
# 生产环境
docker-compose up -d

# 开发环境(带热重载)
docker-compose -f docker-compose.dev.yml up -d
  1. 访问应用

开发环境设置

  1. 后端开发
cd backend
cp .env.example .env
# 编辑.env文件配置数据库等信息
go mod download
go run cmd/main.go
  1. 前端开发
cd frontend
npm install
npm run dev

项目结构

oa-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文档

API文档采用Swagger自动生成,启动后端服务后访问: http://localhost:8080/swagger/index.html

数据库设计

系统包含以下主要数据表:

  • users - 用户表
  • customers - 客户表
  • orders - 订单表
  • labels - 标签表
  • detection_reports - 检测报告表
  • order_labels - 订单标签关联表

配置说明

后端配置 (.env)

# 服务器配置
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

部署说明

生产部署

  1. 确保服务器已安装Docker和Docker Compose
  2. 克隆项目代码到服务器
  3. 修改 docker-compose.yml 中的环境变量
  4. 运行 docker-compose up -d
  5. 配置反向代理(如Nginx)

监控和日志

  • 应用日志:docker-compose logs -f [service_name]
  • 数据库日志:docker-compose logs -f db
  • 系统状态:docker-compose ps

开发指南

添加新功能

  1. 后端:

    • internal/models/ 定义数据模型
    • internal/services/ 实现业务逻辑
    • internal/api/ 添加API控制器
    • internal/api/router.go 注册路由
  2. 前端:

    • src/views/ 添加页面组件
    • src/api/ 添加API接口
    • src/router/ 添加路由配置
    • src/stores/ 添加状态管理

代码规范

  • 后端遵循Go官方代码规范
  • 前端使用ESLint和Prettier进行代码格式化
  • 提交前请运行测试和代码检查

常见问题

Q: 如何修改默认密码?

A: 修改 init.sql 中的默认管理员密码或通过Web界面修改。

Q: 如何备份数据?

A: 使用 docker-compose exec db mysqldump 命令备份数据库。

Q: 如何扩展系统?

A: 系统采用模块化设计,可以按需添加新的功能模块。

贡献指南

  1. Fork项目
  2. 创建功能分支
  3. 提交代码
  4. 创建Pull Request

许可证

本项目采用MIT许可证,详见LICENSE文件。

联系方式

如有问题或建议,请提交Issue或联系开发团队。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages