# AI生成功能页面设计说明 ## 设计概述 基于提供的UI界面参考,我们重新设计了AI生成功能页面,采用现代化的四栏布局设计,提供专业的AI内容生成体验。 ## 页面布局 ### 1. 顶部标题栏 - **标题**: "AI生成" - **副标题**: "选择素材和模板,使用ComfyUI一键生成营销内容" - **生成按钮**: 位于右上角,显示已选择项目数量,采用渐变紫色设计 ### 2. 四栏布局设计 #### 第一栏:选择原图 - **图标**: 相机图标 - **功能**: 选择原始图片作为AI处理的基础 - **显示**: 已选择数量徽章 - **空状态**: 显示"暂无原图,请先到素材库上传" #### 第二栏:选择IP形象 - **图标**: 用户图标 - **功能**: 选择IP角色形象用于AI换脸 - **显示**: 已选择数量徽章 - **示例数据**: - sample_image (女性肖像) - 眼睛男 (戴眼镜男性) #### 第三栏:选择服装 - **图标**: 衬衫图标 - **功能**: 选择服装素材用于AI换衣 - **显示**: 已选择数量徽章 - **示例数据**: 白色天丝裙 #### 第四栏:生成配置 - **图标**: 设置图标 - **功能**: 配置AI生成参数和模板 ### 3. 生成配置详细功能 #### 任务命名 - 输入框带文件图标 - 占位符文本:"输入任务名称..." #### 任务类型 - 复选框形式 - 选项:换脸、换衣、换背景 - 显示已选择处理类型数量 #### 每组生成数量 - 数字输入框 - 默认值:1 - 范围:1-10 #### 场景模板 - 滚动区域设计 - 标签显示 - 示例: - 铃兰花场景 (fashion) - 海边风景 (fashion) - 城市街拍 (fashion) #### 文案模板 - 滚动区域设计 - 标签显示 - 示例: - 户外穿搭基础模... (outdoor_out...) - 产品对比测... (product_comp...) - 生活方式分享模板 (lifestyle) ## 交互特性 ### 1. 素材选择 - **悬停效果**: 卡片轻微放大 - **选中状态**: 蓝色边框和阴影 - **选中指示**: 右上角蓝色圆形勾选图标 ### 2. 模板选择 - **悬停效果**: 轻微放大 - **选中状态**: 蓝色边框和背景 - **选中指示**: 右侧勾选图标 ### 3. 生成控制 - **按钮状态**: 根据选择状态启用/禁用 - **进度显示**: 实时显示生成进度 - **任务状态**: 显示当前处理任务 ## 技术实现 ### 1. 组件架构 - **MaterialCard**: 素材选择卡片组件 - **TemplateItem**: 模板选择组件 - **响应式设计**: 支持桌面和移动端 ### 2. 状态管理 - 使用React Hooks管理组件状态 - 分离不同类型的选择状态 - 实时计算选择数量 ### 3. 样式系统 - 基于Tailwind CSS - 使用shadcn/ui组件库 - 渐变色彩设计 - 现代化图标系统 ## 用户体验优化 ### 1. 视觉反馈 - 悬停和选中状态的视觉反馈 - 加载状态的动画效果 - 进度条实时更新 ### 2. 信息层次 - 清晰的信息架构 - 合理的视觉层次 - 直观的操作流程 ### 3. 响应式设计 - 桌面端四栏布局 - 移动端单栏堆叠 - 自适应组件尺寸 ## 数据流 ### 1. 素材数据 ```javascript { id: 'unique_id', name: '素材名称', file_url: '图片URL', created_date: '创建时间' } ``` ### 2. 模板数据 ```javascript { id: 'template_id', name: '模板名称', tag: '标签', created_date: '创建时间' } ``` ### 3. 生成配置 ```javascript { taskName: '任务名称', selectedTaskTypes: ['换脸', '换衣', '换背景'], quantityPerGroup: 1, selectedSceneTemplates: [], selectedCopyTemplates: [] } ``` ## 扩展性 ### 1. 组件复用 - MaterialCard可在其他页面复用 - TemplateItem支持不同类型的模板 - 配置组件可独立使用 ### 2. 数据接口 - 支持API数据加载 - 支持本地存储 - 支持实时更新 ### 3. 功能扩展 - 支持更多素材类型 - 支持更多模板类型 - 支持自定义配置 ## 性能优化 ### 1. 组件优化 - 使用React.memo优化渲染 - 合理使用useMemo和useCallback - 虚拟滚动支持大量数据 ### 2. 图片优化 - 懒加载图片 - 压缩图片尺寸 - 缓存机制 ### 3. 状态优化 - 避免不必要的重渲染 - 合理的状态分离 - 高效的更新机制 ## 开发指南 ### 1. 添加新素材类型 1. 在loadMaterials函数中添加新数据 2. 创建对应的状态管理 3. 添加选择逻辑 4. 更新UI显示 ### 2. 添加新模板类型 1. 在loadTemplates函数中添加新数据 2. 创建对应的状态管理 3. 添加选择逻辑 4. 更新UI显示 ### 3. 自定义样式 1. 修改Tailwind CSS类名 2. 调整组件样式 3. 更新主题色彩 4. 优化响应式布局 ## 测试建议 ### 1. 功能测试 - 素材选择功能 - 模板选择功能 - 生成配置功能 - 生成流程测试 ### 2. 界面测试 - 响应式布局测试 - 交互效果测试 - 视觉一致性测试 - 可访问性测试 ### 3. 性能测试 - 大量数据加载测试 - 内存使用测试 - 渲染性能测试 - 网络请求测试