style: prettier格式化
CI Build & Deploy Pipeline / Build Staging API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (push) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (push) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 1m17s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 1m32s
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 3m10s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 3m14s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m17s
CI/CD Pipeline / Unit Tests (push) Successful in 3m34s
CI/CD Pipeline / Integration Tests (push) Successful in 1m30s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m31s

This commit is contained in:
2026-07-17 07:54:42 +08:00
parent cff4ffda83
commit a3423c0efa
2 changed files with 26 additions and 24 deletions
+3 -14
View File
@@ -20,12 +20,7 @@ import type {
/** 剪辑计划状态枚举 */
export type EditPlanStatus =
| "draft"
| "editing"
| "rendering"
| "completed"
| "failed"
| "cancelled";
"draft" | "editing" | "rendering" | "completed" | "failed" | "cancelled";
/** 标题配置(对齐后端 title_config */
export interface TitleConfig {
@@ -441,9 +436,7 @@ export async function getGenerationTaskResults(
}
/** 取消生成任务 */
export async function cancelGenerationTask(
taskId: string,
): Promise<void> {
export async function cancelGenerationTask(taskId: string): Promise<void> {
await apiClient.post(`/generation/tasks/${taskId}/cancel`);
}
@@ -452,11 +445,7 @@ export async function cancelGenerationTask(
* ============================================================ */
/** 片段状态 */
export type EditPlanClipStatus =
| "pending"
| "processing"
| "ready"
| "failed";
export type EditPlanClipStatus = "pending" | "processing" | "ready" | "failed";
/** 剪辑片段(后端响应) */
export interface EditPlanClip {
@@ -245,7 +245,9 @@ const EditingPlanner: React.FC = () => {
});
const [coverDrawerOpen, setCoverDrawerOpen] = useState(false);
/* ── 右侧栏 Tab ── */
const [rightTab, setRightTab] = useState<"properties" | "clips">("properties");
const [rightTab, setRightTab] = useState<"properties" | "clips">(
"properties",
);
/* ── 保存弹窗 ── */
const [saveModalOpen, setSaveModalOpen] = useState(false);
@@ -488,9 +490,7 @@ const EditingPlanner: React.FC = () => {
const backendClips = clipsRes?.items || [];
if (backendClips.length > 0) {
// 从后端 clips 表还原
const sorted = [...backendClips].sort(
(a, b) => a.order - b.order,
);
const sorted = [...backendClips].sort((a, b) => a.order - b.order);
const mapped: ClipData[] = sorted.map((clip) => ({
id: clip.id,
template_segment_id:
@@ -782,10 +782,13 @@ const EditingPlanner: React.FC = () => {
}, []);
/* ── 调速应用到所有片段 ── */
const handleApplySpeedAll = useCallback((config: SpeedConfig) => {
setClips((prev) => prev.map((c) => ({ ...c, speed: { ...config } })));
message.success("已应用到所有片段");
}, [setClips]);
const handleApplySpeedAll = useCallback(
(config: SpeedConfig) => {
setClips((prev) => prev.map((c) => ({ ...c, speed: { ...config } })));
message.success("已应用到所有片段");
},
[setClips],
);
/* ── 水印配置变更 ── */
const handleWatermarkChange = useCallback((config: WatermarkConfig) => {
@@ -1559,7 +1562,11 @@ const EditingPlanner: React.FC = () => {
]
: generating
? [
<Button key="cancel" danger onClick={handleCancelGeneration}>
<Button
key="cancel"
danger
onClick={handleCancelGeneration}
>
</Button>,
]
@@ -1600,7 +1607,13 @@ const EditingPlanner: React.FC = () => {
))}
</div>
)}
<p style={{ color: "var(--text-secondary)", fontSize: 12, marginTop: 12 }}>
<p
style={{
color: "var(--text-secondary)",
fontSize: 12,
marginTop: 12,
}}
>
</p>
</div>