WiFi Survey Tool

.survey-modal-overlay.active { display: flex; } .survey-modal { background: #fff; border-radius: 8px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); width: 600px; max-width: 95vw; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; } .survey-modal-header { background: #343a40; color: #fff; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; } .survey-modal-header h3 { margin: 0; font-size: 16px; } .survey-modal-close { background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; padding: 0; line-height: 1; } .survey-modal-close:hover { color: #dc3545; } .survey-modal-body { padding: 20px; overflow-y: auto; flex: 1; } .survey-modal-footer { padding: 15px 20px; background: #f8f9fa; border-top: 1px solid #dee2e6; display: flex; justify-content: flex-end; gap: 10px; } .os-tabs { display: flex; border-bottom: 2px solid #dee2e6; margin-bottom: 15px; } .os-tab { padding: 10px 20px; background: #f8f9fa; border: none; border-bottom: 2px solid transparent; cursor: pointer; font-size: 14px; margin-bottom: -2px; transition: all 0.2s; } .os-tab:hover { background: #e9ecef; } .os-tab.active { background: #fff; border-bottom-color: #007bff; color: #007bff; font-weight: 600; } .os-command-box { background: #1e1e1e; color: #d4d4d4; padding: 12px 15px; border-radius: 4px; font-family: 'Consolas', 'Monaco', monospace; font-size: 13px; margin-bottom: 15px; display: flex; justify-content: space-between; align-items: center; } .os-command-box code { color: #9cdcfe; } .copy-btn { background: #4a4a4a; border: none; color: #fff; padding: 5px 10px; border-radius: 3px; cursor: pointer; font-size: 11px; } .copy-btn:hover { background: #5a5a5a; } .rf-data-input { width: 100%; height: 200px; font-family: 'Consolas', 'Monaco', monospace; font-size: 12px; padding: 10px; border: 1px solid #ced4da; border-radius: 4px; resize: vertical; } .rf-data-input:focus { border-color: #007bff; outline: none; box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); } .parsed-data-preview { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 15px; margin-top: 15px; display: none; } .parsed-data-preview.has-data { display: block; } .parsed-data-preview h4 { margin: 0 0 10px 0; font-size: 14px; color: #495057; } .parsed-field { display: flex; margin-bottom: 5px; font-size: 13px; } .parsed-field-label { font-weight: 600; min-width: 120px; color: #6c757d; } .parsed-field-value { color: #212529; } .parsed-field-value.good { color: #28a745; } .parsed-field-value.medium { color: #ffc107; } .parsed-field-value.poor { color: #dc3545; } .ssid-selector { margin-bottom: 15px; } .ssid-selector label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 13px; } .ssid-selector select { width: 100%; padding: 8px; border: 1px solid #ced4da; border-radius: 4px; font-size: 13px; } .survey-point-marker { cursor: pointer; } .survey-points-list { max-height: 300px; overflow-y: auto; } .survey-point-item { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-bottom: 1px solid #dee2e6; font-size: 12px; } .survey-point-item:hover { background: #f8f9fa; } .survey-point-item .signal-indicator { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 8px; } .survey-point-item .delete-btn { background: none; border: none; color: #dc3545; cursor: pointer; padding: 2px 6px; } .survey-point-item .delete-btn:hover { background: #f8d7da; border-radius: 3px; } .min-points-warning { background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; padding: 10px; margin-bottom: 10px; font-size: 12px; color: #856404; } .metadata-toggle { color: #007bff; cursor: pointer; font-size: 12px; margin-top: 10px; } .metadata-toggle:hover { text-decoration: underline; } .metadata-section { display: none; margin-top: 10px; padding: 10px; background: #e9ecef; border-radius: 4px; font-size: 11px; } .metadata-section.visible { display: block; } .point-label-input { width: 100%; padding: 8px; border: 1px solid #ced4da; border-radius: 4px; font-size: 13px; margin-bottom: 10px; } 外部表:侧边栏|画布区 左侧边栏(250px 固定宽度) 右侧画布区域 右侧边栏(250px 固定宽度)
WiFi 调查工具
现场勘察
上传部分
平面图上传
📁
点击上传平面图
(PNG、JPG 或 PDF)
校准部分
秤校准
单击平面图上的两点以设置比例
调查数据可视化部分
调查可视化
传奇:
弱→强
>-50 dBm(优秀)
-50 至 -70 dBm(良好)
<-70 dBm(差)
查看控制部分
查看控件
飞涨: 100%
控制:
* 鼠标滚轮缩放
* Shift + 拖动进行平移
* 鼠标中键平移
嵌套表格:用于标尺和画布的 3x3 网格 左上角 顶尺 右上角 左标尺 画布位于中心 右尺 左下角 底尺 右下角
嵌套表格下方的状态栏
准备就绪 - 上传平面图即可开始 X:0,Y:0
调查点
测量点部分
记录点(0)
点击地图添加测量点
说明部分
如何使用
  1. 上传您的平面图图像
  2. 使用已知距离校准比例
  3. 走到地板上的某个位置
  4. 单击地图上的该地点
  5. 运行 WiFi 命令并粘贴输出
  6. 重复至少 3 点
  7. 启用热图以可视化覆盖范围
调查数据输入模式

添加测量点

点标签
操作系统选项卡
特定于操作系统的命令框
sudo wdutil info
SSID 选择器(适用于具有多个网络的 Windows) 数据输入 解析数据预览

解析数据