大量修改二期功能清单内容

This commit is contained in:
Azmat@qq.com
2026-08-17 18:26:42 +08:00
parent 36e91aab3c
commit d1ecb52125
76 changed files with 4222 additions and 294 deletions
+28 -3
View File
@@ -44,6 +44,7 @@ import type {
UserPreference,
VoiceoverInfo
} from "./types";
import type { PresentationFormat, VideoStructure } from "./script-setup";
const API_BASE = import.meta.env.VITE_API_BASE_URL || "";
const TOKEN_KEY = "airshelf_token";
@@ -326,6 +327,21 @@ export const api = {
purgeProject(id: string) {
return request<void>(`/api/projects/${id}/purge/`, { method: "DELETE" });
},
// 上传脚本(docx)取正文:docx 是 zip,交后端拆,前端不引解析库。txt 前端自己 file.text() 即可。
extractScriptFile(projectId: string, formData: FormData) {
return request<{ name: string; chars: number; text: string }>(
`/api/projects/${projectId}/extract-script-file/`,
{ method: "POST", body: formData }
);
},
// 1.11 上传视频提炼:后端抽帧 → 多模态读帧 → 中文分镜稿。与上传脚本同形状(只回文本不落库),
// 差别是真调模型,慢(整条 30~60 秒)且计一次费,故前端要给等待反馈。
extractScriptVideo(projectId: string, formData: FormData) {
return request<{ name: string; chars: number; text: string; frames: number; duration: number }>(
`/api/projects/${projectId}/extract-script-video/`,
{ method: "POST", body: formData }
);
},
// 对话式脚本 agent · 流式(SSE)。逐帧回调 onEvent:tool(工具卡)/delta(思考前言)/draft/saved/done/error。
// 用 fetch + ReadableStream 消费 text/event-stream(EventSource 只支持 GET,这里要 POST 带 body)。
async agentScriptStream(
@@ -338,7 +354,12 @@ export const api = {
base_version_id?: string;
aspect_ratio?: string;
total_duration?: number;
// 二期:表现形式 × 视频结构 —— 后端按这两个挑套路提示词,不传则回落 口播 × 痛点解决
presentation_format?: PresentationFormat;
video_structure?: VideoStructure;
target_index?: number;
// 哪个入口来的:辅助生成 / 上传脚本 / 上传视频提炼。三者都是 mode=auto,靠它区分并记进脚本「来源」
source?: "ai" | "manual" | "video";
},
onEvent: (evt: { type: string; [k: string]: unknown }) => void,
signal?: AbortSignal
@@ -542,9 +563,13 @@ export const api = {
videoPacks() {
return request<import("./types").VideoPack[]>("/api/assets/video-packs/");
},
// 手动兜底:把单个送审类素材(角色/三视图/分镜)送火山审核(用户点灰盾「待审核」时)
submitAssetReview(id: string) {
return request<{ review_status: string; review_error: string }>(`/api/assets/${id}/submit-review/`, { method: "POST" });
// 手动兜底:把单个送审类素材(角色/三视图/分镜)送火山审核(用户点灰盾「待审核」时)。
// forReference:素材要拿去当生成参考(自由创作 @引用三库),此时不看类目白名单一律送审。
submitAssetReview(id: string, forReference = false) {
return request<{ review_status: string; review_error: string }>(`/api/assets/${id}/submit-review/`, {
method: "POST",
body: JSON.stringify({ for_reference: forReference })
});
},
// 置 in_library(功能性模特/角色资料不走该入口;图片成图仍按原规则入库)
setAssetLibrary(id: string, inLibrary: boolean) {