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
This commit is contained in:
52
工程分析/20260419_2316/功能变更需求文档.md
Normal file
52
工程分析/20260419_2316/功能变更需求文档.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# 功能变更需求文档(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>` 段落
|
||||
|
||||
---
|
||||
|
||||
## 需求 2:API 密钥默认预设、密文显示与轻度加密
|
||||
|
||||
### 问题背景
|
||||
当前系统首次使用时 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`
|
||||
Reference in New Issue
Block a user