be3ed6487e
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 22s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 54s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m49s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 58s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m50s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m33s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 46s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 50s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m48s
AI Code Review / AI Code Review (pull_request) Successful in 1m48s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 2m26s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 16s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 46m25s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 1246h23m49s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 1246h23m49s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 1246h32m16s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 1246h32m20s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 1246h32m22s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 1246h32m24s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 1246h38m15s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 1246h38m17s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 1246h38m19s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 1246h40m0s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 1246h38m24s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 1246h40m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 1247h4m57s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 1247h10m56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 1247h12m37s
将 template-editor.ts 单文件拆分为目录结构,按业务模块组织: - types.ts — 所有类型定义(EditPlan/Clip/MediaAsset 等) - constants.ts — 常量(TRANSITION_OPTIONS/QUALITY_OPTIONS 等) - editPlans.ts — 模板草稿 CRUD + 生成 + 复制 + 取消 - clips.ts — 片段 CRUD + 批量操作(重排序/批量删除/从素材创建) - aiFeatures.ts — AI 推荐 + AI 封面生成 - mediaAssets.ts — 素材库 API + AssetItem→MediaAsset 映射 - index.ts — 统一入口,re-export 所有类型/常量/函数 入口文件从 744 行精简到 88 行(仅 re-export), 各模块职责单一,便于维护和 tree-shaking。 导入路径 @/api/template-editor 保持向后兼容。
89 lines
1.8 KiB
TypeScript
89 lines
1.8 KiB
TypeScript
/**
|
|
* 模板编辑器 API — 按模块拆分后的统一入口
|
|
* 保持与原 template-editor.ts 相同的导出结构,向后兼容
|
|
*/
|
|
|
|
// 类型
|
|
export type {
|
|
EditPlanStatus,
|
|
TitleConfig,
|
|
SubtitleConfig,
|
|
BgmConfig,
|
|
SegmentTtsConfig,
|
|
SegmentTrimConfig,
|
|
SegmentTransitionConfig,
|
|
EditPlanSegment,
|
|
EditPlanConfig,
|
|
EditPlan,
|
|
CreateEditPlanRequest,
|
|
UpdateEditPlanRequest,
|
|
EditPlanListParams,
|
|
EditPlanListResponse,
|
|
GenerateResponse,
|
|
EditPlanGeneration,
|
|
ClipStatusItem,
|
|
GenerationStatusResponse,
|
|
GeneratedVideo,
|
|
AIRecommendRequest,
|
|
AIRecommendClipItem,
|
|
AIRecommendResponse,
|
|
GenerateCoverRequest,
|
|
GenerateCoverResponse,
|
|
CoverResult,
|
|
EditPlanClipStatus,
|
|
EditPlanClip,
|
|
CreateEditPlanClipRequest,
|
|
UpdateEditPlanClipRequest,
|
|
EditPlanClipListResponse,
|
|
EditPlanClipListParams,
|
|
ClipReorderItem,
|
|
ClipReorderResponse,
|
|
ClipBatchDeleteResponse,
|
|
ClipsFromAssetsResponse,
|
|
CopyEditPlanRequest,
|
|
TransitionEffect,
|
|
MediaAsset,
|
|
} from "./types"
|
|
|
|
// 常量
|
|
export {
|
|
TRANSITION_OPTIONS,
|
|
MATERIAL_TYPE_LABELS,
|
|
MATERIAL_TYPE_ICONS,
|
|
PLAN_STATUS_LABELS,
|
|
QUALITY_OPTIONS,
|
|
} from "./constants"
|
|
|
|
// 模板草稿 CRUD + 生成
|
|
export {
|
|
getEditPlans,
|
|
getEditPlan,
|
|
createEditPlan,
|
|
updateEditPlan,
|
|
deleteEditPlan,
|
|
generateEditPlan,
|
|
getGenerationStatus,
|
|
getEditPlanGenerations,
|
|
getGenerationTaskResults,
|
|
cancelGeneration,
|
|
copyEditPlan,
|
|
} from "./editPlans"
|
|
|
|
// 片段 CRUD + 批量操作
|
|
export {
|
|
getEditPlanClips,
|
|
getEditPlanClip,
|
|
createEditPlanClip,
|
|
updateEditPlanClip,
|
|
deleteEditPlanClip,
|
|
reorderEditPlanClips,
|
|
batchDeleteEditPlanClips,
|
|
createClipsFromAssets,
|
|
} from "./clips"
|
|
|
|
// AI 推荐 + 封面生成
|
|
export { aiRecommendClips, generateCover } from "./aiFeatures"
|
|
|
|
// 素材库
|
|
export { getMediaAssets, getMediaAsset } from "./mediaAssets"
|