with one click
migrate-v1-to-v2
// 将用户项目从 Wot UI v1 迁移到 v2。用户要求升级 wot-design-uni 到 @wot-ui/ui、替换旧组件/旧 API、迁移表单校验体系、修复因 v2 不兼容变更导致的编译错误或运行时报错时调用。
// 将用户项目从 Wot UI v1 迁移到 v2。用户要求升级 wot-design-uni 到 @wot-ui/ui、替换旧组件/旧 API、迁移表单校验体系、修复因 v2 不兼容变更导致的编译错误或运行时报错时调用。
指导安装、配置并使用 @wot-ui/unocss-preset。Invoke when 用户询问该预设的接入、配置、使用示例或常见问题排查。
回答、使用、调试 @wot-ui/cli 时使用。关键词:wot、@wot-ui/cli、CLI、MCP、doctor、usage、lint、list、info、doc、demo、token、changelog、extract、wot mcp。适用于命令查询、参数说明、MCP 接入、本地调试、数据提取与 open-wot 仓库维护。
为 wot-ui 生成单文件主题 SCSS,并在用户明确要求接入时追加 App.vue 的 `@use`。当用户要做品牌主题、语义变量落地、单文件主题接入时使用。
回答、生成、重构、排查 wot-ui v2 相关代码时使用。关键词:wot-ui、uni-app、Vue3、wd-、ConfigProvider、useToast、useDialog、Form、Popup、theme、llms-full。适用于组件选型、API 查询、示例页面生成、主题定制、常见坑排查。
| name | migrate-v1-to-v2 |
| description | 将用户项目从 Wot UI v1 迁移到 v2。用户要求升级 wot-design-uni 到 @wot-ui/ui、替换旧组件/旧 API、迁移表单校验体系、修复因 v2 不兼容变更导致的编译错误或运行时报错时调用。 |
本技能用于辅助用户将项目从 Wot UI v1 (wot-design-uni) 迁移到 Wot UI v2 (@wot-ui/ui)。
在开始任何操作前,先向用户确认以下三点(如果上下文已可推断则跳过对应问题):
errors.md 定位问题根据用户描述的问题,直接加载对应子文件:
| 关键词 | 子文件 |
|---|---|
| 错误信息 / 编译报错 / 找不到模块 / is not defined / 升级后异常 | errors.md |
| 表单 / Form / schema / zodAdapter / FormRules / 校验 / 必填星号 | form.md |
| 包名 / easycom / Volar / vite 插件 / 国际化 / 路径替换 / uni_modules | infra.md |
| Sass / 主题 / Design Token / CSS 变量 / 样式覆盖 / 深色模式 / ConfigProvider | styles.md |
| Dialog / MessageBox / Empty / StatusTip / Cascader / ColPicker / Keyboard / NumberKeyboard / Button / Tag / Radio / Checkbox / Search / Grid / Fab / Badge / Slider / Tabs / Steps / Swiper / Tooltip / Popover / Collapse / Cell / Input / Textarea / PickerView / ImgCropper / CountTo / Segmented | components.md |
| 类型 | v1 | v2 |
|---|---|---|
| npm 包名 | wot-design-uni | @wot-ui/ui |
| uni_modules 目录 | wot-design-uni | wot-ui |
| 弹框组件 | wd-message-box | wd-dialog |
| 弹框 Hook | useMessage | useDialog |
| 缺省提示 | wd-status-tip | wd-empty |
| 多列选择器 | wd-col-picker | wd-cascader |
| 数字键盘 | wd-number-keyboard | wd-keyboard |
| 表单校验 | rules / FormRules | schema / FormSchema |
| 按钮变体 | plain / type="text" / type="icon" | variant / 图标按钮 |
| 按钮危险色 | type="error" | type="danger" |
| 标签变体 | plain | variant="plain" |
| 单选/复选形态 | shape / inline / cell | type / direction / 手动组合 wd-cell |
| 搜索框浅色样式 | light | variant="light" |
| GridItem 点击 | @itemclick | @click |
| 工具函数路径 | components/common/util | common/util |
推荐顺序:依赖升级 → 路径替换 → Form 页面 → 高影响组件 → 中低影响组件 → 样式与主题 → 回归测试。
每完成一个阶段后与用户确认再进入下一阶段。
确定用户的安装方式(npm 还是 uni_modules)。
确认项目配置:pages.json easycom、tsconfig.json 类型声明、Vite 插件自动导入。
搜索 v1 旧用法:
rg "wot-design-uni|wd-message-box|useMessage|wd-status-tip|wd-col-picker|wd-number-keyboard|@itemclick|shape=|inline|\scell\b|\slight\b|type=\"error\"|type=\"icon\"|type=\"text\"|\splain\b|classPrefix|components/common/util|hide-label|hide-min-max|autoLineWidth|disabled-color|setRoate|useContentSlot|useMoreSlot|\bshow="
如果项目有表单,额外搜索:
rg "wd-form|FormRules|:rules=|rules=|errorType|resetOnChange"
向用户汇报发现的清单,按影响程度排序:
详见 infra.md(包名、easycom、Volar、Vite 插件、国际化)和 styles.md(Sass 升级)。读完后回到阶段三继续。
详见 components.md(MessageBox→Dialog、StatusTip→Empty、ColPicker→Cascader、NumberKeyboard→Keyboard)。
Form 表单体系详见 form.md。读完后回到阶段四继续。
详见 components.md(Button、Tag、Radio/Checkbox、Search、Grid、Fab)。读完后回到阶段五继续。
详见 components.md(Badge、Slider、Tabs、Steps、Swiper、Tooltip、Popover、Collapse、DatetimePickerView、ImgCropper、CountTo、Segmented、PickerView、camelCase 属性名)。读完后回到阶段六继续。
详见 styles.md(主题文件引入、全局变量覆盖、ConfigProvider、样式覆盖优先级、深色模式)。读完后进入阶段七回归验证。
easycom 是否能正确解析所有 wd-* 组件Toast、Dialog、Notify 等函数式调用是否已在页面中声明实例Button 的 type、variant、round 和高度是否符合预期Tag 的 variant 是否已从 plain 迁移Radio/Checkbox 的 shape、inline、cell 是否已迁移Search 的 light 是否已迁移为 variant="light"GridItem 点击事件是否已从 itemclick 迁移到 clickCell、Input、Textarea 的表单相关属性是否已迁移到 wd-form-itemPickerView、ImgCropper、CountTo 等实例方法是否仍可正常调用Badge、Slider、Tabs、Steps、Swiper 等旧属性是否已迁移Dialog 点击遮罩关闭、Prompt 返回值和按钮配置是否符合预期