150 lines
8.0 KiB
HTML
150 lines
8.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>垃圾桶控制界面</title>
|
|
<link rel="stylesheet" href="CSS/control.css">
|
|
<link rel="stylesheet" href="CSS/record.css">
|
|
<link rel="stylesheet" href="CSS/agent.css">
|
|
</head>
|
|
<body>
|
|
<div class="page-shell">
|
|
<div class="container">
|
|
<header class="page-intro">
|
|
<p class="eyebrow">Robot Console</p>
|
|
<h1 class="title">垃圾桶控制界面</h1>
|
|
<p class="subtitle">把实时控制、轨迹管理和智能指令整理到同一个更清晰的工作台里。</p>
|
|
</header>
|
|
|
|
<main class="dashboard">
|
|
<section class="main-column">
|
|
<section class="surface control-surface">
|
|
<div class="section-heading">
|
|
<div>
|
|
<p class="section-kicker">实时控制</p>
|
|
<h2>方向与动作</h2>
|
|
</div>
|
|
<p class="section-note">按住按钮持续运动,松开后自动停止。</p>
|
|
</div>
|
|
|
|
<div class="controller">
|
|
<div class="controller-layout">
|
|
<div class="control-cluster">
|
|
<span class="cluster-label">移动</span>
|
|
<div class="dpad">
|
|
<div class="dpad-row">
|
|
<button class="btn btn-forward-left" id="forwardLeftBtn" type="button"><span>↖</span></button>
|
|
<button class="btn btn-forward" id="forwardBtn" type="button"><span>↑</span></button>
|
|
<button class="btn btn-forward-right" id="forwardRightBtn" type="button"><span>↗</span></button>
|
|
</div>
|
|
<div class="dpad-row">
|
|
<button class="btn btn-left" id="leftBtn" type="button"><span>←</span></button>
|
|
<div class="btn btn-center" aria-hidden="true"></div>
|
|
<button class="btn btn-right" id="rightBtn" type="button"><span>→</span></button>
|
|
</div>
|
|
<div class="dpad-row">
|
|
<button class="btn btn-backward-left" id="backwardLeftBtn" type="button"><span>↙</span></button>
|
|
<button class="btn btn-backward" id="backwardBtn" type="button"><span>↓</span></button>
|
|
<button class="btn btn-backward-right" id="backwardRightBtn" type="button"><span>↘</span></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-cluster control-cluster-center">
|
|
<span class="cluster-label">录制</span>
|
|
<div class="center-controls">
|
|
<button class="btn btn-record" id="recordBtn" type="button"><span>录制</span></button>
|
|
<button class="btn btn-playback" id="playbackBtn" type="button"><span>回放</span></button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="control-cluster control-cluster-rotate">
|
|
<span class="cluster-label">旋转</span>
|
|
<div class="rotate-controls">
|
|
<button class="btn btn-rotate-left" id="rotateLeftBtn" type="button"><span>⟲</span></button>
|
|
<button class="btn btn-rotate-right" id="rotateRightBtn" type="button"><span>⟳</span></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="surface status-surface">
|
|
<div class="section-heading compact">
|
|
<div>
|
|
<p class="section-kicker">运行状态</p>
|
|
<h2>设备反馈</h2>
|
|
</div>
|
|
</div>
|
|
<div class="status" id="status">
|
|
<p>就绪</p>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
|
|
<aside class="side-column">
|
|
<section class="surface path-management">
|
|
<div class="section-heading compact">
|
|
<div>
|
|
<p class="section-kicker">轨迹管理</p>
|
|
<h3>保存与回放路径</h3>
|
|
</div>
|
|
</div>
|
|
<div class="path-input">
|
|
<input type="text" id="pathName" placeholder="输入轨迹名称,例如 test1">
|
|
<button class="btn btn-save" id="savePathBtn" type="button">保存轨迹</button>
|
|
</div>
|
|
<div class="path-list">
|
|
<h4>已保存轨迹</h4>
|
|
<ul id="pathList"></ul>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="surface agent-chat">
|
|
<div class="section-heading compact">
|
|
<div>
|
|
<p class="section-kicker">智能助手</p>
|
|
<h3>自然语言控制</h3>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-input">
|
|
<input type="text" id="agentInput" placeholder="输入命令,例如:前进 3 秒、左转、执行路径 test1">
|
|
<button class="btn btn-save" id="sendAgentBtn" type="button">发送</button>
|
|
</div>
|
|
|
|
<div class="llm-config">
|
|
<h4>LLM 模型配置</h4>
|
|
<div class="config-row">
|
|
<label for="apiUrlInput">API URL</label>
|
|
<input type="text" id="apiUrlInput" placeholder="例如: https://api.openai.com/v1">
|
|
</div>
|
|
<div class="config-row">
|
|
<label for="apiKeyInput">API Key</label>
|
|
<input type="password" id="apiKeyInput" placeholder="输入 API 密钥">
|
|
</div>
|
|
<div class="config-row">
|
|
<label for="modelInput">模型</label>
|
|
<input type="text" id="modelInput" placeholder="例如: gpt-3.5-turbo">
|
|
</div>
|
|
<button class="btn btn-config" id="saveConfigBtn" type="button">保存配置</button>
|
|
</div>
|
|
|
|
<div class="chat-history" id="chatHistory">
|
|
<!-- 聊天历史记录 -->
|
|
</div>
|
|
</section>
|
|
</aside>
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="Javascript/control.js"></script>
|
|
<script src="Javascript/record.js"></script>
|
|
<script src="Javascript/joycon.js"></script>
|
|
<script src="Javascript/voice.js"></script>
|
|
<script src="Javascript/agent.js"></script>
|
|
</body>
|
|
</html>
|