Files
aue/api接口文档.txt
2026-06-03 13:16:30 +08:00

357 lines
6.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
文件管理系统 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) 进行在线测试和调试。