本文档引用的文件
本文件系统性梳理 AI 有声书生成平台的 TypeScript 类型定义体系,覆盖服务器端类型、前端类型与通用类型接口,重点阐述数据模型类型、API 响应类型、业务实体类型与枚举类型的设计原则,并结合实际代码展示类型别名、接口继承、泛型约束的应用场景。同时提供类型安全最佳实践、类型推导技巧、性能优化建议以及类型系统在代码提示、编译时检查与重构安全性方面的价值。
类型定义主要分布在以下位置:
配置与错误处理类型:server/src/config/index.ts、server/src/middleware/errorHandler.ts
graph TB
subgraph "服务器端"
S_TYPES["server/src/types/index.ts"]
S_BOOK_TYPES["server/src/modules/book-generator/book-generator.types.ts"]
S_PUBLISH_TYPES["server/src/modules/publish/publish.types.ts"]
S_TTS_SERVICE["server/src/modules/tts/tts.service.ts"]
S_CONFIG["server/src/config/index.ts"]
S_ERROR["server/src/middleware/errorHandler.ts"]
end
subgraph "前端"
F_TYPES["my-uniapp-vue3/src/types/index.ts"]
F_VIDEO_TYPES["my-uniapp-vue3/src/types/video-generator.ts"]
F_AUDIO_STORE["my-uniapp-vue3/src/store/audio.ts"]
F_USER_STORE["my-uniapp-vue3/src/store/user.ts"]
F_REQUEST["my-uniapp-vue3/src/utils/request.ts"]
end
F_AUDIO_STORE --> F_REQUEST
F_AUDIO_STORE --> F_TYPES
F_USER_STORE --> F_TYPES
F_VIDEO_TYPES --> F_TYPES
S_TTS_SERVICE --> S_TYPES
S_BOOK_TYPES --> S_TYPES
S_PUBLISH_TYPES --> S_TYPES
S_TTS_SERVICE --> S_CONFIG
S_ERROR --> S_TYPES
图表来源
章节来源
本系统的类型核心由三部分构成:
设计原则:
章节来源
类型系统贯穿全栈,形成“通用类型 + 业务类型”的双层结构:
业务类型:模块内专用,如书籍生成阶段、视频配置、发布任务
classDiagram
class 服务器通用类型 {
+IUser
+IAudio
+IOrder
+Voice
+ApiResponse
+PaginationQuery
+PaginationResult
}
class 前端通用类型 {
+UserInfo
+AudioItem
+Voice
+ApiResponse
+PaginationResult
}
class 书籍生成类型 {
+BookBase
+Book
+BookOutline
+Chapter
+GenerateTask
+BookGenStage
+ChapterGenStage
}
class 视频生成类型 {
+VideoProjectStatus
+MaterialType
+TransitionEffect
+SubtitlePosition
+ImageConfig
+KenBurnsConfig
+AudioConfig
+BgmConfig
+SubtitleConfig
+VideoParams
+VideoConfig
}
class 发布类型 {
+PublishPlatform
+PublishStatus
+PlatformAccount
+PublishTask
+CreatePublishTaskRequest
}
服务器通用类型 <.. 书籍生成类型 : "被引用"
服务器通用类型 <.. 发布类型 : "被引用"
前端通用类型 <.. 视频生成类型 : "被引用"
图表来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
设计要点:
章节来源
类型之间的依赖关系如下:
graph LR
S_TYPES["服务器通用类型"] --> S_TTS["TTS 服务"]
S_TYPES --> S_BOOK["书籍生成"]
S_TYPES --> S_PUBLISH["发布模块"]
F_TYPES["前端通用类型"] --> F_AUDIO["音频 Store"]
F_TYPES --> F_USER["用户 Store"]
F_VIDEO["视频类型"] --> F_AUDIO
F_AUDIO --> F_REQUEST["请求工具"]
S_TTS --> S_CONFIG["配置"]
S_ERROR["错误处理"] --> S_TYPES
图表来源
章节来源
[本节为通用指导,无需具体文件分析]
常见类型相关问题与定位思路:
章节来源
该类型定义系统通过“通用类型 + 业务类型”的分层设计,实现了前后端类型的一致性与可维护性。字面量联合类型、接口继承与泛型约束的综合运用,显著提升了类型安全与开发效率。配合统一的错误处理与配置管理,系统在可扩展性、可测试性与可重构性方面均表现良好。建议持续完善类型注释与边界条件,进一步提升团队协作效率与质量保障水平。
[本节为总结,无需具体文件分析]
[本节为概念性内容,无需具体文件分析]