SuperAPI AI 工具集

ui-to-vue

前端与建站

查看项目

更新于 10-15 10:38

技能介绍

用途

ui-to-vue 用于将 UI 设计截图或设计导出图批量转换为 Vue 3 Composition API 组件代码。它适合在用户提供一组按模块和页面状态组织的设计截图、目标应用为 Vue 3、并希望先得到一版页面组件、共享组件和路由接线的场景下使用。

主要能力

  • 页面分组:当相关截图分别代表列表、详情、表单、加载或空状态时,将它们合并为一个页面组件。
  • UI 库映射:在可行的情况下,将原生视觉元素映射到 Vant、Element Plus 或 Ant Design Vue 组件。
  • 切图优先级:优先使用页面级资源,其次是模块级资源,最后是全局共享资源。
  • 组件提取:当重复的 UI 区域出现多次时,将其提取为共享组件。

使用方式

输入目录应按模块和页面状态组织截图,例如:

screenshots/
|-- HomePage/
|   |-- List/
|   |   |-- HomePage-List-Default@3x.png
|   |   `-- cut-images/
|   |-- cut-images/
|   `-- HomePage-Default@3x.png
`-- cut-images/

支持的切图目录名称包括 assets、icons、sprites、cut、images 和 cut-images。

通过 npx 运行转换器:

export DASHSCOPE_API_KEY=your_key
npx ui-to-vue-converter@1.0.2 --input ./screenshots --ui vant --output ./src

桌面端 UI 库示例:

npx ui-to-vue-converter@1.0.2 --input ./designs --ui element-plus --output ./src
npx ui-to-vue-converter@1.0.2 --input ./designs --ui antd-vue --output ./src

若已全局安装,可直接使用 ui-to-vue 命令:

npm install -g ui-to-vue-converter@1.0.2
ui-to-vue --input ./screenshots --ui vant --output ./src

选项:

选项 说明 默认值
--input 设计图目录 ./screenshots
--ui UI 库:vant、element-plus 或 antd-vue vant
--output 输出目录 ./src
--config 配置文件路径 ./.ui-to-vue.config.json

API Key 处理:转换器可从配置文件或环境变量读取 DashScope 凭据。在仓库中优先使用环境变量:

export DASHSCOPE_API_KEY=your_key

如需本地配置文件,应避免纳入版本控制:

{
  "apiKey": "your_dashscope_key",
  "input": "./designs",
  "ui": "vant",
  "output": "./src"
}

文件名为 .ui-to-vue.config.json。

适用场景

  • 用户提供按模块和页面状态分组的截图目录。
  • 目标应用为 Vue 3。
  • 用户希望生成第一版页面组件、共享组件和路由接线。
  • 用户指定 Vant、Element Plus 或 Ant Design Vue 作为组件库。

限制与注意事项

不适用的情况:

  • 用户只有一张截图,且想要定制组件。
  • 目标项目不是 Vue。
  • 设计需要详细的交互逻辑、数据流或无障碍审查。
  • 截图包含无法发送到外部模型 API 的私有客户数据。

安全与隐私:

  • 将设计截图视为可能被发送到外部模型 API 的源材料。
  • 未经许可,不要对私有客户设计运行此流程。
  • 在可重复的工作流中固定转换器版本,而不是使用 @latest。
  • 提交生成的 Vue 代码前先进行审查。
  • 不要提交 .ui-to-vue.config.json、API 密钥、生成的机密或客户截图。

输出审查清单:

  • 页面组件已生成在 views/ 或所选输出目录下。
  • 仅在复用明确时,才将重复 UI 区域提取到 components/。
  • 路由输出与目标项目的路由风格兼容。
  • 生成的组件一致使用所请求的 UI 库。
  • 生成的 CSS 单位与设计基线匹配。
  • 代码通过项目的格式化、lint、类型检查和构建。
  • 提交前审查占位文案、模拟数据和生成的资源。

故障排查:

问题 检查项
401 或认证错误 确认运行命令的 shell 中已设置 DASHSCOPE_API_KEY
command not found: ui-to-vue 使用 npx ui-to-vue-converter@1.0.2 形式或全局安装该包
切图被忽略 确认资源目录名称受支持,并嵌套在匹配的页面或模块下
组件忽略所请求的 UI 库 使用显式 --ui 值重新运行,并检查生成的导入
生成的布局尺寸看起来不对 确认截图导出宽度与目标库基线匹配

参考:npm 包 ui-to-vue-converter。