From 2cabe7e4fdd9764d10090ca6c946c1bcd86f4fc1 Mon Sep 17 00:00:00 2001 From: admin <572701190@qq.com> Date: Sat, 2 May 2026 05:10:39 +0800 Subject: [PATCH] Preserve frame position order for auto insertion - Allow system frame position percentages to keep two decimal places without reordering saved values. - Stop frontend and backend settings normalization from sorting framePositions on load or save. - Capture automatic video frames in timeline order while retaining each configured position index. - Insert automatically selected frames into report placeholders according to the configured percentage order. - Add frame position utilities and unit coverage for two-decimal rounding, clamping, order preservation, and timeline capture planning. - Update README, AGENTS, feature, requirement, report editor, system settings, progress, and testing docs for the new frame ordering behavior. --- AGENTS.md | 1 + README.md | 1 + docs/features.md | 2 +- docs/modules/report-editor.md | 2 +- docs/modules/system-settings.md | 4 +- docs/progress.md | 1 + docs/requirements.md | 2 +- docs/testing.md | 1 + server/src/settings/settings.service.ts | 3 +- src/pages/ReportEditor.tsx | 68 ++++++++++++++----------- src/pages/SystemSettings.tsx | 35 ++++++------- src/utils/framePositions.test.ts | 20 ++++++++ src/utils/framePositions.ts | 21 ++++++++ 13 files changed, 106 insertions(+), 55 deletions(-) create mode 100644 src/utils/framePositions.test.ts create mode 100644 src/utils/framePositions.ts diff --git a/AGENTS.md b/AGENTS.md index 91588f6..48ff7d9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -352,6 +352,7 @@ PostgreSQL 数据模型。当前覆盖 `Tenant`、`Department`、`User`、`UserS - 模板列表合并工具,防止新增模板被旧 `localStorage.templates` 覆盖 - 模板导入导出工具,覆盖 HTML 模板包生成、字段库元数据回导和旧 JSON 导入兼容 - AI 区域扫描工具,覆盖从报告正文 HTML 识别 `.ai-region` +- 抽帧百分比工具,覆盖两位小数保序和按时间顺序截图计划 - 后端用户 DTO 和部门模板授权映射 - 后端系统设置 schema 校验 - 后端 AI 入参和讯飞语音代理帧处理 diff --git a/README.md b/README.md index 9ced97e..5aae952 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ cp .env.example .env.local - 默认报告模板结构和字段配置。 - 模板 HTML 导出包字段库元数据。 - AI 区域扫描和报告编辑器加载后同步。 +- 抽帧百分比两位小数、保序和按时间截图计划。 - 打印导出入口。 - 后端权限策略、AI 入参和语音代理帧处理。 diff --git a/docs/features.md b/docs/features.md index bd39449..21130d9 100644 --- a/docs/features.md +++ b/docs/features.md @@ -39,7 +39,7 @@ | 部门模板授权 | 真实集成 | 后端提供 `/api/departments` 和 `/api/departments/:id/template-permissions`,超级管理员可通过管理员模板权限更新部门授权。 | | 电子签名 | 真实集成 | 用户管理页上传后压缩为 Data URL,再调用 `/api/users/:id/signature` 写入后端文件资源;报告中有对应绑定字段时通过受控文件 URL 展示。只有开发/显式回退模式下 API 不可用才保留本地签名回退。 | | 视频上传 | 真实集成 | 使用浏览器 File API 和对象 URL即时预览,并优先通过 `/api/files` 以 `kind = VIDEO` 写入后端文件资源。 | -| 自动抽帧 | 真实集成 | 使用 `