# 统一交互规范 > **Crawlful Hub 前端交互设计标准** --- ## 🎯 核心原则 ### 1. 所有操作必须有反馈 ```text loading → success / error ``` **实现方式**: - 使用 `BusinessLoading` 组件显示加载状态 - 使用 `BusinessMessage` 组件显示操作结果 - 操作按钮在加载期间应显示 loading 状态 ### 2. 所有“影响钱”的操作必须有提示 **实现方式**: - 修改价格时显示 ROI 变化 - 批量操作前显示确认对话框 - 重要操作后显示详细的结果反馈 ### 3. 所有列表必须支持 ```text 分页 / 筛选 / 排序 ``` **实现方式**: - 使用 `BusinessTable` 组件,默认支持分页 - 为表格添加排序功能 - 在页面顶部添加筛选栏 ### 4. 所有弹窗统一 - **宽度**:600px(默认) - **按钮位置**:底部右侧,确认按钮在左,取消按钮在右 - **提交流程**:loading → success / error → 关闭弹窗 --- ## 📦 组件交互规范 ### BusinessButton **使用场景**: - 页面级操作(创建、导入、导出) - 行级操作(编辑、删除、查看) - 批量操作(批量修改、批量删除) **交互规范**: - 点击按钮后显示 loading 状态 - 操作完成后显示 success/error 消息 - 禁用状态时应显示相应样式 ### BusinessCard **使用场景**: - 数据展示 - 功能模块分组 - 信息汇总 **交互规范**: - 卡片应有明确的标题 - 可添加额外操作按钮 - 卡片内容应布局合理 ### BusinessTable **使用场景**: - 商品列表 - 订单列表 - 广告列表 **交互规范**: - 支持分页(默认每页10条) - 支持列排序 - 支持行选择 - 支持行操作按钮 ### BusinessModal **使用场景**: - 编辑表单 - 确认操作 - 详细信息展示 **交互规范**: - 标题应明确操作目的 - 内容区域应布局合理 - 底部按钮应符合统一位置 - 提交时显示 loading 状态 ### BusinessForm **使用场景**: - 商品创建/编辑 - 订单处理 - 广告配置 **交互规范**: - 表单验证应实时反馈 - 提交按钮应显示 loading 状态 - 错误信息应清晰可见 ### BusinessMessage **使用场景**: - 操作结果反馈 - 错误提示 - 成功提示 **交互规范**: - 消息应自动消失(默认3秒) - 错误消息应使用红色 - 成功消息应使用绿色 - 警告消息应使用黄色 ### BusinessLoading **使用场景**: - API请求 - 数据加载 - 复杂计算 **交互规范**: - 应显示加载动画 - 可添加加载提示文本 - 应覆盖在操作区域 --- ## 📱 页面交互规范 ### Product 页面 **核心交互**: - 修改价格时实时计算 ROI - AI定价时显示 loading 状态和建议价格 - 上下架操作应显示确认对话框 - 批量操作应显示操作结果 ### Orders 页面 **核心交互**: - 订单状态更新时显示 loading 状态 - 发货操作应要求输入物流信息 - 退款操作应显示确认对话框 - 批量操作应显示操作结果 ### Dashboard 页面 **核心交互**: - 时间范围选择时更新所有数据 - 点击 KPI 卡片跳转到详情页面 - 图表应支持时间范围筛选 ### Ad 页面 **核心交互**: - 广告启停操作应显示确认对话框 - AI优化时显示 loading 状态和优化建议 - 批量操作应显示操作结果 ### Finance 页面 **核心交互**: - 账单详情查看应显示详细的收支明细 - 导出操作应显示操作结果 - 筛选条件变化时更新数据 --- ## 🎨 视觉交互规范 ### 颜色系统 - **主色**:#1890ff - **成功**:#52c41a - **警告**:#faad14 - **错误**:#f5222d - **信息**:#1890ff ### 字体系统 - **标题**:16px / 20px - **正文**:14px - **小文本**:12px ### 间距系统 - **页面边距**:16px - **卡片间距**:16px - **按钮间距**:8px - **输入框高度**:32px ### 动画效果 - **按钮点击**:轻微缩放 - **弹窗出现**:淡入效果 - **加载状态**:旋转动画 - **消息提示**:滑入效果 --- ## 🔧 技术实现规范 ### 状态管理 - 使用 React Context API 或 Redux 管理全局状态 - 组件内部状态使用 useState - 异步操作使用 useEffect ### 数据请求 - 使用 axios 进行 API 请求 - 统一处理请求错误 - 添加请求超时处理 ### 错误处理 - 全局错误边界 - 组件级错误处理 - 用户友好的错误提示 ### 性能优化 - 组件懒加载 - 数据缓存 - 防抖和节流 --- ## 📋 验收标准 ### 页面交互验收 - [ ] 所有操作都有 loading 状态 - [ ] 所有操作都有 success/error 反馈 - [ ] 所有列表都支持分页、筛选、排序 - [ ] 所有弹窗都符合统一规范 - [ ] 所有“影响钱”的操作都有提示 ### 组件交互验收 - [ ] BusinessButton 符合交互规范 - [ ] BusinessCard 符合交互规范 - [ ] BusinessTable 符合交互规范 - [ ] BusinessModal 符合交互规范 - [ ] BusinessForm 符合交互规范 - [ ] BusinessMessage 符合交互规范 - [ ] BusinessLoading 符合交互规范 ### 视觉交互验收 - [ ] 颜色使用符合规范 - [ ] 字体使用符合规范 - [ ] 间距使用符合规范 - [ ] 动画效果符合规范 --- ## 🚀 实施计划 ### 第一阶段:组件规范 - 实现统一的组件库 - 定义组件交互规范 - 编写组件使用文档 ### 第二阶段:页面规范 - 应用组件库到所有页面 - 实现页面级交互规范 - 测试页面交互效果 ### 第三阶段:系统规范 - 统一全局交互行为 - 优化用户体验 - 编写系统交互文档 --- > **统一交互规范是确保系统一致性和用户体验的关键** > **所有前端开发必须严格遵循本规范**