357 lines
6.7 KiB
Plaintext
357 lines
6.7 KiB
Plaintext
文件管理系统 API 文档
|
||
基础信息
|
||
Base URL: http://localhost:8080/api
|
||
认证方式: JWT Bearer Token
|
||
Token Header: Authorization: Bearer {token}
|
||
Swagger UI: http://localhost:8080/api/swagger-ui.html
|
||
API Docs: http://localhost:8080/api/v3/api-docs
|
||
|
||
1. 认证管理 (/auth)
|
||
1.1 用户登录
|
||
POST /auth/login
|
||
描述: 使用用户名和密码登录系统
|
||
请求体:{
|
||
"username": "string",
|
||
"password": "string"
|
||
}
|
||
限流: 60秒内最多5次请求(基于IP)
|
||
|
||
1.2 用户登出
|
||
POST /auth/logout
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
|
||
1.3 获取用户信息
|
||
GET /auth/user/info
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
|
||
1.4 获取用户角色
|
||
GET /auth/user/roles
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
|
||
1.5 获取主要角色
|
||
GET /auth/user/main-role
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
|
||
2. 用户管理 (/user)
|
||
2.1 分页查询用户
|
||
GET /user/page
|
||
Query Parameters:
|
||
pageNum: 页码 (默认: 1)
|
||
pageSize: 每页大小 (默认: 10)
|
||
username: 用户名 (可选)
|
||
deptId: 部门ID (可选)
|
||
|
||
2.2 查询用户详情
|
||
GET /user/{id}
|
||
Path Parameters:
|
||
id: 用户ID
|
||
|
||
2.3 创建用户
|
||
POST /user
|
||
请求体:{
|
||
"username": "newuser",
|
||
"realName": "新用户",
|
||
"email": "user@example.com",
|
||
"phone": "13800138001",
|
||
"deptId": 1,
|
||
"userType": "普通用户",
|
||
"status": 1
|
||
}
|
||
|
||
2.4 更新用户
|
||
PUT /user
|
||
请求体:{
|
||
"id": 1,
|
||
"realName": "更新后的名字",
|
||
"email": "newemail@example.com",
|
||
"phone": "13800138002"
|
||
}
|
||
|
||
2.5 删除用户
|
||
DELETE /user/{id}
|
||
Path Parameters:
|
||
id: 用户ID
|
||
|
||
2.6 重置密码
|
||
PUT /user/{id}/reset-password
|
||
Path Parameters:
|
||
id: 用户ID
|
||
说明: 重置密码为默认密码 123456
|
||
|
||
2.7 更新用户状态
|
||
PUT /user/{id}/status
|
||
Path Parameters:
|
||
id: 用户ID
|
||
Query Parameters:
|
||
status: 状态 (1:启用, 0:禁用)
|
||
|
||
2.8 分配用户角色
|
||
PUT /user/{id}/roles
|
||
Path Parameters:
|
||
id: 用户ID
|
||
请求体:[1, 2, 3]
|
||
说明: 角色ID列表
|
||
|
||
3. 部门管理 (/department)3.1 查询部门列表
|
||
GET /department
|
||
|
||
3.2 创建部门
|
||
POST /department
|
||
请求体:{
|
||
"deptName": "新部门",
|
||
"parentId": 1,
|
||
"orderNum": 1
|
||
}
|
||
|
||
3.3 更新部门
|
||
PUT /department/{id}
|
||
Path Parameters:
|
||
id: 部门ID
|
||
请求体:{
|
||
"deptName": "更新后的部门名",
|
||
"orderNum": 2
|
||
}
|
||
|
||
3.4 删除部门
|
||
DELETE /department/{id}
|
||
Path Parameters:
|
||
id: 部门ID
|
||
|
||
3.5 设置部门管理员
|
||
PUT /department/{id}/manager
|
||
Path Parameters:
|
||
id: 部门ID
|
||
Query Parameters:
|
||
managerId: 管理员用户ID
|
||
|
||
3.6 查询部门用户
|
||
GET /department/{id}/users
|
||
Path Parameters:
|
||
id: 部门ID
|
||
|
||
4. 角色管理 (/role)
|
||
4.1 查询角色列表
|
||
GET /role
|
||
|
||
4.2 创建角色
|
||
POST /role
|
||
请求体:{
|
||
"roleName": "新角色",
|
||
"roleCode": "NEW_ROLE",
|
||
"description": "角色描述"
|
||
}
|
||
|
||
4.3 更新角色
|
||
PUT /role/{id}
|
||
Path Parameters:
|
||
id: 角色ID
|
||
请求体:{
|
||
"roleName": "更新后的角色名",
|
||
"description": "更新后的描述"
|
||
}
|
||
|
||
4.4 删除角色
|
||
DELETE /role/{id}
|
||
Path Parameters:
|
||
id: 角色ID
|
||
|
||
4.5 分配权限
|
||
PUT /role/{id}/permissions
|
||
Path Parameters:
|
||
id: 角色ID
|
||
请求体:[1, 2, 3]
|
||
说明: 权限ID列表
|
||
|
||
4.6 查询角色权限
|
||
GET /role/{id}/permissions
|
||
Path Parameters:
|
||
id: 角色ID
|
||
|
||
5. 文件管理 (/file)
|
||
5.1 分页查询文件
|
||
GET /file/page
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
Query Parameters:
|
||
pageNum: 页码 (默认: 1)
|
||
pageSize: 每页大小 (默认: 10)
|
||
fileName: 文件名 (可选)
|
||
deptId: 部门ID (可选)
|
||
|
||
5.2 查询文件详情
|
||
GET /file/{id}
|
||
Path Parameters:
|
||
id: 文件ID
|
||
|
||
5.3 上传文件
|
||
POST /file/upload
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
Content-Type: multipart/form-data
|
||
Form Data:
|
||
file: 文件对象
|
||
限制:
|
||
文件大小: 最大 10MB
|
||
允许格式: .doc, .docx, .pdf, .txt, .jpg, .jpeg, .png, .gif, .webp
|
||
限流: 60秒内最多10次请求(基于用户)
|
||
|
||
5.4 RAG流式问答
|
||
POST /file/rag/stream
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
Accept: text/event-stream
|
||
请求体:5.4 RAG流式问答
|
||
POST /file/rag/stream
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
Accept: text/event-stream
|
||
|
||
5.5 下载文件
|
||
GET /file/download/{id}
|
||
Path Parameters:
|
||
id: 文件ID
|
||
响应: 文件二进制流
|
||
Headers:
|
||
Content-Disposition: attachment; filename*=UTF-8''{filename}
|
||
Content-Type: application/octet-stream
|
||
|
||
5.6 获取文件内容
|
||
GET /file/content/{id}
|
||
Path Parameters:
|
||
id: 文件ID
|
||
说明: 供后端服务使用,返回文件二进制内容
|
||
|
||
5.7 获取文件详细信息
|
||
GET /file/info/{id}
|
||
Path Parameters:
|
||
id: 文件ID
|
||
说明: 获取文件的所有信息包括内容,供后端服务使用
|
||
|
||
5.8 删除文件
|
||
DELETE /file/{id}
|
||
Path Parameters:
|
||
id: 文件ID
|
||
|
||
6. 文件权限管理 (/file/permission)
|
||
6.1 授权文件权限
|
||
POST /file/permission
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
请求体:{
|
||
"fileId": 1,
|
||
"targetUserId": 2,
|
||
"permissionType": "read",
|
||
"expireTime": "2024-12-31 23:59:59"
|
||
}
|
||
说明:
|
||
permissionType: 权限类型 (read:只读, write:读写)
|
||
expireTime: 过期时间 (可选)
|
||
|
||
6.2 撤销文件权限
|
||
DELETE /file/permission/{id}
|
||
Path Parameters:
|
||
id: 权限ID
|
||
|
||
6.3 查询文件权限列表
|
||
GET /file/permission/file/{fileId}
|
||
Path Parameters:
|
||
fileId: 文件ID
|
||
Headers:
|
||
Authorization: Bearer {token}
|
||
|
||
6.4 更新权限过期时间
|
||
PUT /file/permission/{id}/expire
|
||
Path Parameters:
|
||
id: 权限ID
|
||
请求体:{
|
||
"expireTime": "2025-12-31 23:59:59"
|
||
}
|
||
|
||
7. 日志管理 (/log)
|
||
7.1 分页查询日志
|
||
GET /log/page
|
||
Query Parameters:
|
||
pageNum: 页码 (默认: 1)
|
||
pageSize: 每页大小 (默认: 10)
|
||
username: 用户名 (可选)
|
||
operationType: 操作类型 (可选)
|
||
|
||
|
||
8. 第三方接口 (/third-party)
|
||
8.1 接收JSON数据
|
||
POST /third-party/json
|
||
请求体:{
|
||
"data": {
|
||
"key1": "value1",
|
||
"key2": "value2"
|
||
},
|
||
"fileName": "custom_file"
|
||
}
|
||
说明: 接收第三方系统的JSON数据并生成TXT文件
|
||
|
||
8.2 调用第三方接口
|
||
POST /third-party/call
|
||
Query Parameters:
|
||
filePath: 文件路径
|
||
userId: 用户ID
|
||
说明: 根据文件路径和用户ID调用第三方接口并保存返回数据
|
||
|
||
通用响应格式
|
||
所有接口均使用统一的响应格式:{
|
||
"code": 200,
|
||
"message": "success",
|
||
"data": {}
|
||
}
|
||
|
||
|
||
常见状态码:
|
||
200: 成功
|
||
400: 请求参数错误
|
||
401: 未授权(Token无效或过期)
|
||
403: 权限不足
|
||
404: 资源不存在
|
||
500: 服务器内部错误
|
||
|
||
环境变量配置
|
||
变量名
|
||
说明
|
||
默认值
|
||
DB_USERNAME
|
||
数据库用户名
|
||
root
|
||
DB_PASSWORD
|
||
数据库密码
|
||
123456
|
||
REDIS_HOST
|
||
Redis主机
|
||
localhost
|
||
REDIS_PORT
|
||
Redis端口
|
||
6379
|
||
REDIS_PASSWORD
|
||
Redis密码
|
||
(空)
|
||
JWT_SECRET
|
||
JWT密钥
|
||
your-secret-key-for-jwt-token-generation-2024-change-in-production
|
||
DIFY_API_URL
|
||
Dify API地址
|
||
http://172.20.10.2/v1/workflows/run
|
||
DIFY_API_KEY
|
||
Dify API密钥
|
||
app-0iWrwSYdTczCmRmtVNhfjWnq
|
||
X_KEY
|
||
X-Key
|
||
password123
|
||
CORS_ALLOWED_ORIGINS
|
||
CORS允许的源
|
||
*
|
||
SWAGGER_ENABLED
|
||
是否启用Swagger
|
||
true
|
||
|
||
这份API文档涵盖了系统中所有的接口,包括认证、用户管理、部门管理、角色管理、文件管理、文件权限管理、日志管理和第三方接口。你可以直接在浏览器中访问 Swagger UI (http://localhost:8080/api/swagger-ui.html) 进行在线测试和调试。 |