# 通用组件使用指南 本文档介绍5个新创建的通用组件的使用方法和API。 ## 🔧 A) XtStickyActionBar - 底部粘性操作栏 ### 功能描述 底部固定的操作栏,显示状态信息和操作按钮,支持响应式设计和明暗主题。 ### Props | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | dirtyCount | Number | 0 | 变更项数量 | | errorCount | Number | 0 | 错误项数量 | | loading | Object | `{}` | 加载状态对象 | | showProgress | Boolean | false | 是否显示进度条 | | progressPercent | Number | 0 | 进度百分比(0-100) | ### Events | 事件名 | 参数 | 说明 | |--------|------|------| | save | - | 保存草稿 | | test | - | 测试全部 | | publish | - | 发布 | | rollback | - | 回滚 | | reset | - | 重置变更 | | export | - | 导出配置 | ### 使用示例 ```vue ``` --- ## 📋 B) XtGroupedFormCard - 分组表单卡片 ### 功能描述 可折叠的分组表单卡片,支持自定义操作按钮和过渡动画。 ### Props | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | title | String | - | 卡片标题(必填) | | desc | String | '' | 卡片描述 | | collapsible | Boolean | true | 是否可折叠 | | defaultCollapsed | Boolean | false | 默认是否折叠 | ### Events | 事件名 | 参数 | 说明 | |--------|------|------| | test | - | 测试按钮点击 | | reset | - | 重置按钮点击 | | toggle | collapsed | 折叠状态变化 | ### Slots | 插槽名 | 说明 | |--------|------| | default | 表单内容区域 | | actions | 自定义右上角操作按钮 | ### 使用示例 ```vue ``` --- ## 🔗 C) XtTestConnectionDrawer - 测试连接抽屉 ### 功能描述 右侧抽屉展示测试连接的时间轴日志,支持重新测试和日志管理。 ### Props | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | visible | Boolean | false | 是否显示抽屉 | | title | String | '连接测试' | 抽屉标题 | | logs | Array | [] | 测试日志数组 | | loading | Boolean | false | 加载状态 | ### Events | 事件名 | 参数 | 说明 | |--------|------|------| | close | - | 关闭抽屉 | | retest | - | 重新测试 | | clear-logs | - | 清空日志 | ### 日志数据格式 ```javascript { ts: 1640995200000, // 时间戳 step: '连接数据库', // 步骤名称 status: 'ok', // 状态: 'ok'|'warn'|'fail' cost: 120, // 耗时(ms) tip: '连接成功', // 提示信息 details: '详细日志信息...' // 详细信息(可选) } ``` ### 使用示例 ```vue ``` --- ## 📊 D) XtDiffPublishDialog - 差异发布对话框 ### 功能描述 展示配置变更的对比对话框,支持选择性发布和搜索过滤。 ### Props | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | visible | Boolean | false | 是否显示对话框 | | diffs | Array | [] | 差异数据数组 | | loading | Boolean | false | 加载状态 | | publishing | Boolean | false | 发布状态 | ### Events | 事件名 | 参数 | 说明 | |--------|------|------| | confirm | selectedKeys | 确认发布,返回选中的key数组 | | cancel | - | 取消发布 | ### 差异数据格式 ```javascript { key: 'database.host', // 配置键 name: '数据库主机', // 显示名称 path: 'config.database', // 配置路径 oldValue: 'localhost', // 原值 newValue: '192.168.1.100', // 新值 isChanged: true, // 是否变更 isNew: false, // 是否新增 isDeleted: false, // 是否删除 description: '主机地址变更' // 变更说明 } ``` ### 使用示例 ```vue ``` --- ## 📈 E) XtRightSummaryPanel - 右侧摘要面板 ### 功能描述 右侧固定的摘要面板,显示统计信息、配置项状态和快速操作。 ### Props | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | stats | Object | `{}` | 统计数据对象 | | items | Array | [] | 配置项数组 | | loading | Boolean | false | 加载状态 | | activeItemKey | String | '' | 当前激活的配置项key | ### Events | 事件名 | 参数 | 说明 | |--------|------|------| | item-click | item | 配置项点击 | | publish-changes | - | 发布变更 | | fix-risks | - | 修复风险 | | test-all | - | 重新测试 | ### 统计数据格式 ```javascript { changed: 5, // 变更数量 passed: 12, // 通过数量 risk: 2, // 风险数量 lastTestAt: 1640995200000 // 最后测试时间 } ``` ### 配置项数据格式 ```javascript { key: 'database.host', // 配置键 name: '数据库主机', // 显示名称 path: 'config.database', // 配置路径 group: 'Database', // 分组 status: 'passed', // 状态: 'passed'|'risk'|'pending'|'changed' isChanged: false // 是否变更 } ``` ### 使用示例 ```vue ``` --- ## 🎨 主题适配 所有组件都完全支持明暗主题切换,使用了设计令牌系统中的颜色变量。组件会自动响应主题变化,无需额外配置。 ## 📱 响应式设计 所有组件都内置了响应式设计支持: - **移动端优化**:在小屏幕设备上自动调整布局 - **触摸友好**:按钮和交互元素针对触摸操作优化 - **自适应尺寸**:根据容器大小自动调整组件尺寸 ## 🔧 自定义样式 如需自定义组件样式,可以通过以下方式: 1. **使用设计令牌**:修改CSS变量来调整主题色彩 2. **CSS类覆盖**:使用更高优先级的CSS类覆盖默认样式 3. **插槽定制**:利用组件提供的插槽来自定义内容 ## 🚀 性能优化 - **虚拟滚动**:大列表组件支持虚拟滚动 - **懒加载**:按需加载数据和组件 - **防抖节流**:搜索和频繁操作使用防抖节流 - **内存管理**:组件销毁时正确清理事件监听器 ## 📞 技术支持 如有任何问题或建议,请联系前端开发团队。 **Happy Coding! 🎉**