文件管理系统 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) 进行在线测试和调试。