53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# 需求分析 —— 2026-04-18-20-03-44
|
||
|
||
## 需求来源
|
||
用户希望增强模板管理模块的数据迁移能力和默认模板的交互一致性。
|
||
|
||
## 需求概述
|
||
|
||
### 需求 1:模板导出功能
|
||
在 `TemplateManage` 的模板列表中,新增「导出」按钮。导出内容需包含:
|
||
- 模板名称(`title`)
|
||
- 模板描述(`description`)
|
||
- 模板内容(`content`)
|
||
- 字段管理配置(`fields`)
|
||
|
||
导出格式为 JSON,结构如下:
|
||
```json
|
||
{
|
||
"version": "1.0",
|
||
"type": "surclaw_template_package",
|
||
"title": "...",
|
||
"description": "...",
|
||
"content": "...",
|
||
"fields": []
|
||
}
|
||
```
|
||
|
||
### 需求 2:模板导入功能
|
||
在「新增模板」弹窗中,新增「导入本地模板」选项。用户选择 JSON 文件后:
|
||
- 自动解析并填充模板名称和描述到表单
|
||
- 暂存模板内容和字段配置
|
||
- 点击「创建」时,将暂存的内容和字段一并写入新模板
|
||
|
||
导入 UI 使用指定的样式类名:`w-8 h-8 bg-accent text-white rounded-lg flex items-center justify-center hover:bg-blue-700 transition-colors shadow-sm`
|
||
|
||
### 需求 3:Logo 替换为可交互占位符
|
||
默认模板 `defaultContent.ts` 中顶部医院 Logo 当前为硬编码的 `<span>` 结构(非标准 `image-placeholder`),导致:
|
||
- 无法点击右上方的「×」删除
|
||
- 无法触发图片上传/选择逻辑
|
||
- 与编辑器中其他图片占位符的交互不一致
|
||
|
||
需将其替换为标准的 65×65 `image-placeholder`(`data-mode="manual"`),使其支持删除、点击插入等完整交互。
|
||
|
||
## 涉及文件
|
||
- `src/pages/TemplateManage.tsx`(需求 1、2)
|
||
- `src/utils/defaultContent.ts`(需求 3)
|
||
- `src/types.ts`(确认 Template 类型结构)
|
||
|
||
## 需求影响范围
|
||
- 模板列表操作列新增导出按钮
|
||
- 新增模板弹窗新增导入 UI 和逻辑
|
||
- 默认模板头部 Logo 的 HTML 结构
|
||
- 模板创建流程需支持字段配置写入
|