# 实现方案 —— 2026-04-19-00-51-07 ## 方案目标 修改默认抽帧位置、模板导出文件名加时间戳、修复 TemplateManage 占位符删除恢复样式。 ## 需求 1:默认抽帧位置改为 [1,3,5,7,9,11] ### 修改文件:`src/pages/Login.tsx` 在 `initData()` 的 `defaultSettings` 中,将 `framePositions` 从当前值改为 `[1, 3, 5, 7, 9, 11]`。 如果存在 `SystemSettings` 类型的默认值定义(如在其他文件中),也需要同步修改。 ## 需求 2:模板导出 JSON 文件名加时间戳 ### 修改文件:`src/pages/TemplateManage.tsx` 在 `handleExportTemplate` 函数中,生成 `a.download` 时,在模板名称后追加北京时间戳(格式与批量导出一致)。 ```ts const ts = new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString().replace(/[:.]/g, '-').slice(0, 16); a.download = `模板导出-${template.name}-${ts}.json`; ``` ## 需求 3:TemplateManage 占位符删除恢复样式 ### 修改文件:`src/pages/TemplateManage.tsx` 对比 ReportEditor.tsx 和 TemplateManage.tsx 中 `.image-placeholder` 删除后的恢复逻辑。 ReportEditor 中的恢复逻辑包含:`text-align:center`、`vertical-align:middle`、`justify-content:center`、`align-items:center`,使文字居中。 TemplateManage 中的恢复逻辑可能缺少这些居中样式,导致文字靠左。需要在 TemplateManage 的 `handleEditorClick` 删除恢复分支中补齐这些样式。 ## 涉及文件及修改点 | 文件 | 修改点 | |------|--------| | `src/pages/Login.tsx` | `defaultSettings.framePositions` 改为 `[1,3,5,7,9,11]` | | `src/pages/TemplateManage.tsx` | `handleExportTemplate` 文件名加时间戳;`handleEditorClick` 删除恢复补齐居中样式 | ## 风险与注意事项 1. 修改 `defaultSettings` 只影响新用户或重置后的系统,已有用户的 localStorage 中的旧设置不会被覆盖。 2. 导出文件名中模板名称可能包含特殊字符,但时间戳追加在末尾不影响。 3. 居中样式需要确认 TemplateManage 中 placeholder 的 `display` 属性是否为 `inline-flex` 或 `inline-block`,以选择合适的居中方式。