style: auto-format with black + isort + ruff + prettier [skip ci-format-check]
CI/CD Pipeline / Check push changed paths (push) Successful in 37s
CI/CD Pipeline / Build Staging API Image (push) Successful in 13s
CI/CD Pipeline / Build Staging Worker Image (push) Successful in 18s
CI/CD Pipeline / Build Staging Web Image (push) Successful in 30s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 55s
CI/CD Pipeline / ACR Image Cleanup (push) Successful in 1m23s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 2m43s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 3m24s
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (push) Failing after 12m7s
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 3m53s
CI/CD Pipeline / Integration Tests (push) Successful in 5m57s
CI/CD Pipeline / Validate - Style (push) Failing after 7m28s
CI/CD Pipeline / Validate - Python (mypy + alembic) (push) Successful in 8m1s
CI/CD Pipeline / Unit Tests (push) Failing after 11m3s
CI/CD Pipeline / Validate - Security (push) Successful in 23m12s
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / CI Gate (push) Failing after 67h10m28s
CI/CD Pipeline / Build Production API Image (push) Failing after 67h10m28s
CI/CD Pipeline / Retag skipped Staging Web Image (push) Failing after 67h44m41s
CI/CD Pipeline / PR Build Web Image (push) Failing after 67h45m17s
CI/CD Pipeline / Build Production Worker Image (push) Failing after 67h10m4s
CI/CD Pipeline / PR Build Worker Image (push) Failing after 67h44m53s
CI/CD Pipeline / PR Build API Image (push) Failing after 67h44m53s
CI/CD Pipeline / Retag skipped Staging API Image (push) Failing after 67h44m17s
CI/CD Pipeline / Deploy Production (push) Failing after 67h9m59s
CI/CD Pipeline / Retag skipped Staging Worker Image (push) Failing after 67h44m17s
CI/CD Pipeline / Canary Release to Production (push) Failing after 67h9m59s
CI/CD Pipeline / Build Production Web Image (push) Failing after 67h10m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 67h33m18s
CI/CD Pipeline / Check if frontend-only change (push) Failing after 67h45m28s

This commit is contained in:
CI Bot
2026-09-13 11:37:46 +00:00
parent 5c91bb21a7
commit b69595bd28
3 changed files with 11 additions and 14 deletions
@@ -725,7 +725,9 @@ const AiAvatarPage: React.FC = () => {
/>
) : (
<div className="aa-finalize-section">
<div style={{ marginBottom: 8, fontSize: 13, color: "#1a1a2e", fontWeight: 500 }}>
<div
style={{ marginBottom: 8, fontSize: 13, color: "#1a1a2e", fontWeight: 500 }}
>
✅ 视频生成完成,请选择封面后点「完成」入库
</div>
<div className="aa-finalize-cover">
@@ -1084,7 +1086,9 @@ const AiAvatarPage: React.FC = () => {
<div style={{ marginTop: 16, fontSize: 15, color: "#1a1a2e" }}>
视频生成完成,请选择封面
</div>
<div style={{ marginTop: 8, fontSize: 13, color: "#8c8ca1", textAlign: "center" }}>
<div
style={{ marginTop: 8, fontSize: 13, color: "#8c8ca1", textAlign: "center" }}
>
关闭此窗口后可在下方选择封面并保存到成片库
</div>
<button
@@ -1132,9 +1136,7 @@ const AiAvatarPage: React.FC = () => {
onClose={handleCloseCoverModal}
renderJob={currentRenderJob}
coverConfig={state.coverConfig}
onCoverConfigChange={(partial) =>
state.setCoverConfig((prev) => ({ ...prev, ...partial }))
}
onCoverConfigChange={(partial) => state.setCoverConfig((prev) => ({ ...prev, ...partial }))}
onGenerateRenderSmartCover={handleGenerateRenderSmartCover}
onUploadCover={handleUploadCover}
onCoverSelected={handleCoverSelected}
@@ -207,11 +207,7 @@ const PanelCoverAndGenerate: React.FC<PanelCoverAndGenerateProps> = ({
{coverSection}
{onClose && (
<div style={{ marginTop: 16, display: "flex", justifyContent: "flex-end" }}>
<button
type="button"
className="aa-btn aa-btn--primary"
onClick={onClose}
>
<button type="button" className="aa-btn aa-btn--primary" onClick={onClose}>
确定
</button>
</div>
@@ -315,7 +311,6 @@ const PanelCoverAndGenerate: React.FC<PanelCoverAndGenerateProps> = ({
</div>
)}
</div>
</div>
)
}
@@ -31,13 +31,13 @@ function formatTime(seconds: number): string {
/** 字体名 → CSS font-family 映射(与 titleCanvas 字体链对齐) */
const FONT_FAMILY_MAP: Record<string, string> = {
思源黑体: "'Noto Sans CJK SC', 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif",
思源黑体:
"'Noto Sans CJK SC', 'Source Han Sans CN', 'PingFang SC', 'Microsoft YaHei', sans-serif",
思源宋体: "'Noto Serif SC', 'Source Han Serif SC', 'SimSun', serif",
楷体: "KaiTi, 'STKaiti', serif",
黑体: "'Heiti SC', 'SimHei', 'Microsoft YaHei', sans-serif",
}
const getFontFamily = (font: string): string =>
FONT_FAMILY_MAP[font] || FONT_FAMILY_MAP["思源黑体"]
const getFontFamily = (font: string): string => FONT_FAMILY_MAP[font] || FONT_FAMILY_MAP["思源黑体"]
export function PanelLipsyncPreview({
lipsyncJob,