index.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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>PTZ 扫描轮询控制台</title>
  7. <link rel="stylesheet" href="/static/style.css">
  8. <script type="importmap">
  9. {
  10. "imports": {
  11. "three": "https://cdn.jsdelivr.net/npm/three@0.160.0/build/three.module.js",
  12. "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.160.0/examples/jsm/"
  13. }
  14. }
  15. </script>
  16. </head>
  17. <body>
  18. <div id="toolbar">
  19. <select id="group-select"></select>
  20. <button id="btn-scan">执行 360° 扫描建模</button>
  21. <button id="btn-poll-start">开始轮询</button>
  22. <button id="btn-poll-stop">停止轮询</button>
  23. <span id="status">状态:空闲</span>
  24. </div>
  25. <div id="video-grid"></div>
  26. <div id="panorama-panel">
  27. <div id="panorama-container"></div>
  28. <div id="point-list">
  29. <h3>已选扫描点</h3>
  30. <ul id="points"></ul>
  31. <div id="point-form">
  32. <label>Pan: <input id="inp-pan" type="number" step="0.1"></label>
  33. <label>Tilt: <input id="inp-tilt" type="number" step="0.1"></label>
  34. <label>Zoom: <input id="inp-zoom" type="number" value="1"></label>
  35. <label>停留(s): <input id="inp-dwell" type="number" value="3" step="0.1"></label>
  36. <button id="btn-preview">球机预览</button>
  37. <button id="btn-add">保存扫描点</button>
  38. </div>
  39. </div>
  40. </div>
  41. <div id="log-panel"></div>
  42. <script type="module" src="/static/app.js"></script>
  43. </body>
  44. </html>