up
This commit is contained in:
@@ -1,2 +1,144 @@
|
|||||||
# Ops
|
# OPS 运营管理系统
|
||||||
## Operations(运营)的缩写,广泛用于IT和业务运营领域。
|
|
||||||
|
> Operations(运营)的缩写,一个前后端分离的工作流/运营管理系统。
|
||||||
|
|
||||||
|
## 项目简介
|
||||||
|
|
||||||
|
OPS 是一个功能完善的运营管理系统,支持用户认证、文件管理、采购订单管理、日程排班等功能。前端采用 Vue 3 + Tailwind CSS,后端采用 Go + Gin 框架。
|
||||||
|
|
||||||
|
## 技术栈
|
||||||
|
|
||||||
|
### 后端
|
||||||
|
- **语言**: Go
|
||||||
|
- **框架**: Gin (HTTP) + GORM (ORM)
|
||||||
|
- **数据库**: SQLite / MySQL / PostgreSQL (通过配置切换)
|
||||||
|
- **日志**: Uber Zap
|
||||||
|
|
||||||
|
### 前端
|
||||||
|
- **框架**: Vue 3 (JavaScript)
|
||||||
|
- **构建工具**: Vite 7
|
||||||
|
- **CSS**: Tailwind CSS v4
|
||||||
|
- **状态管理**: Pinia
|
||||||
|
- **国际化**: vue-i18n
|
||||||
|
- **图标**: @tabler/icons-vue
|
||||||
|
- **组件库**: FullCalendar, CropperJS, FilePond, flatpickr
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
ops2/
|
||||||
|
├── backend/ # Go 后端
|
||||||
|
│ ├── api/ # API 路由定义
|
||||||
|
│ ├── internal/ # 内部包
|
||||||
|
│ │ ├── config/ # 配置管理
|
||||||
|
│ │ ├── database/ # 数据库连接
|
||||||
|
│ │ ├── handler/ # HTTP 处理器
|
||||||
|
│ │ ├── middleware/# 中间件
|
||||||
|
│ │ ├── repository/# 数据访问层
|
||||||
|
│ │ └── service/ # 业务逻辑层
|
||||||
|
│ ├── models/ # 数据模型
|
||||||
|
│ ├── routers/ # 兼容性路由
|
||||||
|
│ ├── pkg/ # 公共包
|
||||||
|
│ └── main.go # 应用入口
|
||||||
|
│
|
||||||
|
├── frontend/
|
||||||
|
│ └── ops_vue_js/ # Vue 3 前端(主力开发目录)
|
||||||
|
│
|
||||||
|
└── DOC/ # 项目文档
|
||||||
|
```
|
||||||
|
|
||||||
|
## 功能模块
|
||||||
|
|
||||||
|
- **用户认证**: 登录、注册、密码找回、Session 管理
|
||||||
|
- **文件管理**: 图片/文件上传、下载、头像裁剪
|
||||||
|
- **采购订单**: 订单创建、列表查看、费用明细
|
||||||
|
- **日程排班**: FullCalendar 日历视图
|
||||||
|
- **仓库管理**: 库存管理功能
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 前置要求
|
||||||
|
|
||||||
|
- Go 1.21+
|
||||||
|
- Node.js 18+
|
||||||
|
- GCC (TDM-GCC for Windows)
|
||||||
|
|
||||||
|
### 后端启动
|
||||||
|
|
||||||
|
```bash
|
||||||
|
fresh
|
||||||
|
```
|
||||||
|
|
||||||
|
服务默认运行在 http://localhost:8080
|
||||||
|
|
||||||
|
### 前端启动
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd frontend/ops_vue_js
|
||||||
|
npm install
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
## API 路由
|
||||||
|
|
||||||
|
### RESTful API v1
|
||||||
|
- `GET /api/v1/` - API 根路径
|
||||||
|
- `POST /api/v1/users/login` - 用户登录
|
||||||
|
- `POST /api/v1/users/register` - 用户注册
|
||||||
|
- `GET /api/v1/users/profile` - 获取用户信息
|
||||||
|
- `POST /api/v1/files/upload` - 文件上传
|
||||||
|
- `GET /api/v1/files/list` - 文件列表
|
||||||
|
- `POST /api/v1/purchase/orders` - 创建采购订单
|
||||||
|
- `GET /api/v1/purchase/orders` - 获取采购订单列表
|
||||||
|
|
||||||
|
### 兼容性 API
|
||||||
|
- `/api/users/*` - 用户相关
|
||||||
|
- `/api/files/*` - 文件相关
|
||||||
|
- `/api/purchase/*` - 采购相关
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
后端配置文件位于 `./backend/data/config.yaml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
server:
|
||||||
|
port: 8080
|
||||||
|
mode: debug # debug / release
|
||||||
|
|
||||||
|
database:
|
||||||
|
type: sqlite
|
||||||
|
path: ./data/ops.db
|
||||||
|
```
|
||||||
|
|
||||||
|
## 开发规范
|
||||||
|
|
||||||
|
### 后端架构 (分层)
|
||||||
|
```
|
||||||
|
Handler → Service → Repository → Database
|
||||||
|
```
|
||||||
|
|
||||||
|
### 认证方式
|
||||||
|
- 请求体中携带 `userCookieValue` 字段
|
||||||
|
- 或使用 Authorization Bearer Token
|
||||||
|
|
||||||
|
### 响应格式
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": "0", // 错误码,0 表示成功
|
||||||
|
"message": "Success",
|
||||||
|
"data": {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 错误码
|
||||||
|
- `0`: 成功
|
||||||
|
- `-1`: 内部错误
|
||||||
|
- `-2`: 参数错误
|
||||||
|
- `-3`: 未登录
|
||||||
|
- `-4`: 用户已存在
|
||||||
|
- `-5`: 用户不存在
|
||||||
|
- `-42`: 凭证错误
|
||||||
|
|
||||||
|
## 许可证
|
||||||
|
|
||||||
|
MIT License - 见 LICENSE 文件
|
||||||
|
|||||||
Reference in New Issue
Block a user