本文档引用的文件
AI有声书生成平台的发布任务模型是一个完整的多平台内容发布解决方案,支持抖音、快手、B站等主流短视频和音频平台的内容自动发布。该系统通过统一的任务模型和标准化的发布流程,实现了从内容生成到多平台发布的完整自动化。
发布任务模型的核心价值在于:
发布任务系统采用分层架构设计,包含前端界面、API控制器、业务服务和数据持久化四个主要层次:
graph TB
subgraph "前端层"
UI[发布页面<br/>index.vue]
API[publish-api.ts]
end
subgraph "API层"
Controller[发布控制器<br/>publish.controller.ts]
end
subgraph "业务层"
Service[发布服务<br/>publish.service.ts]
Types[类型定义<br/>publish.types.ts]
end
subgraph "数据层"
Prisma[Prisma Schema<br/>schema.prisma]
DB[(MySQL数据库)]
end
UI --> API
API --> Controller
Controller --> Service
Service --> Prisma
Prisma --> DB
图表来源
章节来源
发布任务模型包含以下核心组件:
发布任务模型采用Prisma ORM进行数据持久化,支持完整的CRUD操作和查询优化。
章节来源
系统支持多种内容平台的账号绑定和管理,包括抖音、快手、B站等平台。
章节来源
完整的发布流程包括任务创建、状态管理、平台适配和结果反馈。
章节来源
发布任务系统的整体架构采用经典的三层架构模式,确保了良好的可维护性和扩展性:
sequenceDiagram
participant User as 用户
participant Frontend as 前端界面
participant API as API控制器
participant Service as 业务服务
participant Platform as 内容平台
participant DB as 数据库
User->>Frontend : 选择平台并填写发布信息
Frontend->>API : POST /publish/tasks
API->>Service : createPublishTask()
Service->>DB : 创建发布任务记录
DB-->>Service : 返回任务ID
Service->>Service : 根据平台调用发布方法
Service->>Platform : 执行平台特定发布流程
Platform-->>Service : 返回发布结果
Service->>DB : 更新任务状态和结果
DB-->>Service : 确认更新
Service-->>API : 返回发布结果
API-->>Frontend : 显示发布状态
Frontend-->>User : 展示发布结果
图表来源
发布任务模型定义了完整的任务属性和约束条件:
章节来源
平台账号模型支持多平台的认证信息存储和管理:
章节来源
发布任务采用有限状态机模型,支持完整的状态转换:
stateDiagram-v2
[*] --> 待发布 : 创建任务
待发布 --> 上传中 : 开始发布
上传中 --> 成功 : 发布成功
上传中 --> 失败 : 发布失败
成功 --> [*]
失败 --> 待发布 : 重新发布
失败 --> 上传中 : 重新尝试
图表来源
章节来源
系统支持三种主要的内容平台发布流程:
抖音发布采用网页版创作者平台的认证机制:
flowchart TD
Start([开始发布]) --> GetAccount[获取抖音账号信息]
GetAccount --> ValidateAccount{账号有效?}
ValidateAccount --> |否| ReturnError[返回错误]
ValidateAccount --> |是| GetTask[获取发布任务]
GetTask --> UpdateStatus[更新状态为上传中]
UpdateStatus --> ParseVideo[解析视频文件路径]
ParseVideo --> UploadVideo[调用抖音上传接口]
UploadVideo --> CheckResult{上传成功?}
CheckResult --> |是| UpdateSuccess[更新为成功状态]
CheckResult --> |否| UpdateFailed[更新为失败状态]
UpdateSuccess --> ReturnSuccess[返回成功结果]
UpdateFailed --> ReturnError
ReturnError --> End([结束])
ReturnSuccess --> End
图表来源
B站发布采用官方API的OAuth2认证机制:
sequenceDiagram
participant Service as 发布服务
participant Account as 平台账号
participant API as B站API
participant Task as 发布任务
Service->>Account : 获取B站账号信息
Account-->>Service : 返回access_token
Service->>Task : 更新状态为上传中
Service->>API : POST /v1/archive/upload/basic
API-->>Service : 返回上传结果
Service->>Task : 更新状态和结果URL
Service-->>Service : 返回发布结果
图表来源
快手平台发布流程与抖音类似,采用网页版创作者平台的认证机制。
章节来源
前端发布界面提供了完整的用户交互体验:
支持多种内容平台的选择和绑定状态显示,包括抖音、B站、快手、小红书等平台。
提供自动获取Cookie和手动输入Cookie两种绑定方式,支持User-Agent自定义。
包含标题、描述、话题标签等发布参数的设置,支持推荐标签的快速添加。
章节来源
发布任务系统各组件之间的依赖关系如下:
graph TB
subgraph "类型定义层"
Types[publish.types.ts]
end
subgraph "业务服务层"
Service[publish.service.ts]
Test[test-douyin-publish.js]
end
subgraph "API控制器层"
Controller[publish.controller.ts]
end
subgraph "数据模型层"
Prisma[schema.prisma]
end
subgraph "前端界面层"
Vue[index.vue]
API[publish-api.ts]
end
Types --> Service
Types --> Controller
Service --> Prisma
Controller --> Service
Vue --> API
API --> Controller
Test --> Service
图表来源
章节来源
发布任务系统在设计时充分考虑了性能优化:
问题: 账号绑定后无法验证 解决方案:
问题: 发布任务状态长时间停留在"上传中" 解决方案:
问题: 某些平台发布失败 解决方案:
章节来源
AI有声书生成平台的发布任务模型是一个设计精良、功能完整的多平台内容发布解决方案。通过标准化的任务模型、完善的状态管理和灵活的平台适配机制,系统实现了从内容生成到多平台发布的完整自动化流程。
该发布任务模型为AI有声书生成平台提供了强大的内容分发能力,为用户提供了便捷的内容发布体验,同时也为平台的规模化发展奠定了坚实的技术基础。