2025-05-27 15:46:31 +08:00

393 lines
13 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<title>设置页面</title>
<link
rel="apple-touch-icon"
sizes="180x180"
href="{{ url_for('static', filename='images/webapp/apple-touch-icon.png') }}"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="{{ url_for('static', filename='images/webapp/favicon-32x32.png') }}"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="{{ url_for('static', filename='images/webapp/favicon-16x16.png') }}"
/>
<link
rel="icon"
type="image/ico"
href="{{ url_for('static', filename='images/webapp/favicon.ico') }}"
/>
<link
rel="stylesheet"
href="{{ url_for('static', filename='css/all.min.css') }}?v={{ time }}"
/>
<link
rel="stylesheet"
href="{{ url_for('static', filename='css/setting.css') }}?v={{ time }}"
/>
<link
rel="stylesheet"
href="{{ url_for('static', filename='css/volume.css') }}?v={{ time }}"
/>
<script src="{{ url_for('static', filename='js/socketio/socket.io.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/i18n/jquery-3.7.1.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/i18n/jquery.i18n.min.js') }}"></script>
<script src="{{ url_for('static', filename='js/i18n/setting-lang.js') }}"></script>
</head>
<body>
<div class="top-bar">
<a href="{{ url_for('home') }}" class="logo">
<img
src="{{ url_for('static', filename='images/common/首页.svg') }}"
alt="首页"
/>
</a>
<div class="volume-control" id="volume-control">
<!-- 背景 -->
<div class="volume-background"></div>
<!-- 音量值显示 -->
<div class="volume-value" id="volume-value">0%</div>
<!-- 可调节的白色底色 -->
<div class="volume-progress" id="volume-progress"></div>
<div class="volume-icon-box">
<img
id="volume-icon"
src="/static/images/volume/vol-mute.png"
alt="音量"
/>
</div>
</div>
<div class="date-time-container">
<div class="date-box">
<div class="weekday"></div>
<div class="date"></div>
</div>
<div class="time"></div>
</div>
<div class="right-section">
<div class="status" onclick="toggleConnection()">
<img
src="{{ url_for('static', filename='images/common/disconnected.svg') }}"
id="status-icon"
alt="Connection Status"
/>
<span id="status-text"></span>
</div>
<div class="shutdown" onclick="shutdownSystem()">
<img
src="{{ url_for('static', filename='images/common/shutdown.svg') }}"
id="shutdown-icon"
alt="Shutdown"
/>
</div>
</div>
</div>
<div class="container">
<!-- 设置页面的主要区域 -->
<div id="settings-container">
<!-- 软件版本更新模块 -->
<div id="version-update-section" class="setting-section update-section">
<div i18n="setting.title" class="title"></div>
<div class="current-version">
<p i18n="setting.current_version"></p>
<span id="current-version"></span>
</div>
<div class="version-selector">
<label
for="downloaded-versions"
i18n="setting.download_version"
></label>
<select id="downloaded-versions">
<!-- 动态插入已下载的版本 -->
</select>
</div>
<div class="version-selector">
<label for="remote-versions" i18n="setting.update_version"></label>
<select id="remote-versions">
<!-- 动态插入可更新的版本 -->
</select>
</div>
<div class="common-panel">
<div
class="common-panel-btn"
id="static-update-btn"
i18n="setting.static_update_btn"
></div>
</div>
</div>
<!-- 参数服务器更新模块 -->
<div class="setting-section update-section">
<div class="title" i18n="setting.title2"></div>
<div class="current-version">
<p i18n="setting.current_version"></p>
<span id="current-vtx-version"></span>
</div>
<div class="version-selector">
<label
for="downloaded-vtx-versions"
i18n="setting.download_version"
></label>
<select id="downloaded-vtx-versions">
<!-- 动态插入已下载的版本 -->
</select>
</div>
<div class="version-selector">
<label
for="remote-vtx-versions"
i18n="setting.update_version"
></label>
<select id="remote-vtx-versions">
<!-- 动态插入可更新的版本 -->
</select>
</div>
<div class="common-panel">
<div
class="common-panel-btn"
id="sync-user-data-btn"
i18n="setting.sync_user_data_btn"
>
同步用户数据
</div>
</div>
</div>
<!-- 变更语音唤醒词模块 -->
<div class="setting-section update-section">
<div class="title" i18n="setting.title3"></div>
<div class="current-version">
<p i18n="setting.current_awaken"></p>
<span id="awaken-txt"></span>
</div>
<div class="version-selector">
<label for="awaken-selector" i18n="choose_awaken"></label>
<select id="awaken-selector">
<option value="寻寻">寻寻</option>
<option value="小寻">小寻</option>
<option value="小束">小束</option>
<option value="阿寻">阿寻</option>
<option value="暖暖">暖暖</option>
<option value="悠悠">悠悠</option>
<option value="小温">小温</option>
<option value="小艾">小艾</option>
<option value="小悠小悠">小悠小悠</option>
</select>
</div>
</div>
<!-- 机器人演示模块 -->
<!-- <div id="robot-demo-section" class="setting-section">
<div class="title" i18n="setting.title6"></div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.dance_btn"></p>
<div class="common-panel-btn" id="robot-demo-btn"></div>
</div>
</div>
</div> -->
<!-- 设备重置模块 -->
<div id="reset-section" class="setting-section">
<div class="title" i18n="setting.title4"></div>
<div class="reset-zero common-panel">
<div
class="reset-btn common-panel-btn"
id="reset-btn"
i18n="setting.reset_btn"
></div>
<div
class="common-panel-btn"
id="reset-language-btn"
i18n="setting.lang_reset_btn"
></div>
<div
class="common-panel-btn"
id="robot-power-on-btn"
i18n="setting.power_on_btn"
></div>
</div>
</div>
<!-- 设备信息模块 -->
<div id="serial-number-section" class="setting-section">
<div class="title" id="robot-info-title">
<div class="left" i18n="setting.title5"></div>
<div class="right">
<div
class="btn"
id="developer-mode-btn"
style="display: none"
i18n="setting.developer_btn"
></div>
</div>
</div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.model_text"></p>
<span>RS-LL-X1</span>
</div>
</div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.sn_text"></p>
<span id="serial-number"></span>
</div>
</div>
</div>
<!-- 相机偏置调整模块 -->
<div id="camera-offset-section" class="setting-section">
<div class="title">
<div class="left" i18n="setting.offset_text"></div>
<div class="right">
<div
class="btn"
id="edit-offset-btn"
i18n="setting.offset_btn"
></div>
</div>
</div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.offset_x_text"></p>
<span id="offset-x-value">0</span>
<div class="offset-control" style="display: none">
<div class="common-panel-btn offset-btn" id="offset-x-minus">
-
</div>
<div class="common-panel-btn offset-btn" id="offset-x-plus">
+
</div>
</div>
</div>
</div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.offset_y_text"></p>
<span id="offset-y-value">0</span>
<div class="offset-control" style="display: none">
<div class="common-panel-btn offset-btn" id="offset-y-minus">
-
</div>
<div class="common-panel-btn offset-btn" id="offset-y-plus">
+
</div>
</div>
</div>
</div>
<div class="common-panel">
<div class="current-version">
<p i18n="setting.offset_z_text"></p>
<span id="offset-z-value">0</span>
<div class="offset-control" style="display: none">
<div class="common-panel-btn offset-btn" id="offset-z-minus">
-
</div>
<div class="common-panel-btn offset-btn" id="offset-z-plus">
+
</div>
</div>
</div>
</div>
<div
class="common-panel"
style="justify-content: center; margin-top: 10px; display: none"
id="save-offset-panel"
>
<div class="common-panel-btn" id="save-offset-btn">
保存偏移设置
</div>
<div class="common-panel-btn" id="cancel-offset-btn">取消</div>
</div>
</div>
</div>
</div>
<div id="pwd-modal" class="pwd-modal">
<div class="modal-content">
<div i18n="popup.title"></div>
<input id="pwd-input" type="password" />
<div class="model-btn">
<button
id="pwd-confirm-btn"
onclick="pwdConfirm()"
i18n="popup.confirm_btn"
>
确认
</button>
<button
id="pwd-cancel-btn"
onclick="pwdCancel()"
i18n="popup.cancel_btn"
>
取消
</button>
</div>
</div>
</div>
<!-- Popup Modal -->
<div id="popup-modal" class="popup-modal">
<div class="popup-content">
<p id="popup-message">这里是消息内容</p>
<div id="popup-buttons">
<button
id="confirm-btn"
onclick="confirmAction()"
i18n="popup.confirm_btn"
>
确认
</button>
<button
id="cancel-btn"
onclick="cancelAction()"
i18n="popup.cancel_btn"
>
取消
</button>
</div>
</div>
</div>
<!-- 同步用户数据选择弹窗 -->
<div id="sync-data-modal" class="popup-modal">
<div class="popup-content">
<p i18n="setting.sync_data_title">请选择从哪个版本同步用户数据</p>
<div class="version-selector">
<select id="sync-data-versions">
<!-- 动态插入可选版本与downloaded-vtx-versions一致 -->
</select>
</div>
<div id="popup-buttons">
<button id="sync-confirm-btn" i18n="popup.confirm_btn">确认</button>
<button id="sync-cancel-btn" i18n="popup.cancel_btn">取消</button>
</div>
</div>
</div>
<script src="../static/js/common.js"></script>
<script src="{{ url_for('static', filename='js/setting.js') }}?v={{ time }}"></script>
<script src="{{ url_for('static', filename='js/camera_offset.js') }}?v={{ time }}"></script>
<script src="{{ url_for('static', filename='js/set_volume.js') }}?v={{ time }}"></script>
<script src="{{ url_for('static', filename='js/sync_user_data.js') }}?v={{ time }}"></script>
<script>
// window.onload = function () {
// // let lang = localStorage.getItem("selectedLanguage"); changeLang(lang);
// // changeLang("zh");
// };
</script>
</body>
</html>