diff --git a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx index c0ca9a43a..238a68f01 100644 --- a/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx +++ b/apps/web/src/pages/generate/components/FrontendPreviewPlayer.tsx @@ -17,7 +17,7 @@ import type { EditPlanClip } from "@/api/template-editor" import { useSegmentScheduler, type PlaybackSegment } from "../hooks/useSegmentScheduler" import { usePreviewAudio } from "../hooks/usePreviewAudio" import { PreviewControls } from "./PreviewControls" -import { getFontFamily } from "../constants" +import { getFontFamily } from "@/components/title/constants" interface FrontendPreviewPlayerProps { assets: AssetItem[] diff --git a/apps/web/src/pages/generate/components/title/TitleMiniPreview.tsx b/apps/web/src/pages/generate/components/title/TitleMiniPreview.tsx index f89c22744..9611c0743 100644 --- a/apps/web/src/pages/generate/components/title/TitleMiniPreview.tsx +++ b/apps/web/src/pages/generate/components/title/TitleMiniPreview.tsx @@ -12,7 +12,7 @@ */ import React, { useEffect, useRef } from "react" import type { TitleSettings } from "../../types" -import { getFontFamily } from "../../constants" +import { getFontFamily } from "@/components/title/constants" interface Props { settings: TitleSettings diff --git a/apps/web/src/pages/generate/components/title/TitlePresetsGrid.tsx b/apps/web/src/pages/generate/components/title/TitlePresetsGrid.tsx index 6293a8d94..07c1efa57 100644 --- a/apps/web/src/pages/generate/components/title/TitlePresetsGrid.tsx +++ b/apps/web/src/pages/generate/components/title/TitlePresetsGrid.tsx @@ -4,7 +4,7 @@ * 避免 -webkit-text-stroke 在 Chromium 中吞掉填充色的问题 */ import React from "react" -import { getFontFamily } from "../../constants" +import { getFontFamily } from "@/components/title/constants" interface TitlePresetItem { key: string diff --git a/apps/web/src/pages/generate/constants.ts b/apps/web/src/pages/generate/constants.ts index a35004088..31dd48b48 100644 --- a/apps/web/src/pages/generate/constants.ts +++ b/apps/web/src/pages/generate/constants.ts @@ -54,39 +54,8 @@ export const POSITION_OPTIONS = [ { value: "custom", label: "自定义" }, ] -/* ── 标题字体选项(#2001:新增 4 款爆款字体) ── */ -export const FONT_OPTIONS = [ - "优设标题黑", - "阿里普惠体Bold", - "抖音美好体", - "思源黑体Heavy", - "思源黑体", - "思源宋体", - "苹方", - "微软雅黑", - "楷体", -] - -/* ── 标题字体 CSS font-family 映射(中文显示名 → 浏览器可识别的字体栈) ── */ -export const FONT_FAMILY_MAP: Record = { - 优设标题黑: - '"YouSheBiaoTiHei","YouShe Title Black","Source Han Sans SC Heavy","Noto Sans SC","PingFang SC",sans-serif', - 阿里普惠体Bold: - '"Alibaba PuHuiTi Bold","Alibaba PuHuiTi","Source Han Sans SC","PingFang SC",sans-serif', - 抖音美好体: '"Douyin Sans","DouyinSansBold","Source Han Sans SC Heavy","PingFang SC",sans-serif', - 思源黑体Heavy: - '"Source Han Sans SC Heavy","Noto Sans SC Heavy","Source Han Sans CN Heavy","PingFang SC",sans-serif', - 思源黑体: '"Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif', - 思源宋体: '"Source Han Serif SC", "Noto Serif SC", "Songti SC", "SimSun", serif', - 苹方: '"PingFang SC", -apple-system, "Helvetica Neue", sans-serif', - PingFang: '"PingFang SC", -apple-system, "Helvetica Neue", sans-serif', - 微软雅黑: '"Microsoft YaHei", "PingFang SC", sans-serif', - 楷体: '"KaiTi", "STKaiti", "DFKai-SB", serif', -} - -export function getFontFamily(font: string): string { - return FONT_FAMILY_MAP[font] || FONT_FAMILY_MAP["思源黑体"] -} +/* ── 标题字体:统一使用公共层定义(#2001) ── */ +export { getFontFamily } from "@/components/title/constants" /* ── 标题样式预设 ── */ export const TITLE_PRESETS = [