From eaa159c5cb6b949c9bc4289344c618e93a6ac729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B6=B5=E6=9B=A6?= Date: Fri, 5 Jul 2024 10:34:38 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AE=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE=E5=A4=9A=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xiaomusic/static/setting.html | 22 ++++++--- xiaomusic/static/setting.js | 84 +++++++++++++++++++++-------------- xiaomusic/static/style.css | 38 ++++++++++++++++ 3 files changed, 105 insertions(+), 39 deletions(-) diff --git a/xiaomusic/static/setting.html b/xiaomusic/static/setting.html index ad2cb9f..1568d50 100644 --- a/xiaomusic/static/setting.html +++ b/xiaomusic/static/setting.html @@ -6,6 +6,14 @@ + + +

小爱音箱设置面板 @@ -14,6 +22,14 @@ )


+ +
+ +
+
+
+
+
@@ -21,12 +37,6 @@ - - - - - - diff --git a/xiaomusic/static/setting.js b/xiaomusic/static/setting.js index e0e5692..3d1744e 100644 --- a/xiaomusic/static/setting.js +++ b/xiaomusic/static/setting.js @@ -16,48 +16,63 @@ $(function(){ }); }; - const updateSelectOptions = (selectId, optionsList, selectedOption) => { - const select = $(selectId); - select.empty(); - optionsList.forEach(option => { - select.append(new Option(option, option)); + function updateCheckbox(selector, mi_did_list, mi_did, mi_hardware_list) { + // 清除现有的内容 + $(selector).empty(); + + // 将 mi_did 字符串通过逗号分割转换为数组,以便于判断默认选中项 + var selected_dids = mi_did.split(','); + + // 遍历传入的 mi_did_list 和 mi_hardware_list + $.each(mi_did_list, function(index, did) { + // 获取硬件标识,假定列表是一一对应的 + var hardware = mi_hardware_list[index]; + + // 创建复选框元素 + var checkbox = $('', { + type: 'checkbox', + id: did, + value: `${did}|${hardware}`, + class: 'custom-checkbox', // 添加样式类 + // 如果mi_did中包含了该did,则默认选中 + checked: selected_dids.indexOf(did) !== -1 + }); + + // 创建标签元素 + var label = $('