# 管理后台界面开发规范 ## 1. 布局规范 ### 1.1 整体布局结构 - 采用三栏布局:侧边导航栏 + 顶部操作栏 + 主内容区 - 侧边栏固定宽度240px,支持折叠功能 - 顶部导航栏高度固定为64px - 主内容区边距统一为24px ### 1.2 响应式设计 - 桌面端:完整三栏布局 - 平板端:可折叠侧边栏 - 移动端:侧边栏转为抽屉式导航 ### 1.3 容器样式 - 卡片容器使用白色背景(#ffffff) - 卡片阴影使用 `shadow-sm transition-all duration-300 hover:shadow-md` - 卡片边框使用 `border: none` - 卡片圆角统一为 `border-radius: 6px` ## 2. 色彩规范 ### 2.1 主色调 - 主色:蓝色(#1890ff),用于主要按钮、选中状态和关键交互元素 - 辅助色:绿色(#52c41a)用于成功状态,红色(#ff4d4f)用于错误状态,黄色(#faad14)用于警告状态 ### 2.2 中性色 - 背景色:浅灰(#f5f5f5)用于页面背景,白色(#ffffff)用于卡片背景 - 文本色:深灰(#1f2937)用于主要文本,中灰(#6b7280)用于次要文本,浅灰(#9ca3af)用于提示文本 ## 3. 组件样式规范 ### 3.1 按钮样式 - 主要按钮:使用主色调背景,白色文字 - 按钮高度统一为40px,大型按钮使用48px - 按钮圆角统一为4px - 按钮文本使用14px字体 - 按钮添加悬停效果:`hover:shadow-lg transition-all duration-200` ### 3.2 表单元素 - 输入框高度统一为40px - 输入框前缀图标颜色使用主色调 - 表单标签宽度统一为80px - 表单布局使用垂直布局,标签在上,输入框在下 - 输入框聚焦状态:`focus:border-primary focus:ring-1 focus:ring-primary` ### 3.3 表格样式 - 表格添加边框:`bordered` - 表头背景色使用浅灰(#f9fafb) - 表格行添加交替背景色:`rowClassName={(record, index) => index % 2 === 0 ? 'bg-white' : 'bg-gray-50'}` - 支持横向滚动:`scroll={{ x: 'max-content' }}` ### 3.4 卡片组件 - 卡片标题区使用 `flex items-center justify-between` 布局 - 统计数字使用28px字体大小 - 添加卡片图标时使用24px大小,颜色与统计项主题匹配 - 卡片底部添加辅助信息,使用12px浅灰色字体 ## 4. 页面规范 ### 4.1 页面标题 - 页面标题使用 `Title level={2}` 组件 - 标题区添加 `mb-6 flex justify-between items-center` 样式 - 标题右侧可放置操作按钮组 ### 4.2 登录页面 - 使用渐变背景:`bg-gradient-to-br from-blue-50 to-indigo-100` - 登录卡片居中显示,添加阴影效果:`shadow-lg` - 登录表单添加图标前缀增强可读性 - 底部添加版权信息和测试账号提示 ### 4.3 数据展示页面 - 数据卡片使用响应式布局,在不同屏幕尺寸下自动调整列数 - 关键数据使用 `Statistic` 组件展示 - 添加数据趋势指示和环比增长信息 - 数据加载状态使用 `loading` 属性 ## 5. 交互规范 ### 5.1 悬停效果 - 可交互元素添加悬停效果 - 卡片悬停效果:`hover:shadow-md transition-all duration-300` - 按钮悬停效果:`hover:shadow-lg transition-all duration-200` ### 5.2 模态框 - 模态框使用 `destroyOnClose` 属性确保每次打开都是新实例 - 模态框居中显示:`centered` - 禁止点击遮罩关闭:`maskClosable={false}` - 表单模态框使用垂直布局 ### 5.3 反馈机制 - 操作成功/失败使用 `message` 组件提供反馈 - 加载状态使用 `loading` 属性显示加载指示器 - 删除等危险操作使用 `Popconfirm` 组件二次确认 ## 5.4 消息提示规范 - 统一使用App.useApp()获取message实例 ```typescript import { App } from 'antd'; const { message } = App.useApp(); ``` - 消息提示使用明确的类型区分: ```typescript message.success('操作成功'); message.error('操作失败'); message.warning('警告信息'); message.info('提示信息'); ``` - 消息显示时长统一使用默认值,重要操作可适当延长:`message.success('操作成功', 3);` ## 6. 图标规范 ### 6.1 图标选择 - 用户相关:UserOutlined - 密码相关:LockOutlined - 搜索相关:SearchOutlined - 消息相关:BellOutlined - 眼睛相关:EyeOutlined/EyeInvisibleOutlined ### 6.2 图标样式 - 功能图标大小统一为24px - 前缀图标颜色与主题匹配 - 操作图标使用 `Button type="link"` 样式