index.html 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>网络拓扑发现系统</title>
  7. <link rel="stylesheet" href="/css/style.css">
  8. <script src="https://unpkg.com/cytoscape@3.26.0/dist/cytoscape.min.js"></script>
  9. </head>
  10. <body>
  11. <div class="container">
  12. <header>
  13. <h1>🌐 网络拓扑发现系统</h1>
  14. <div class="controls">
  15. <button id="btn-scan" class="btn btn-primary">开始扫描</button>
  16. <button id="btn-add-device" class="btn btn-success">添加设备</button>
  17. <button id="btn-export" class="btn btn-info">导出拓扑</button>
  18. </div>
  19. </header>
  20. <div class="main-content">
  21. <!-- 侧边栏 -->
  22. <aside class="sidebar">
  23. <div class="panel">
  24. <h3>扫描配置</h3>
  25. <form id="scan-form">
  26. <div class="form-group">
  27. <label for="scan-range">IP范围 (CIDR):</label>
  28. <input type="text" id="scan-range" placeholder="例: 192.168.1.0/24">
  29. </div>
  30. <div class="form-group">
  31. <label for="ssh-port">SSH端口:</label>
  32. <input type="number" id="ssh-port" value="22">
  33. </div>
  34. <div class="form-group">
  35. <label for="username">用户名:</label>
  36. <input type="text" id="username" placeholder="admin">
  37. </div>
  38. <div class="form-group">
  39. <label for="password">密码:</label>
  40. <input type="password" id="password">
  41. </div>
  42. </form>
  43. </div>
  44. <div class="panel">
  45. <h3>进度</h3>
  46. <div id="progress-info">
  47. <p>状态: <span id="scan-status">就绪</span></p>
  48. <p>进度: <span id="scan-progress">0%</span></p>
  49. <div class="progress-bar">
  50. <div id="progress-fill" class="progress-fill"></div>
  51. </div>
  52. </div>
  53. </div>
  54. <div class="panel">
  55. <h3>设备列表</h3>
  56. <div id="device-list" class="device-list"></div>
  57. </div>
  58. </aside>
  59. <!-- 主内容区 -->
  60. <main class="content">
  61. <div id="cy"></div>
  62. </main>
  63. <!-- 详情面板 -->
  64. <aside class="detail-panel" id="detail-panel">
  65. <h3>设备详情</h3>
  66. <div id="device-detail"></div>
  67. </aside>
  68. </div>
  69. </div>
  70. <!-- 添加设备模态框 -->
  71. <div id="modal" class="modal">
  72. <div class="modal-content">
  73. <span class="close">&times;</span>
  74. <h2>添加设备</h2>
  75. <form id="add-device-form">
  76. <div class="form-group">
  77. <label for="device-ip">IP地址:</label>
  78. <input type="text" id="device-ip" required>
  79. </div>
  80. <div class="form-group">
  81. <label for="device-type">设备类型:</label>
  82. <select id="device-type" required>
  83. <option value="cisco">Cisco</option>
  84. <option value="huawei">华为</option>
  85. <option value="h3c">H3C</option>
  86. <option value="asa">ASA防火墙</option>
  87. <option value="linux">Linux服务器</option>
  88. <option value="windows">Windows Server</option>
  89. </select>
  90. </div>
  91. <div class="form-group">
  92. <label for="device-username">用户名:</label>
  93. <input type="text" id="device-username" required>
  94. </div>
  95. <div class="form-group">
  96. <label for="device-password">密码:</label>
  97. <input type="password" id="device-password" required>
  98. </div>
  99. <button type="submit" class="btn btn-primary">添加</button>
  100. </form>
  101. </div>
  102. </div>
  103. <script src="/js/app.js"></script>
  104. </body>
  105. </html>