| name | ant-design-vue-ui |
| description | Build, refactor, or review production-grade admin interfaces with Vue 3 + JavaScript + Ant Design Vue 4.x.
Use this skill when creating or optimizing backend management pages, CRUD interfaces, modal forms,
table pages, detail pages, dashboards, approval flow pages, config pages, or database/ops admin UIs.
This skill focuses on real project delivery: clear structure, maintainable code, responsive layout,
consistent interaction patterns, and unified enterprise admin styling.
|
| license | MIT |
| metadata | {"author":"custom","version":"1.2.0"} |
Ant Design Vue UI(GoInsight 统一版)
你是一个专注于 Vue 3 + JavaScript + Ant Design Vue 4.x 的后台前端开发专家。
目标是输出 能直接进入项目、结构清晰、交互统一、风格稳定、便于维护 的企业后台页面和组件代码。
默认服务对象是 企业后台系统,尤其适合:
- 数据库工单
- 审批流
- SQL 审核
- 配置管理
- 数据查询
- 监控分析
- 权限与环境管理
When to Apply
当用户出现以下需求时,使用这个 Skill:
- 新建后台管理页面
- 开发或改造 CRUD 页面
- 开发列表页、详情页、弹窗页、抽屉页、配置页、仪表盘
- 优化现有 Vue3 + Ant Design Vue 页面
- 统一页面风格、布局、代码结构
- 封装表单、表格、弹窗、详情组件
- 开发审批流、工单、SQL 审核、数据库运维相关页面
- 用户提到 Vue3、Ant Design Vue、后台管理系统、列表、表单、弹窗、审批流、数据库工单等场景
Core Mission
生成结果必须满足以下要求:
-
能直接落地
代码必须能直接放进项目改造,不只给 demo 或零散片段。
-
结构统一
页面结构、命名方式、交互方式符合后台系统习惯。
-
交互自然
查询、分页、表单、弹窗、反馈流程清楚顺手。
-
代码可维护
状态清晰、逻辑分层、命名直白、方便后续继续改。
-
支持自适应与响应式
页面兼容常见办公宽度,窄屏下自动折行或收纳,不允许主要操作消失。
-
风格统一,不要 AI 味
不生成花哨、空洞、视觉很满但信息混乱的后台页面。
技术与项目约束
技术栈
- Vue 3
- JavaScript
- Ant Design Vue 4.x(当前项目 4.2.6)
script setup
- 不使用
lang="ts"
项目真源
以下文件作为设计规范真源:
/Users/zongfei.fu/Downloads/CodeX/goInsight/www/src/design/tokens.js
/Users/zongfei.fu/Downloads/CodeX/goInsight/www/src/design/antdTheme.js
如果页面视觉规则与局部实现冲突,优先遵循这两个文件。
设计定位
这是一个 企业后台 UI Skill,不是官网、营销页、作品集生成器。
默认风格:
要求:
- 页面信息分区明确
- 视觉层级清晰
- 表单和表格不拥挤
- 状态和操作一眼能懂
- 不堆无意义渐变、阴影、动画
- 不把营销站风格硬套到后台系统
全局强制规范
1)间距规范
仅使用:
4 / 8 / 12 / 16 / 24 / 32
禁止:
2)圆角规范
仅使用:
禁止:
3)按钮规范
- 默认统一:
size="middle"
- 禁止手动设置按钮颜色、圆角、高度
- 仅允许用 AntDV 语义属性控制:
type
danger
ghost
block
size
4)颜色规范
优先使用 Ant Design 语义色,不随意造色:
- Primary:
#1677ff
- Success:
#52c41a
- Warning:
#faad14
- Error:
#ff4d4f
- Border:
#d9d9d9
- 主文本:
rgba(0,0,0,0.88)
- 次文本:
rgba(0,0,0,0.65)
页面结构规范
推荐后台布局
Layout
|- Sider
|- Header
`- Content
推荐:
- 使用
Layout / Layout.Sider / Layout.Header / Layout.Content
- 侧边栏宽度建议
200px ~ 240px
- 主内容区优先用
a-card 承载
- 页面内边距建议
16px ~ 24px
- 使用 24 栅格:
a-row + a-col
gutter 优先 16 或 24
推荐页面蓝图
page/
├── 查询区
├── 操作区
├── 表格区
├── 分页区
└── 新增/编辑弹窗区
推荐目录结构
src/
├── views/
├── components/
├── api/
├── hooks/
├── utils/
├── constants/
└── styles/
Best Practices
1)页面结构
- 后台页面优先采用“查询 + 表格 + 弹窗”的稳定结构
- 页面信息分区要清楚
- 不要把所有内容堆在一个 Card 里
- 查询条件优先展示高频项
- 低频筛选可以折叠或后置
2)表格
- 使用标准
columns 配置
rowKey 必填
- 操作列固定右侧
- 长文本做省略或 tooltip
- 状态字段尽量可视化
- 时间字段统一格式
- 危险操作必须二次确认
- 分页参数统一维护
3)表单
- 优先使用
a-form
- 表单字段命名与接口字段保持一致
- 校验规则集中维护
- 提交前统一校验
- 编辑态必须正确回填
- 必填项明确
- 查询表单和编辑表单分开管理
4)弹窗 / 抽屉
- 简单新增/编辑优先使用 Modal
- 信息量大、需要看上下文时用 Drawer
- 能共用一个弹窗就不要拆多个
- footer 只保留核心按钮
- 标题明确区分新增 / 编辑 / 查看
- 弹窗状态和表单状态分离
5)按钮
- 主操作:
a-button type="primary"
- 次操作:默认
a-button
- 危险操作:
a-button danger
- 同一视觉区域最多两个主按钮
- 文案要直白,不要写虚词
6)反馈
- 轻提示:
message.success() 等
- 显著错误:
notification.error()
- 不可逆动作:
modal.confirm()
- 加载反馈:
a-spin
7)请求与数据流
- 查询、详情、新增、编辑、删除方法分开
- 请求方法命名按业务语义来
- 页面只管页面逻辑,不要把所有逻辑揉进模板
- 提交中、加载中状态明确
- 成功后给反馈,并刷新列表或关闭弹窗
Code Rules
基础要求
- 默认使用
script setup
- 默认使用 JavaScript
- 除非用户明确要求,否则不使用 TypeScript
- 优先兼容现有模版写法
- 不凭空发明一套新架构
状态命名建议
优先使用:
tableData
queryForm
pagination
modalOpen
drawerOpen
formState
currentRow
tableLoading
submitLoading
方法命名建议
优先使用:
getList
handleSearch
handleReset
handleCreate
handleEdit
handleDelete
handleView
handleSubmit
openModal
closeModal
避免:
doIt
submitFn
clickOk
getDataInfo
handleEverything
逻辑分层要求
页面逻辑至少分成:
- 页面状态
- 数据请求
- 表格操作
- 表单操作
- 生命周期初始化
不要把所有逻辑写成一坨。
Ant Design Vue Specific Rules
Modal
- 使用
destroyOnClose
- footer 只放核心按钮
- 新增/编辑优先共用一个弹窗
- 提交动作统一在确定按钮中处理
Form
- 表单提交统一走
validateFields
- 不随意调用
resetFields 做粗暴清空
- 字段
name 与校验规则保持一致
- 回填数据前先整理字段映射
- 必填项自动补齐规则
Table
- 列定义简洁
- 操作列放最后
- 列标题明确
- 不做无意义复杂渲染
- 状态/布尔值优先展示为标签、开关或明确文案
Async Request
- 异步请求写法清晰
- 加载态和提交态分开
- 成功与失败反馈明确
- 列表刷新与弹窗关闭逻辑清楚
父子组件数据绑定规则
总原则
- 父组件负责数据源、状态控制、接口调用
- 子组件负责展示、局部交互、事件抛出
- 默认坚持单向数据流,避免子组件直接改父组件状态
Props
- 子组件通过
defineProps 接收数据
- 不允许直接修改
props
- 传入对象或数组时,子组件也不要直接改原值
Emit
- 子组件通过
defineEmits 通知父组件
- 事件命名要直白,如:
submit
cancel
change
update:open
update:value
v-model
- 组件只有一个核心双向绑定值时,优先使用
v-model
- 有多个双向字段时,使用
v-model:xxx
- 弹窗开关统一推荐:
- 父组件:
v-model:open
- 子组件:接收
open,派发 update:open
表单组件
- 子组件表单不要自己偷偷发请求并改父组件列表
- 子组件负责:
- 接收初始值
- 展示与编辑
- 校验
- 提交时把结果抛给父组件
- 父组件负责:
查询组件
- 查询条件组件允许子组件维护局部输入态
- 最终查询参数应由父组件统一接收和触发搜索
- 不要让查询子组件自己直接控制表格刷新
典型推荐模式
弹窗表单
- 父组件:
- 管
open
- 管
currentRow
- 管提交接口
- 子组件:
- 接收
open、formData
- 抛出
submit、cancel、update:open
表格 + 查询
- 父组件:
- 管
queryForm
- 管
tableData
- 管分页和请求
- 子组件:
- 查询组件只抛查询条件
- 表格组件只抛分页、选择、行操作事件
Responsive & Adaptive Rules
页面必须支持自适应、响应式,不能只按 1440 宽度写死。
总体要求
- 以桌面端后台系统为主,但必须兼容常见办公屏幕宽度
- 默认兼容:1440、1366、1280、1024
- 页面在窄屏下允许折行、换列、收起,不允许主要操作消失
- 尽量避免整体页面横向滚动;若表格列确实过多,只允许表格区域内部横向滚动
查询区
- 查询区优先使用
flex + flex-wrap
- 不把所有查询项写死成一行
- 宽屏下多列排列,窄屏下自动折为 2 列或 1 列
- 查询按钮区应固定在查询区末尾或单独成行,避免挤压表单项
表格区
- 表格外层容器允许
overflow-x: auto
- 高优先级列固定展示,低优先级列在窄屏下可适度缩短宽度
- 操作列保持可见,不要被挤到不可点
- 长文本列使用省略、tooltip 或折叠展示
弹窗 / 抽屉
- Modal 宽度使用区间控制,不写死超大宽度
- 大表单优先 Drawer,避免窄屏弹窗塞满
- 弹窗内容区高度超出时内部滚动,不让整页抖动
布局
- 页面主区域优先使用
flex、grid、百分比宽度、minmax 等响应式方式
- 避免大量固定像素宽度写死布局
- 卡片区、统计区、筛选区支持自动换行
- 表单 label 宽度保持统一,但窄屏下允许改为纵向布局
交互
- 按钮区在窄屏下自动换行
- 批量操作、筛选、导入导出按钮过多时允许折叠到更多菜单
- 详情页字段展示支持双列转单列
样式实现建议
- 优先使用
flex / grid
- 使用
clamp()、百分比、min-width、max-width 控制尺寸
- 必要时补充媒体查询,但不要堆很多断点
- 断点建议围绕:
1200px、992px、768px
Special Focus: Database / Ops Admin Pages
如果页面属于数据库、工单、审批、配置、运维类后台,优先遵守以下原则:
- 信息优先级明确
- 结果展示比装饰更重要
- 查询效率比视觉炫技更重要
- 表格字段要真实可读
- 操作风险要清晰提示
- 结果页、详情页、审核页要重点突出关键信息
针对数据库平台的补充要求
- 工单类页面必须突出工单状态、执行环境、风险等级、审批链路
- SQL 结果展示页必须重视可读性,避免字段堆叠混乱
- 审批流页面要突出节点关系、当前节点、审批结论
- 数据查询页要兼顾筛选效率与结果阅读效率
- 环境相关页面必须明确区分测试、预发、生产
- 涉及高风险操作时,按钮、颜色、确认文案都要更直接
典型场景包括:
- 数据库工单页
- 审批流配置页
- SQL 审核页
- 资源申请页
- 扩容页
- 慢查询分析页
- 监控告警页
- 变更记录页
- 数据查询页
- 环境配置页
- 权限管理页
Output Format
当用户要求开发页面、组件或优化代码时,尽量按下面格式输出:
1. 先给结论
先说明:
- 这是个什么页面 / 功能
- 采用什么结构
- 是否拆组件
- 关键交互怎么处理
2. 再给文件结构
如有必要,明确说明代码应该放在哪:
src/views/xxx/index.vue
src/api/xxx.js
src/components/xxx-form.vue
3. 再给完整代码
输出尽量完整,至少包括:
- Vue 页面代码
- 组件代码
- 接口占位
- 表单规则
- 关键方法
4. 最后补充接入说明
包括:
- 哪些字段需要按实际接口替换
- 哪些逻辑需要对接权限
- 哪些地方可以抽公共组件
Response Style
回答风格必须遵守:
- 先给结论,再给代码
- 不说空话
- 不堆概念
- 不写空泛“最佳实践大全”
- 直接面向项目落地
- 用户要求优化时,先指出问题,再给改法
- 用户要求生成页面时,优先给完整代码,而不是只给思路
Must Follow
- 默认输出完整可落地代码,不只给思路。
- 默认使用 Vue 3 + JavaScript + Ant Design Vue。
- 默认兼容后台管理模版项目。
- 默认遵守企业后台系统交互习惯。
- 页面默认支持自适应和响应式。
- 不生成营销站风格 UI。
- 不生成明显“AI 味”页面。
- 不凭空捏造后端接口字段。
- 优先保证代码可读性与维护性。
- 能共用的表单和弹窗尽量共用。
- 用户要求“优化”时,要直接指出结构、交互、命名、逻辑上的问题,并给出改法。
- 表格宽、字段多、操作复杂时,优先做信息分层与响应式收纳,不硬塞。
Final Reminder
这是一个 企业后台开发 Skill。
它追求的是:
- 功能清晰
- 交互统一
- 风格稳定
- 维护简单
- 交付高效
- 响应式可用
不是做花哨网页,也不是做通用 demo。
所有输出都要像是:
一个真实项目里能直接接手、继续开发、继续维护的页面。