202 lines
2.9 KiB
Markdown
Executable File
202 lines
2.9 KiB
Markdown
Executable File
# 04_技术架构设计_模块拆分
|
|
|
|
## 1. 推荐技术栈
|
|
|
|
```text
|
|
用户端:uni-app
|
|
后台端:Geeker-Admin
|
|
后端:Node.js + NestJS
|
|
数据库:MySQL 8
|
|
队列:Redis + BullMQ
|
|
对象存储:MinIO
|
|
视频合成:FFmpeg
|
|
AI辅助:Python Worker 可选
|
|
进程管理:PM2 / systemd
|
|
反向代理:Nginx
|
|
容器化:Docker 可选
|
|
```
|
|
|
|
---
|
|
|
|
## 2. 总体架构
|
|
|
|
```text
|
|
uni-app 用户端
|
|
↓
|
|
NestJS API Gateway
|
|
↓
|
|
业务服务层
|
|
↓
|
|
AI 编排层 / 任务队列层
|
|
↓
|
|
TextProvider / ImageProvider / VoiceProvider / VideoProvider / ModerationProvider
|
|
↓
|
|
MySQL / Redis / MinIO / FFmpeg
|
|
↓
|
|
Geeker-Admin 后台管理
|
|
```
|
|
|
|
---
|
|
|
|
## 3. 后端模块
|
|
|
|
```text
|
|
AuthModule
|
|
UserModule
|
|
ProjectModule
|
|
NovelModule
|
|
CopyrightModule
|
|
TextParseModule
|
|
StoryBibleModule
|
|
WorldBibleModule
|
|
CharacterModule
|
|
CharacterAssetModule
|
|
EpisodeModule
|
|
ScriptModule
|
|
StoryboardModule
|
|
PromptModule
|
|
AssetModule
|
|
TaskModule
|
|
ProviderModule
|
|
ImageModule
|
|
AudioModule
|
|
SubtitleModule
|
|
VideoModule
|
|
OrderModule
|
|
QuotaModule
|
|
ReviewModule
|
|
CaseModule
|
|
AnalyticsModule
|
|
SystemConfigModule
|
|
LogModule
|
|
```
|
|
|
|
---
|
|
|
|
## 4. 系统 A 独有模块
|
|
|
|
```text
|
|
NovelModule:小说生成/上传/解析
|
|
StoryBibleModule:故事圣经
|
|
WorldBibleModule:世界观规则
|
|
CharacterModule:角色圣经
|
|
EpisodeModule:分集计划
|
|
ScriptModule:单集脚本
|
|
StoryboardModule:分镜
|
|
PlotMemoryModule:长篇记忆
|
|
ContinuityModule:连续性检查
|
|
```
|
|
|
|
---
|
|
|
|
## 5. 与系统 B 共用模块
|
|
|
|
```text
|
|
AuthModule
|
|
UserModule
|
|
OrderModule
|
|
QuotaModule
|
|
AssetModule
|
|
TaskModule
|
|
ProviderModule
|
|
ImageModule
|
|
AudioModule
|
|
SubtitleModule
|
|
VideoModule
|
|
ReviewModule
|
|
CaseModule
|
|
AnalyticsModule
|
|
SystemConfigModule
|
|
LogModule
|
|
```
|
|
|
|
---
|
|
|
|
## 6. AI Provider 抽象
|
|
|
|
Provider 不允许写死模型。
|
|
|
|
```text
|
|
TextProvider
|
|
NovelProvider
|
|
ImageProvider
|
|
VideoProvider
|
|
VoiceProvider
|
|
ModerationProvider
|
|
QualityCheckProvider
|
|
FileParseProvider
|
|
EmbeddingProvider
|
|
```
|
|
|
|
每个 Provider 需要支持:
|
|
|
|
```text
|
|
mock模式
|
|
真实模式
|
|
fallback
|
|
限流
|
|
成本记录
|
|
失败重试
|
|
请求日志
|
|
```
|
|
|
|
---
|
|
|
|
## 7. Worker 队列
|
|
|
|
```text
|
|
novel_queue
|
|
parse_queue
|
|
story_queue
|
|
character_queue
|
|
script_queue
|
|
storyboard_queue
|
|
image_queue
|
|
audio_queue
|
|
subtitle_queue
|
|
video_queue
|
|
qc_queue
|
|
review_queue
|
|
analytics_queue
|
|
```
|
|
|
|
不同队列隔离,避免视频合成堵住文本和图片任务。
|
|
|
|
---
|
|
|
|
## 8. 存储策略
|
|
|
|
```text
|
|
原始小说文件:MinIO private bucket
|
|
清洗文本:数据库 LONGTEXT + 备份文件
|
|
角色参考图:MinIO private
|
|
分镜图:MinIO private
|
|
视频成品:MinIO private
|
|
公开案例:单独 public 或 CDN bucket
|
|
```
|
|
|
|
原始小说和用户素材默认私有。
|
|
|
|
---
|
|
|
|
## 9. 事件驱动
|
|
|
|
系统内部关键事件:
|
|
|
|
```text
|
|
ProjectCreated
|
|
NovelParsed
|
|
StoryBibleConfirmed
|
|
CharacterBibleConfirmed
|
|
EpisodesConfirmed
|
|
StoryboardConfirmed
|
|
PaymentPaid
|
|
PreviewConfirmed
|
|
ImageGenerated
|
|
VideoRendered
|
|
ProjectCompleted
|
|
RevisionRequested
|
|
```
|
|
|
|
可用于后续扩展数据统计、通知、运营分析。
|