Ui To Vue

affaan-m/ECC/skills/ui-to-vue

作者 affaan-mef648e01899ba3e8dc6371642deaaf64b4477775無授權條款275K 個星標收錄於 2026年10月9日更新於 2026年10月9日儲存庫4 天前更新

Use when the user has UI screenshots or design exports that need batch conversion into Vue 3 components, especially with Vant, Element Plus, or Ant Design Vue.

AI 產生的概覽

將批次 UI 設計截圖轉換為使用 Vant、Element Plus 或 Ant Design Vue 的 Vue 3 元件。

功能
此技能引導代理把成批的 UI 設計截圖目錄轉換為 Vue 3 Composition API 元件程式碼。它依頁面與狀態將截圖分組,把視覺元素對應到指定的 UI 函式庫,依優先順序取用切圖資源,並將重複出現的區域抽取為共用元件。文件也說明透過 npx 或全域二進位檔呼叫的 CLI 轉換器,包含輸入、UI 函式庫、輸出與設定選項,以及輸出檢查清單和疑難排解表。
適用情境
當使用者提供設計截圖或設計匯出圖片目錄,且目標應用程式為 Vue 3 時使用。它適合產出頁面元件、共用元件與路由接線的初版,尤其是在指定 Vant、Element Plus 或 Ant Design Vue 時。不適用於只有單張客製截圖、非 Vue 目標,或需要詳細互動邏輯與無障礙審查的設計。
執行需求
需要 Node.js 與 npx 或全域安裝的 ui-to-vue-converter 套件、DashScope API 金鑰(例如透過 DASHSCOPE_API_KEY 環境變數或設定檔提供),以及存取外部模型 API 的網路。設計截圖會傳送到該外部 API。此技能不含指令碼,僅為說明文件。

UI To Vue

Batch-convert UI design screenshots into Vue 3 Composition API component code.

When to Use

  • The user provides a directory of design screenshots or design-export images.
  • The target application is Vue 3.
  • The user wants a first pass of page components, shared components, and router wiring.
  • The user specifies Vant, Element Plus, or Ant Design Vue as the component library.

When Not to Use

  • The user has only one screenshot and wants a bespoke component.
  • The target project is not Vue.
  • The design requires detailed interaction logic, data flow, or accessibility review.
  • The screenshots contain private customer data that cannot be sent to an external model API.

Inputs

Use an input directory that groups screenshots by module and page state:

text
screenshots/|-- HomePage/|   |-- List/|   |   |-- [email protected]|   |   `-- cut-images/|   |-- cut-images/|   `-- [email protected]`-- cut-images/

Supported cut-image directory names include assets, icons, sprites, cut, images, and cut-images.

Conversion Model

  • Page grouping: combine related screenshots into one page component when they represent list, detail, form, loading, or empty states.
  • UI library mapping: map native visual elements to Vant, Element Plus, or Ant Design Vue components where practical.
  • Cut-image priority: prefer page-level assets, then module-level assets, then global shared assets.
  • Component extraction: extract repeated UI regions into shared components when they appear more than once.

CLI Usage

Run the converter with npx so the documented command works without relying on a global binary:

bash
export DASHSCOPE_API_KEY=your_keynpx [email protected] --input ./screenshots --ui vant --output ./src

For desktop UI libraries:

bash
npx [email protected] --input ./designs --ui element-plus --output ./srcnpx [email protected] --input ./designs --ui antd-vue --output ./src

If the package is installed globally, the ui-to-vue binary can be used directly:

bash
npm install -g [email protected]ui-to-vue --input ./screenshots --ui vant --output ./src

Options

OptionDescriptionDefault
--inputDesign image directory./screenshots
--uiUI library: vant, element-plus, or antd-vuevant
--outputOutput directory./src
--configConfig file path./.ui-to-vue.config.json

API Key Handling

The converter can read DashScope credentials from a config file or from the environment. Prefer an environment variable in repositories:

bash
export DASHSCOPE_API_KEY=your_key

If a local config file is required, keep it out of version control:

json
{  "apiKey": "your_dashscope_key",  "input": "./designs",  "ui": "vant",  "output": "./src"}
gitignore
.ui-to-vue.config.json

Security and Privacy

  • Treat design screenshots as source material that may be sent to an external model API.
  • Do not run this flow on private customer designs without permission.
  • Pin the converter version in repeatable workflows instead of using @latest.
  • Review generated Vue code before committing it.
  • Do not commit .ui-to-vue.config.json, API keys, generated secrets, or customer screenshots.

Output Review Checklist

  • Page components were generated under views/ or the chosen output directory.
  • Repeated UI regions were extracted into components/ only when reuse is clear.
  • Router output is compatible with the target project's router style.
  • Generated components use the requested UI library consistently.
  • Generated CSS units match the design baseline.
  • The code passes the project's formatter, linter, type checker, and build.
  • Placeholder copy, mock data, and generated assets were reviewed before commit.

Troubleshooting

IssueCheck
401 or authentication errorConfirm DASHSCOPE_API_KEY is set in the shell running the command.
command not found: ui-to-vueUse the npx [email protected] form or install the package globally.
Cut images are ignoredConfirm the asset directory name is supported and nested under the matching page or module.
Components ignore the requested UI libraryRe-run with an explicit --ui value and inspect the generated imports.
Generated layout dimensions look wrongConfirm the screenshot export width matches the target library baseline.

References

  • npm package: ui-to-vue-converter

來源與署名

來源:affaan-m/ECC位於skills/ui-to-vue提交ef648e0

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架