Files
Mdeical_Sur_Report/工程分析/20260419_2316/功能变更需求文档.md
admin 0039b18a26 feat: 模板AI区域化+默认配置优化+API密钥安全(20260419_2316)
- 默认模板: 手术步骤段落包裹进 .ai-region AI可编辑区域
- API密钥: DEFAULT_AI_PROVIDERS.kimi.apiKey 预设默认值,
  输入框增加onCopy/onCut防复制, storage.ts增加XOR+Base64透明加密
- 默认模型: kimi modelName改为 moonshot-v1-auto
- 抽帧配置: 12个位置改为指定百分比[7.9,9.3,46.2,49.1,63.9,64.8,
  68.8,73.7,80.2,85.0,96.3,98.6], 默认模式从uniform改为keep
2026-04-19 23:24:36 +08:00

53 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 功能变更需求文档20260419_2316
## 需求 1模板手术步骤放入 AI 可编辑区域
### 问题背景
当前默认模板中"手术步骤、术中出现的情况及处理"下的 5 个 `<p>` 段落是静态纯文本,用户希望将其完整包裹进 AI 专属可编辑区域(`.ai-region`),使 AI 可以直接对该部分内容进行生成和修改。
### 需求描述
修改 `defaultContent.ts`,将 line 54-76 的手术步骤段落用 `.ai-region` 容器包裹,结构与其他 AI 区域保持一致:
- `data-ai-id="手术步骤"`
- `data-ai-title="手术步骤、术中出现的情况及处理"`
- 顶部标签显示"手术步骤、术中出现的情况及处理-AI可编辑区域"
- 内部 `.ai-content` 包含原有 5 个 `<p>` 段落
---
## 需求 2API 密钥默认预设、密文显示与轻度加密
### 问题背景
当前系统首次使用时 API 密钥为空,用户每次都需要手动填写;且密钥在 localStorage 中以明文存储,存在安全风险。
### 需求描述
1. **默认值**`DEFAULT_AI_PROVIDERS.kimi.apiKey` 预设为 `sk-2IAFn8ORoSdUcCxYX6DmXJWbH7BxftSSA8kN88mD1KUDTmkv`
2. **前端脱敏**SystemSettings 中 API 密钥输入框已是 `type="password"`,需补充 `onCopy`/`onCut` 事件拦截阻止复制
3. **轻度加密**`storage.ts` 中对 `systemSettings` key 的读写增加透明 XOR+Base64 加密层localStorage 中不以明文存储,所有调用方无感知
---
## 需求 3默认模型名称切换为 moonshot-v1-auto
### 需求描述
`DEFAULT_AI_PROVIDERS.kimi.modelName``'kimi-k2-5'` 改为 `'moonshot-v1-auto'`;同步修改所有 fallback 默认值和 migration 代码中的硬编码模型名。
---
## 需求 4预设 12 个特定的视频抽帧百分比 + 默认 keep 模式
### 需求描述
1. 将默认的 12 个抽帧位置百分比从均匀计算 `[7.7, 15.4, ...]``[5,10,15,...]` 改为指定硬编码数组:
`[7.9, 9.3, 46.2, 49.1, 63.9, 64.8, 68.8, 73.7, 80.2, 85.0, 96.3, 98.6]`
2. 将默认抽帧模式从 `'uniform'` 改为 `'keep'`
3. 修改所有初始化入口:`Login.tsx``initData()``SystemSettings.tsx``useState` 初始值和 `resetToDefault()``ReportEditor.tsx` 的 fallback
---
## 影响范围
- `src/utils/defaultContent.ts`
- `src/types.ts`
- `src/utils/storage.ts`
- `src/pages/Login.tsx`
- `src/pages/SystemSettings.tsx`
- `src/pages/ReportEditor.tsx`