spec.md 6.32 KB

Spec: Style Designer UI Capability

ADDED Requirements

Requirement: Style Designer Tab Integration

The system SHALL provide a Style Designer tab that users can access in the main window tab bar between "图片生成" and "历史记录" tabs.

Scenario: Tab位置正确

Given 用户打开应用程序主窗口 When 用户查看 Tab 栏 Then Tab 顺序应为:"图片生成" → "款式设计" → "历史记录"

Scenario: Tab可切换

Given 用户在主窗口 When 用户点击"款式设计" Tab Then 页面应切换到款式设计界面


Requirement: Seven Jewelry Element Form Fields

The system SHALL provide a form with seven jewelry element input fields (主石、金属、花头形式、戒臂结构、戒臂处理、特殊元素、辅石镶嵌) that users can select values from using pure Chinese prompts.

Scenario: 显示7个字段

Given 用户打开"款式设计" Tab When 用户查看表单 Then 应显示以下 7 个字段(按顺序):

  1. 主石
  2. 金属
  3. 花头形式
  4. 戒臂结构
  5. 戒臂处理
  6. 特殊元素
  7. 辅石镶嵌

Scenario: 字段支持下拉选择

Given 用户在"款式设计" Tab When 用户点击任意字段的下拉框 Then 应显示该字段的词库选项(中文标签)

Scenario: 字段为可选

Given 用户在"款式设计" Tab When 用户不选择任何字段 Then 应允许留空(不强制填写)


Requirement: Pure Chinese Prompt Support

The system SHALL use pure Chinese for all UI labels, options, and prompt assembly (Gemini supports Chinese prompts).

Scenario: 界面显示中文

Given 用户在"款式设计" Tab When 用户查看表单 Then 所有字段标签和选项应显示中文

Scenario: Prompt使用中文

Given 用户选择了 "14K黄金" When 系统组装 prompt Then prompt 中应包含 "14K黄金"(纯中文)


Requirement: Real-time Prompt Preview

The system SHALL provide real-time preview of the assembled prompt that updates as users modify any form field.

Scenario: 初始状态显示空框架

Given 用户打开"款式设计" Tab When 所有字段都为空 Then prompt 预览区应显示基础框架文本

Scenario: 字段变化触发更新

Given 用户在"款式设计" Tab When 用户选择任意字段 Then prompt 预览区应立即更新

Scenario: 空值智能处理

Given 用户仅选择了金属,主石为空 When 系统组装 prompt Then 应调整句式,不出现 "featuring a center stone"


Requirement: Library Management

The system SHALL allow users to add, remove library items for each field, and restore the default library for any category.

Scenario: 添加词库项

Given 用户在某个字段旁点击"添加"按钮 When 用户输入中文词条(如"18K黄金") Then 新项应添加到词库并出现在下拉框中

Scenario: 删除词库项

Given 用户选中某个词库项 When 用户点击"删除"按钮并确认 Then 该项应从词库移除并从下拉框消失

Scenario: 恢复单个字段默认词库

Given 用户修改了某个字段的词库 When 用户点击该字段的"恢复默认"按钮并确认 Then 该字段的词库应恢复为初始状态

Scenario: 恢复所有字段默认词库

Given 用户修改了多个字段的词库 When 用户点击全局"恢复所有默认"按钮并确认 Then 所有字段的词库应恢复为初始状态

Scenario: 词库持久化

Given 用户添加了自定义词库项 When 用户关闭并重新打开应用 Then 自定义词库项应保留


Requirement: Image Generation Functionality

The system SHALL enable users to generate jewelry images based on the assembled prompt using the existing text-to-image API.

Scenario: 生成设置可用

Given 用户在"款式设计" Tab When 用户查看生成设置区 Then 应显示宽高比、尺寸、模型选项

Scenario: 点击生成按钮

Given 用户填写了部分字段 When 用户点击"生成"按钮 Then 应发起 API 请求并显示进度条

Scenario: 生成成功显示结果

Given API 返回成功 When 图片生成完成 Then 应在结果展示区显示图片

Scenario: 生成失败显示错误

Given API 返回失败 When 生成失败 Then 应显示错误信息对话框


Requirement: Result Display and Operations

The system SHALL allow users to preview and download generated images.

Scenario: 图片自适应显示

Given 生成成功 When 图片显示在结果区 Then 图片应自适应窗口大小

Scenario: 下载图片

Given 图片已生成 When 用户点击"下载"按钮 Then 应弹出保存对话框

Scenario: 预览大图

Given 图片已生成 When 用户点击"预览"按钮 Then 应以原尺寸显示图片


Requirement: Configuration File Management

The system SHALL manage the library using a configuration file (jewelry_library.json) and handle error scenarios gracefully.

Scenario: 首次启动创建配置

Given 配置文件 jewelry_library.json 不存在 When 用户首次打开"款式设计" Tab Then 应自动创建配置文件并加载默认词库

Scenario: 配置文件损坏回退

Given 配置文件损坏或格式错误 When 系统加载词库 Then 应回退到默认词库并提示用户

Scenario: 配置文件路径可写

Given 配置文件路径不可写 When 用户修改词库 Then 应提示权限错误


Requirement: Backward Compatibility

The system SHALL ensure that new features do not break existing functionality.

Scenario: 图片生成功能不受影响

Given 用户使用"图片生成" Tab When 用户上传图片并生成 Then 功能应正常工作

Scenario: 历史记录功能不受影响

Given 用户使用"历史记录" Tab When 用户查看或删除历史记录 Then 功能应正常工作

Scenario: 配置文件不冲突

Given 系统同时管理 config.jsonjewelry_library.json When 用户修改任一配置 Then 两个配置应独立存储,互不影响


MODIFIED Requirements

无修改现有需求


REMOVED Requirements

无移除需求


规范完成日期:2025-12-10