Files
yunrui_asset/frontend/src/components/floorplan/canvas/CanvasConstants.js
T
zhang1106 979c28fdcd feat(floorplan): 新增机房平面图功能模块
refactor(models): 为Room和Rack模型添加布局相关字段
feat(routes): 实现机房平面图相关API接口
feat(components): 添加平面图编辑器、画布渲染及交互组件
feat(hooks): 实现平面图数据管理和状态管理
feat(pages): 新增机房平面图页面入口
style(components): 优化平面图组件样式和交互体验
2026-04-30 16:26:39 +08:00

88 lines
2.1 KiB
JavaScript

// 机柜卡片基础尺寸(会根据屏幕自适应调整)
export const CELL_WIDTH = 220;
export const CELL_HEIGHT = 480;
export const CELL_GAP = 20;
// 兼容旧引用
export const CELL_SIZE = 220;
export const ROW_LABEL_WIDTH = 50;
export const COL_LABEL_HEIGHT = 30;
// 机柜内部尺寸
export const RACK_PADDING = 10;
export const RACK_HEADER_HEIGHT = 36;
export const RACK_STATUS_BAR_HEIGHT = 4;
// U位显示尺寸(双边)
export const U_HEIGHT = 10;
export const U_LABEL_WIDTH_LEFT = 28;
export const U_LABEL_WIDTH_RIGHT = 28;
export const U_BODY_WIDTH = 154;
export const U_BODY_PADDING = 6;
// 设备显示尺寸
export const DEVICE_INDICATOR_WIDTH = 3;
export const DEVICE_STATUS_DOT_SIZE = 2.5;
export const DEVICE_NAME_MAX_WIDTH = 130;
// 小地图
export const MINI_MAP_SIZE = 160;
export const MINI_MAP_PADDING = 10;
// 缩放参数
export const ZOOM = {
MIN: 0.3,
MAX: 2,
STEP: 0.1,
DEFAULT: 1,
WHEEL_FACTOR: 0.001,
};
// 颜色定义
export const COLORS = {
CANVAS_BG: '#f0f2f5',
RACK_BG: '#ffffff',
RACK_BORDER: '#d9d9d9',
RACK_SHADOW: 'rgba(0,0,0,0.08)',
RACK_HEADER_BG: '#fafafa',
EMPTY_U_BG: '#f5f5f5',
GRID_LINE: '#e8e8e8',
};
export const RACK_STATUS_COLORS = {
active: '#1677ff',
maintenance: '#faad14',
inactive: '#bfbfbf',
};
export const DEVICE_TYPE_COLORS = {
server: '#1677ff',
switch: '#52c41a',
router: '#faad14',
firewall: '#ff4d4f',
storage: '#722ed1',
other: '#8c8c8c',
};
export const DEVICE_STATUS_COLORS = {
running: '#52c41a',
maintenance: '#faad14',
offline: '#8c8c8c',
fault: '#ff4d4f',
idle: '#d9d9d9',
};
export const HEAT_MAP = {
LOW: '#52c41a',
MEDIUM: '#faad14',
HIGH: '#ff4d4f',
};
// 字体定义
export const FONT = {
RACK_NAME: 'bold 13px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
RACK_INFO: '10px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
DEVICE_NAME: '10px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
U_LABEL: '8px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
};