{ "openapi": "3.0.0", "paths": { "/api/v1/callback": { "post": { "operationId": "AppController_callback", "parameters": [], "responses": { "201": { "description": "" } }, "tags": [ "App" ] } }, "/api/v1/templates/{templateId}/execute": { "post": { "description": "根据模板ID执行AI生成任务,支持图片和视频生成", "operationId": "TemplateController_executeTemplateById", "parameters": [ { "name": "templateId", "required": true, "in": "path", "description": "模板ID", "schema": { "example": 1, "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateExecuteDto" } } } }, "responses": { "200": { "description": "执行成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateExecuteResponseDto" } } } }, "400": { "description": "参数错误", "content": { "application/json": { "schema": { "example": { "code": 400, "message": "imageUrl is required", "data": null } } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "执行模板生成", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/code/{code}/execute": { "post": { "description": "\n 根据模板代码执行AI生成任务,直接执行模板无需后端审核。\n \n 参数说明:\n - imageUrl: 输入图片URL(必需)\n - auditTaskId: 前端审核任务ID(可选),用于追踪审核记录\n \n 返回ID说明:\n - executionId: 数据库执行记录主键,用于查询执行状态\n - taskId: 外部服务(N8N)任务ID,用于追踪模板执行状态\n - auditTaskId: 前端传入的审核任务ID\n ", "operationId": "TemplateController_executeTemplateByCode", "parameters": [ { "name": "code", "required": true, "in": "path", "description": "模板代码", "schema": { "example": "character_figurine_v1", "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateExecuteDto" } } } }, "responses": { "200": { "description": "执行成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "模板执行已启动", "data": { "executionId": 123, "taskId": "n8n_task_456", "auditTaskId": "audit_task_789", "status": "processing", "message": "模板执行已启动" } } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "429": { "description": "任务数量限制", "content": { "application/json": { "schema": { "example": { "code": 429, "message": "当前账号有3个任务正在进行中,且距开始时间不足5分钟,请稍后再试", "data": null } } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "通过代码执行模板", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/{templateId}/batch-execute": { "post": { "description": "批量执行模板生成任务,支持多张图片同时处理", "operationId": "TemplateController_batchExecuteTemplate", "parameters": [ { "name": "templateId", "required": true, "in": "path", "description": "模板ID", "schema": { "example": 1, "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchExecuteDto" } } } }, "responses": { "200": { "description": "批量执行成功", "content": { "application/json": { "schema": { "example": { "success": true, "data": { "templateId": 1, "totalCount": 2, "results": [ { "inputUrl": "image1.jpg", "outputUrl": "output1.jpg" }, { "inputUrl": "image2.jpg", "outputUrl": "output2.jpg" } ] } } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "批量执行模板", "tags": [ "AI模板系统" ] } }, "/api/v1/templates": { "get": { "description": "获取所有可用的AI生成模板,支持按类型筛选", "operationId": "TemplateController_getAllTemplates", "parameters": [], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateListDto" } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "获取所有模板列表", "tags": [ "AI模板系统" ] }, "post": { "description": "创建一个新的AI生成模板", "operationId": "TemplateController_createTemplate", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTemplateDto" } } } }, "responses": { "200": { "description": "创建成功", "content": { "application/json": { "schema": { "example": { "success": true, "data": { "id": 1, "code": "new_template_v1", "name": "新模板" } } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "409": { "description": "模板代码已存在" }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "创建新模板", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/image": { "get": { "description": "获取所有图片类型的AI生成模板", "operationId": "TemplateController_getImageTemplates", "parameters": [], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateListDto" } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "获取图片模板列表", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/video": { "get": { "description": "获取所有视频类型的AI生成模板", "operationId": "TemplateController_getVideoTemplates", "parameters": [], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TemplateListDto" } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "获取视频模板列表", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/recommend": { "get": { "description": "根据用户偏好标签推荐适合的模板", "operationId": "TemplateController_recommendTemplates", "parameters": [ { "name": "tags", "required": false, "in": "query", "description": "用户偏好标签,逗号分隔", "schema": { "example": "人物,手办", "type": "string" } }, { "name": "limit", "required": false, "in": "query", "description": "推荐数量", "schema": { "example": 5, "type": "number" } } ], "responses": { "200": { "description": "推荐成功", "content": { "application/json": { "schema": { "example": { "success": true, "data": { "userTags": [ "人物", "手办" ], "recommendedTemplates": [] } } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "推荐模板", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/{templateId}": { "get": { "description": "根据模板ID获取详细信息", "operationId": "TemplateController_getTemplateById", "parameters": [ { "name": "templateId", "required": true, "in": "path", "description": "模板ID", "schema": { "example": 1, "type": "number" } } ], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateListDto" } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "404": { "description": "模板不存在" }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "获取模板详情", "tags": [ "AI模板系统" ] }, "put": { "description": "更新指定模板的配置信息", "operationId": "TemplateController_updateTemplate", "parameters": [ { "name": "templateId", "required": true, "in": "path", "description": "模板ID", "schema": { "example": 1, "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTemplateDto" } } } }, "responses": { "200": { "description": "更新成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TemplateListDto" } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "404": { "description": "模板不存在" }, "409": { "description": "模板代码已存在" }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "更新模板", "tags": [ "AI模板系统" ] }, "delete": { "operationId": "TemplateController_deleteTemplate", "parameters": [ { "name": "templateId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "tags": [ "AI模板系统" ] } }, "/api/v1/templates/execution/{executionId}/progress": { "get": { "description": "\n 根据 executionId 查询模板执行进度和状态。\n \n 注意:请使用执行接口返回的 executionId 作为查询参数,而不是 taskId 或 auditTaskId。\n \n 返回的状态包括:\n - pending_audit: 图片审核中\n - audit_failed: 图片审核失败\n - processing: 模板执行中\n - completed: 执行完成\n - failed: 执行失败\n ", "operationId": "TemplateController_getExecutionProgress", "parameters": [ { "name": "executionId", "required": true, "in": "path", "description": "执行记录ID(从执行接口返回的 executionId)", "schema": { "example": 123, "type": "number" } } ], "responses": { "200": { "description": "查询成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "获取执行进度成功", "data": { "executionId": 123, "taskId": "n8n_task_456", "auditTaskId": "audit_task_789", "templateId": 1, "templateName": "照片修复模板", "status": "processing", "progress": 50, "inputImageUrl": "https://example.com/input.jpg", "outputUrl": null, "errorMessage": null, "createdAt": "2025-01-01T00:00:00Z", "updatedAt": "2025-01-01T00:05:00Z" } } } } } }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "404": { "description": "执行记录不存在" }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "summary": "查询模板执行进度", "tags": [ "AI模板系统" ] } }, "/api/v1/templates/executions/user/{userId}": { "get": { "operationId": "TemplateController_getUserExecutions", "parameters": [ { "name": "userId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "status", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "limit", "required": true, "in": "query", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "tags": [ "AI模板系统" ] } }, "/api/v1/templates/admin/{templateId}": { "get": { "operationId": "TemplateController_getTemplateForAdmin", "parameters": [ { "name": "templateId", "required": true, "in": "path", "schema": { "type": "number" } } ], "responses": { "200": { "description": "" }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "tags": [ "AI模板系统" ] } }, "/api/v1/templates/admin": { "get": { "operationId": "TemplateController_getAllTemplatesForAdmin", "parameters": [ { "name": "page", "required": true, "in": "query", "schema": { "type": "number" } }, { "name": "limit", "required": true, "in": "query", "schema": { "type": "number" } }, { "name": "type", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "isActive", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "" }, "400": { "description": "请求参数错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "401": { "description": "未授权访问", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } }, "500": { "description": "服务器内部错误", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponseDto" } } } } }, "tags": [ "AI模板系统" ] } }, "/api/v1/image-composition/compose": { "post": { "description": "将多张图片按指定位置拼接到一个画布上,支持层级、透明度等设置", "operationId": "ImageCompositionController_composeImages", "parameters": [], "requestBody": { "required": true, "description": "图片拼接配置 - 简化版本", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCompositionDto" }, "examples": { "horizontal": { "summary": "水平排列示例", "value": { "images": [ "https://picsum.photos/300/200", "https://picsum.photos/300/200", "https://picsum.photos/300/200" ], "direction": "horizontal", "outputFormat": "jpeg", "maxWidth": 1920, "maxHeight": 1080, "quality": 80 } }, "vertical": { "summary": "垂直排列示例", "value": { "images": [ "https://picsum.photos/200/300", "https://picsum.photos/200/300", "https://picsum.photos/200/300" ], "direction": "vertical", "outputFormat": "webp", "maxWidth": 800, "maxHeight": 1200, "quality": 85 } }, "grid": { "summary": "网格排列示例", "value": { "images": [ "https://picsum.photos/200/200", "https://picsum.photos/200/200", "https://picsum.photos/200/200", "https://picsum.photos/200/200", "https://picsum.photos/200/200" ], "direction": "grid", "outputFormat": "jpeg", "maxWidth": 1024, "maxHeight": 1024, "quality": 75 } } } } } }, "responses": { "200": { "description": "图片拼接成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageCompositionResponseDto" } } } }, "400": { "description": "请求参数错误" }, "401": { "description": "未授权访问" }, "500": { "description": "服务器内部错误" } }, "summary": "图片拼接", "tags": [ "图片处理" ] } }, "/api/v1/users/login": { "post": { "description": "支持微信、支付宝、百度、字节跳动等8大平台的统一登录接口", "operationId": "UnifiedUserController_login", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformLoginDto" } } } }, "responses": { "200": { "description": "登录成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "登录成功", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "refreshToken": "refresh_token_string", "userInfo": { "id": "user-uuid", "nickname": "用户昵称", "avatarUrl": "https://example.com/avatar.jpg" } } } } } } }, "400": { "description": "请求参数错误" }, "401": { "description": "平台授权失败" } }, "summary": "多平台统一登录", "tags": [ "用户管理" ] } }, "/api/v1/users/register": { "post": { "description": "支持多平台用户注册,自动创建统一用户身份", "operationId": "UnifiedUserController_register", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformLoginDto" } } } }, "responses": { "200": { "description": "注册成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "注册成功", "data": { "userId": "user-uuid", "unifiedUserId": "unified-user-123" } } } } } } }, "summary": "多平台统一注册", "tags": [ "用户管理" ] } }, "/api/v1/users/profile": { "get": { "description": "获取当前登录用户的详细信息和平台绑定状态", "operationId": "UnifiedUserController_getProfile", "parameters": [], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "获取成功", "data": { "id": "user-uuid", "unifiedUserId": "unified-user-123", "nickname": "用户昵称", "avatarUrl": "https://example.com/avatar.jpg", "phone": "13800138000", "email": "user@example.com", "platformUsers": [] } } } } } }, "401": { "description": "未授权访问" } }, "security": [ { "JWT-auth": [] } ], "summary": "获取用户档案", "tags": [ "用户管理" ] }, "put": { "description": "更新当前用户的基本信息(昵称、头像等)", "operationId": "UnifiedUserController_updateProfile", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserInfoUpdateDto" } } } }, "responses": { "200": { "description": "更新成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "更新成功" } } } } }, "401": { "description": "未授权访问" } }, "security": [ { "JWT-auth": [] } ], "summary": "更新用户信息", "tags": [ "用户管理" ] } }, "/api/v1/users/bind-platform": { "post": { "description": "将其他平台账号绑定到当前统一用户身份", "operationId": "UnifiedUserController_bindPlatform", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformBindDto" } } } }, "responses": { "200": { "description": "绑定成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "绑定成功" } } } } }, "401": { "description": "未授权访问" }, "409": { "description": "平台账号已绑定其他用户" } }, "security": [ { "JWT-auth": [] } ], "summary": "绑定平台账号", "tags": [ "用户管理" ] } }, "/api/v1/users/unbind-platform/{platform}": { "delete": { "description": "解除指定平台账号与当前用户的绑定关系", "operationId": "UnifiedUserController_unbindPlatform", "parameters": [ { "name": "platform", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "解绑成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "解绑成功" } } } } }, "401": { "description": "未授权访问" }, "404": { "description": "平台绑定不存在" } }, "security": [ { "JWT-auth": [] } ], "summary": "解绑平台账号", "tags": [ "用户管理" ] } }, "/api/v1/users/platforms": { "get": { "description": "获取系统支持的所有平台类型和相关信息", "operationId": "UnifiedUserController_getSupportedPlatforms", "parameters": [], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "example": { "code": 200, "message": "获取成功", "data": [ { "type": "wechat", "name": "微信小程序", "supported": true }, { "type": "alipay", "name": "支付宝小程序", "supported": true } ] } } } } } }, "summary": "获取支持的平台列表", "tags": [ "用户管理" ] } }, "/api/v1/content-moderation/{platform}/audit-image": { "post": { "operationId": "ContentModerationController_auditImage", "parameters": [ { "name": "platform", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ImageAuditDto" } } } }, "responses": { "200": { "description": "审核成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContentAuditResponseDto" } } } } }, "security": [ { "bearer": [] } ], "summary": "图片内容审核", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/{platform}/audit-batch": { "post": { "operationId": "ContentModerationController_auditImageBatch", "parameters": [ { "name": "platform", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "responses": { "200": { "description": "批量审核成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchAuditResponseDto" } } } } }, "security": [ { "bearer": [] } ], "summary": "批量图片审核", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/{platform}/result/{taskId}": { "get": { "operationId": "ContentModerationController_getAuditResult", "parameters": [ { "name": "platform", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "taskId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "查询成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContentAuditResponseDto" } } } } }, "security": [ { "bearer": [] } ], "summary": "查询审核结果", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/{platform}/callback": { "post": { "operationId": "ContentModerationController_handleCallback", "parameters": [ { "name": "platform", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "" } }, "summary": "审核结果回调", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/history": { "get": { "operationId": "ContentModerationController_getAuditHistory", "parameters": [], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] } ], "summary": "获取审核历史", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/stats": { "get": { "operationId": "ContentModerationController_getAuditStats", "parameters": [ { "name": "platform", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "startDate", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "endDate", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "获取成功", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuditStatsResponseDto" } } } } }, "summary": "获取审核统计", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/user-stats": { "get": { "operationId": "ContentModerationController_getUserAuditStats", "parameters": [], "responses": { "200": { "description": "" } }, "security": [ { "bearer": [] } ], "summary": "获取用户审核统计", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/platforms": { "get": { "operationId": "ContentModerationController_getSupportedPlatforms", "parameters": [], "responses": { "200": { "description": "" } }, "summary": "获取支持的审核平台", "tags": [ "内容审核" ] } }, "/api/v1/content-moderation/check/{taskId}": { "get": { "operationId": "ContentModerationController_checkContentApproval", "parameters": [ { "name": "taskId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "summary": "检查内容是否通过审核", "tags": [ "内容审核" ] } } }, "info": { "title": "多平台小程序统一后台API", "description": "\n ## 功能特性\n - 🔐 统一用户认证 (微信/支付宝/百度/字节跳动等)\n - 🎨 AI模板系统 (图片/视频生成)\n - 💰 积分系统 (积分获取、消耗、管理)\n - 📱 多平台适配 (8大平台支持)\n - 🧩 扩展数据存储 (灵活的JSON数据)\n \n ## 认证方式\n 使用JWT Bearer Token进行API认证\n \n ## 响应格式\n 所有API响应都遵循统一格式:\n ```json\n {\n \"code\": 200,\n \"message\": \"success\",\n \"data\": {},\n \"timestamp\": 1703001000000,\n \"traceId\": \"trace-uuid\"\n }\n ```\n ", "version": "1.0.0", "contact": { "name": "开发团队", "url": "https://example.com", "email": "dev@example.com" }, "license": { "name": "MIT", "url": "https://opensource.org/licenses/MIT" } }, "tags": [ { "name": "用户管理", "description": "用户注册、登录、信息管理" }, { "name": "平台适配", "description": "各平台特定接口和数据同步" }, { "name": "AI模板系统", "description": "AI图片/视频生成模板管理" }, { "name": "积分系统", "description": "积分获取、消耗、查询管理" }, { "name": "扩展服务", "description": "预留的扩展功能接口" } ], "servers": [ { "url": "http://localhost:3003", "description": "开发环境" }, { "url": "https://sd2s2bl25ni4n75na2bog.apigateway-cn-beijing.volceapi.com", "description": "测试环境" }, { "url": "https://sd2s2bl25ni4n75na2bog.apigateway-cn-beijing.volceapi.com", "description": "生产环境" } ], "components": { "securitySchemes": { "JWT-auth": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http", "name": "JWT", "description": "Enter JWT token", "in": "header" } }, "schemas": { "ErrorResponseDto": { "type": "object", "properties": { "code": { "type": "number", "description": "错误状态码", "example": 400 }, "message": { "type": "string", "description": "错误消息", "example": "请求参数错误" }, "timestamp": { "type": "number", "description": "时间戳", "example": 1703001000000 }, "traceId": { "type": "string", "description": "追踪ID", "example": "trace-uuid-123" }, "details": { "description": "详细错误信息", "example": [ "字段验证失败" ], "type": "array", "items": { "type": "string" } } }, "required": [ "code", "message", "timestamp", "traceId" ] }, "TemplateExecuteDto": { "type": "object", "properties": { "imageUrl": { "type": "string", "description": "输入图片URL", "example": "https://cdn.example.com/upload/image.jpg" }, "auditTaskId": { "type": "string", "description": "审核任务ID(可选)", "example": "audit_task_12345" } }, "required": [ "imageUrl" ] }, "TemplateExecuteResponseDto": { "type": "object", "properties": { "success": { "type": "boolean", "description": "执行状态", "example": true }, "imageUrl": { "type": "string", "description": "生成结果URL(图片模板)" }, "videoUrl": { "type": "string", "description": "生成结果URL(视频模板)" }, "thumbnailUrl": { "type": "string", "description": "缩略图URL" }, "taskId": { "type": "string", "description": "任务ID", "example": "req_1704067200_abc123" }, "executionTime": { "type": "number", "description": "执行耗时(毫秒)", "example": 5000 }, "creditCost": { "type": "number", "description": "消耗积分", "example": 28 } }, "required": [ "success", "taskId", "executionTime", "creditCost" ] }, "BatchExecuteDto": { "type": "object", "properties": { "imageUrls": { "description": "输入图片URL数组", "example": [ "https://cdn.example.com/upload/image1.jpg", "https://cdn.example.com/upload/image2.jpg" ], "type": "array", "items": { "type": "string" } } }, "required": [ "imageUrls" ] }, "TemplateListDto": { "type": "object", "properties": { "id": { "type": "number", "description": "模板ID", "example": 1 }, "code": { "type": "string", "description": "模板代码", "example": "character_figurine_v1" }, "name": { "type": "string", "description": "模板名称", "example": "人物手办" }, "description": { "type": "string", "description": "模板描述", "example": "将人物照片制作成精细的角色手办模型" }, "templateType": { "type": "string", "enum": [ "image", "video" ], "description": "模板类型", "example": "video" }, "creditCost": { "type": "number", "description": "积分消耗", "example": 28 }, "version": { "type": "string", "description": "版本号", "example": "1.0.0" }, "inputExampleUrl": { "type": "string", "description": "输入示例URL" }, "outputExampleUrl": { "type": "string", "description": "输出示例URL" }, "tags": { "description": "标签数组", "example": [ "人物", "手办", "模型" ], "type": "array", "items": { "type": "string" } }, "isActive": { "type": "boolean", "description": "是否启用", "example": true }, "createdAt": { "format": "date-time", "type": "string", "description": "创建时间", "example": "2024-01-01T00:00:00Z" } }, "required": [ "id", "code", "name", "description", "templateType", "creditCost", "version", "tags", "isActive", "createdAt" ] }, "CreateTemplateDto": { "type": "object", "properties": { "code": { "type": "string", "description": "模板代码", "example": "character_figurine_v1" }, "name": { "type": "string", "description": "模板名称", "example": "人物手办" }, "description": { "type": "string", "description": "模板描述", "example": "将人物照片制作成精细的角色手办模型" }, "creditCost": { "type": "number", "description": "积分消耗", "example": 28, "minimum": 0 }, "version": { "type": "string", "description": "版本号", "example": "1.0.0" }, "inputExampleUrl": { "type": "string", "description": "输入示例URL", "example": "https://example.com/input.jpg" }, "outputExampleUrl": { "type": "string", "description": "输出示例URL", "example": "https://example.com/output.jpg" }, "tags": { "description": "标签数组", "example": [ "人物", "手办", "模型" ], "type": "array", "items": { "type": "string" } }, "templateType": { "type": "string", "description": "模板类型", "enum": [ "image", "video" ], "example": "image" }, "templateClass": { "type": "string", "description": "模板类名", "example": "CharacterFigurineTemplate" }, "imageModel": { "type": "string", "description": "图片模型", "example": "flux-dev" }, "imagePrompt": { "type": "string", "description": "图片提示词模板" }, "videoModel": { "type": "string", "description": "视频模型", "example": "runway-gen3" }, "videoPrompt": { "type": "string", "description": "视频提示词模板" }, "duration": { "type": "number", "description": "视频时长(秒)", "example": 10, "minimum": 1, "maximum": 300 }, "aspectRatio": { "type": "string", "description": "宽高比", "example": "16:9" }, "isActive": { "type": "boolean", "description": "是否启用", "example": true }, "sortOrder": { "type": "number", "description": "排序权重", "example": 100 } }, "required": [ "code", "name", "description", "creditCost", "version", "templateType", "templateClass" ] }, "UpdateTemplateDto": { "type": "object", "properties": { "code": { "type": "string", "description": "模板代码", "example": "character_figurine_v1" }, "name": { "type": "string", "description": "模板名称", "example": "人物手办" }, "description": { "type": "string", "description": "模板描述", "example": "将人物照片制作成精细的角色手办模型" }, "creditCost": { "type": "number", "description": "积分消耗", "example": 28, "minimum": 0 }, "version": { "type": "string", "description": "版本号", "example": "1.0.1" }, "inputExampleUrl": { "type": "string", "description": "输入示例URL", "example": "https://example.com/input.jpg" }, "outputExampleUrl": { "type": "string", "description": "输出示例URL", "example": "https://example.com/output.jpg" }, "tags": { "description": "标签数组", "example": [ "人物", "手办", "模型" ], "type": "array", "items": { "type": "string" } }, "templateType": { "type": "string", "description": "模板类型", "enum": [ "image", "video" ] }, "templateClass": { "type": "string", "description": "模板类名", "example": "CharacterFigurineTemplate" }, "imageModel": { "type": "string", "description": "图片模型", "example": "flux-dev" }, "imagePrompt": { "type": "string", "description": "图片提示词模板" }, "videoModel": { "type": "string", "description": "视频模型", "example": "runway-gen3" }, "videoPrompt": { "type": "string", "description": "视频提示词模板" }, "duration": { "type": "number", "description": "视频时长(秒)", "example": 10, "minimum": 1, "maximum": 300 }, "aspectRatio": { "type": "string", "description": "宽高比", "example": "16:9" }, "isActive": { "type": "boolean", "description": "是否启用", "example": true }, "sortOrder": { "type": "number", "description": "排序权重", "example": 100 } } }, "ImageCompositionDto": { "type": "object", "properties": { "images": { "description": "图片URL或base64数据列表", "example": [ "https://picsum.photos/300/200", "https://picsum.photos/300/200", "https://picsum.photos/300/200" ], "type": "array", "items": { "type": "string" } }, "direction": { "type": "string", "description": "排列方向", "enum": [ "horizontal", "vertical", "grid" ], "example": "horizontal" }, "outputFormat": { "type": "string", "description": "输出格式", "enum": [ "jpeg", "png", "webp" ], "example": "png", "default": "png" }, "maxWidth": { "type": "number", "description": "最大输出宽度(像素),超过会等比压缩", "example": 1920, "default": 1920, "minimum": 100, "maximum": 4096 }, "maxHeight": { "type": "number", "description": "最大输出高度(像素),超过会等比压缩", "example": 1080, "default": 1080, "minimum": 100, "maximum": 4096 }, "quality": { "type": "number", "description": "图片质量(1-100),仅对JPEG/WebP有效", "example": 80, "default": 80, "minimum": 1, "maximum": 100 } }, "required": [ "images", "direction" ] }, "ImageCompositionResponseDto": { "type": "object", "properties": { "imageUrl": { "type": "string", "description": "拼接后的图片URL", "example": "https://s3.amazonaws.com/bucket/composed-image-1234567890.png" }, "format": { "type": "string", "description": "图片格式", "example": "png" }, "size": { "type": "number", "description": "图片大小(字节)", "example": 12345 }, "width": { "type": "number", "description": "画布宽度", "example": 800 }, "height": { "type": "number", "description": "画布高度", "example": 600 }, "processingTime": { "type": "number", "description": "处理耗时(毫秒)", "example": 150 } }, "required": [ "imageUrl", "format", "size", "width", "height", "processingTime" ] }, "PlatformType": { "type": "string", "enum": [ "wechat", "alipay", "baidu", "bytedance", "jd", "qq", "feishu", "kuaishou", "h5", "rn" ], "description": "平台类型" }, "PlatformLoginDto": { "type": "object", "properties": { "platform": { "description": "平台类型", "example": "wechat", "allOf": [ { "$ref": "#/components/schemas/PlatformType" } ] }, "code": { "type": "string", "description": "平台授权码", "example": "081234567890abcdef" }, "encryptedData": { "type": "string", "description": "加密用户数据(微信小程序)" }, "iv": { "type": "string", "description": "加密向量(微信小程序)" }, "userInfo": { "type": "object", "description": "用户基础信息" }, "anonymousCode": { "type": "string", "description": "匿名授权码(抖音小程序)" } }, "required": [ "platform", "code" ] }, "UserInfoUpdateDto": { "type": "object", "properties": { "nickname": { "type": "string", "description": "用户昵称" }, "avatarUrl": { "type": "string", "description": "头像URL" }, "phone": { "type": "string", "description": "手机号码" }, "email": { "type": "string", "description": "电子邮箱" } } }, "PlatformBindDto": { "type": "object", "properties": { "platform": { "type": "string", "description": "平台类型", "enum": [ "wechat", "alipay", "baidu", "bytedance", "jd", "qq", "feishu", "kuaishou", "h5", "rn" ] }, "code": { "type": "string", "description": "平台授权码" }, "encryptedData": { "type": "string", "description": "加密用户数据(微信小程序)" }, "iv": { "type": "string", "description": "加密向量(微信小程序)" }, "userInfo": { "type": "object", "description": "用户基础信息" } }, "required": [ "platform", "code" ] }, "ImageAuditDto": { "type": "object", "properties": { "imageUrl": { "type": "string", "description": "图片URL", "example": "https://example.com/image.jpg" }, "imageBase64": { "type": "string", "description": "图片Base64(可选)" }, "taskId": { "type": "string", "description": "任务ID(可选)" }, "businessType": { "type": "string", "description": "业务类型", "example": "user_avatar" }, "extraData": { "type": "object", "description": "扩展数据" } }, "required": [ "imageUrl" ] }, "AuditDetailResponseDto": { "type": "object", "properties": { "type": { "type": "string", "description": "检测类型" }, "label": { "type": "string", "description": "具体标签" }, "confidence": { "type": "number", "description": "置信度", "example": 85 }, "description": { "type": "string", "description": "描述信息" } }, "required": [ "type", "label", "confidence", "description" ] }, "ContentAuditResponseDto": { "type": "object", "properties": { "taskId": { "type": "string", "description": "任务ID" }, "status": { "type": "string", "enum": [ "pending", "processing", "completed", "failed", "timeout" ], "description": "审核状态" }, "conclusion": { "type": "string", "enum": [ "pass", "reject", "review", "uncertain" ], "description": "审核结论" }, "confidence": { "type": "number", "description": "置信度 (0-100)", "example": 85 }, "details": { "description": "详细审核结果", "type": "array", "items": { "$ref": "#/components/schemas/AuditDetailResponseDto" } }, "riskLevel": { "type": "string", "enum": [ "low", "medium", "high", "critical" ], "description": "风险等级" }, "suggestion": { "type": "string", "enum": [ "pass", "block", "human_review", "delete" ], "description": "建议操作" }, "timestamp": { "format": "date-time", "type": "string", "description": "审核时间" } }, "required": [ "taskId", "status", "conclusion", "confidence", "details", "riskLevel", "suggestion", "timestamp" ] }, "BatchAuditResponseDto": { "type": "object", "properties": { "totalCount": { "type": "number", "description": "总数" }, "successCount": { "type": "number", "description": "成功数" }, "failureCount": { "type": "number", "description": "失败数" }, "results": { "description": "审核结果列表", "type": "array", "items": { "$ref": "#/components/schemas/ContentAuditResponseDto" } } }, "required": [ "totalCount", "successCount", "failureCount", "results" ] }, "AuditStatsResponseDto": { "type": "object", "properties": { "totalAudits": { "type": "number", "description": "总审核数" }, "passRate": { "type": "number", "description": "通过率 (%)", "example": 85.5 }, "rejectRate": { "type": "number", "description": "拒绝率 (%)", "example": 10.2 }, "reviewRate": { "type": "number", "description": "复审率 (%)", "example": 4.3 }, "averageConfidence": { "type": "number", "description": "平均置信度", "example": 88.7 } }, "required": [ "totalAudits", "passRate", "rejectRate", "reviewRate", "averageConfidence" ] } } } }