From ada33b315801175b46862c4027957edf479dee68 Mon Sep 17 00:00:00 2001 From: ling <1042585959@qq.com> Date: Sun, 21 Jan 2024 16:14:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A8=A1=E5=9D=97=E6=8F=92?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- luci-app-modem/luasrc/controller/modem.lua | 55 ++++- .../luasrc/view/modem/modem_debug.htm | 40 ++-- .../luasrc/view/modem/modem_info.htm | 51 +++-- .../luasrc/view/modem/modem_status.htm | 194 +++++++++--------- .../root/usr/share/modem/fibocom.sh | 2 +- .../root/usr/share/modem/modem_info.sh | 20 +- .../root/usr/share/modem/quectel.sh | 2 +- 7 files changed, 218 insertions(+), 146 deletions(-) diff --git a/luci-app-modem/luasrc/controller/modem.lua b/luci-app-modem/luasrc/controller/modem.lua index 2d4ae09..c96fd8e 100644 --- a/luci-app-modem/luasrc/controller/modem.lua +++ b/luci-app-modem/luasrc/controller/modem.lua @@ -147,9 +147,30 @@ function getModemInfo() --设置翻译 local translation={} + --设备信息翻译 + if modem_device_info then + -- local name=modem_device_info["name"] + -- translation[name]=luci.i18n.translate(name) + -- local manufacturer=modem_device_info["manufacturer"] + -- translation[manufacturer]=luci.i18n.translate(manufacturer) + -- local mode=modem_device_info["mode"] + -- translation[mode]=luci.i18n.translate(mode) + local data_interface=modem_device_info["data_interface"] + translation[data_interface]=luci.i18n.translate(data_interface) + local network=modem_device_info["network"] + translation[network]=luci.i18n.translate(network) + end + + --基本信息翻译 + if modem_more_info["base_info"] then + for key in pairs(modem_more_info["base_info"]) do + local value=modem_more_info["base_info"][key] + --翻译值 + translation[value]=luci.i18n.translate(value) + end + end --SIM卡信息翻译 if modem_more_info["sim_info"] then - local sim_info=modem_more_info["sim_info"] for i = 1, #sim_info do local info = sim_info[i] @@ -165,9 +186,11 @@ function getModemInfo() --网络信息翻译 if modem_more_info["network_info"] then for key in pairs(modem_more_info["network_info"]) do + --翻译键 translation[key]=luci.i18n.translate(key) local value=modem_more_info["network_info"][key] if hasLetters(value) then + --翻译值 translation[value]=luci.i18n.translate(value) end end @@ -216,7 +239,10 @@ function getModems() -- 设置值 local modem=modem_device modem["connect_status"]=connect_status - modems[modem_device[".name"]]=modem + + local modem_tmp={} + modem_tmp[modem_device[".name"]]=modem + table.insert(modems,modem_tmp) end) -- 设置值 @@ -252,6 +278,7 @@ function getModemRemarks(network) if network == config["network"] and config["enable"] == "1" then if config["remarks"] then remarks=" ("..config["remarks"]..")" --" (备注)" + return true --跳出循环 end end @@ -263,7 +290,10 @@ end @Description 获取AT串口 ]] function getATPort() + local at_ports={} + local translation={} + uci:foreach("modem", "modem-device", function (modem_device) --获取模组的备注 local network=modem_device["network"] @@ -274,17 +304,26 @@ function getATPort() local name=modem_device["name"]:upper()..remarks if modem_device["name"] == "unknown" then - -- name=modem_device["at_port"]..remarks + translation[modem_device["name"]]=luci.i18n.translate(modem_device["name"]) name=modem_device["name"]..remarks end local at_port = modem_device["at_port"] - at_ports[at_port]=name + --排序插入 + at_port_tmp={} + at_port_tmp[at_port]=name + table.insert(at_ports, at_port_tmp) end end) + + -- 设置值 + local data={} + data["at_ports"]=at_ports + data["translation"]=translation + -- 写入Web界面 luci.http.prepare_content("application/json") - luci.http.write_json(at_ports) + luci.http.write_json(data) end --[[ @@ -304,6 +343,7 @@ function getQuickCommands() if at_port == modem_device["at_port"] then --获取制造商 manufacturer=modem_device["manufacturer"] + return true --跳出循环 end end) @@ -355,6 +395,7 @@ function setNetworkPrefer() if at_port == modem_device["at_port"] then --获取制造商 manufacturer=modem_device["manufacturer"] + return true --跳出循环 end end) @@ -390,6 +431,7 @@ function setMode() if at_port == modem_device["at_port"] then --获取制造商 manufacturer=modem_device["manufacturer"] + return true --跳出循环 end end) @@ -425,7 +467,7 @@ function getModeInfo(at_port,manufacturer) --设置模组AT串口 if at_port == modem_device["at_port"] then modes=modem_device["modes"] - return + return true --跳出循环 end end) @@ -473,6 +515,7 @@ function getModemDebugInfo() if at_port == modem_device["at_port"] then --获取制造商 manufacturer=modem_device["manufacturer"] + return true --跳出循环 end end) diff --git a/luci-app-modem/luasrc/view/modem/modem_debug.htm b/luci-app-modem/luasrc/view/modem/modem_debug.htm index 24934b8..0ad9fca 100644 --- a/luci-app-modem/luasrc/view/modem/modem_debug.htm +++ b/luci-app-modem/luasrc/view/modem/modem_debug.htm @@ -11,6 +11,8 @@ modem_select.addEventListener('change', function() { //获取快捷命令 get_quick_commands(); + //获取模组调试信息 + get_modem_debug_info(); }); //获取快捷选项父元素 @@ -106,7 +108,7 @@ } // 设置AT串口选项 - function set_at_port(port) + function set_at_port(at_ports,translation) { // 获取模组选择框元素 var modem_select = document.getElementById('modem_select'); @@ -114,20 +116,25 @@ var selected=modem_select.value; // 删除原来的选项 modem_select.options.length=0; - // 更新(key:AT串口,value:模组名称) - for (var key in port) + //遍历每一个AT串口 + for (var port of at_ports) { - var option = document.createElement('option'); - option.value = key; - if (port[key].includes("unknown")) + //更新(key:AT串口,value:模块名称) + for (var key in port) { - option.text = port[key].replace("unknown", key); + var option = document.createElement('option'); + option.value = key; + var language=navigator.language; + if (port[key].includes("unknown")) + { + option.text = port[key].replace("unknown", key); + } + else + { + option.text = port[key]; + } + modem_select.appendChild(option); } - else - { - option.text = port[key]; - } - modem_select.appendChild(option); } // 恢复原来的选择 for (let i = 0; i < modem_select.options.length; i++) @@ -549,13 +556,16 @@ // 定时触发更新AT串口 XHR.poll(5,'<%=luci.dispatcher.build_url("admin", "network", "modem", "get_at_port")%>', null, - function(x, port) + function(x, data) { + var at_ports=data["at_ports"]; + var translation=data["translation"]; + //设置AT串口选项 - set_at_port(port); + set_at_port(at_ports,translation); //获取快捷命令 - if (Object.keys(port).length==0) + if (Object.keys(at_ports).length==0) { //显示无模组界面 no_modems_view(); diff --git a/luci-app-modem/luasrc/view/modem/modem_info.htm b/luci-app-modem/luasrc/view/modem/modem_info.htm index f371f69..1b01ae5 100644 --- a/luci-app-modem/luasrc/view/modem/modem_info.htm +++ b/luci-app-modem/luasrc/view/modem/modem_info.htm @@ -180,14 +180,14 @@ end } //显示信息 - function set_info(info) + function set_info(info,translation) { for (var key in info) - { + { var info_Element=document.getElementById(key); if (info_Element!=null) { - info_Element.innerHTML=info[key]; + info_Element.innerHTML=translation[info[key]]; } } } @@ -208,6 +208,8 @@ end document.getElementById("info_message").innerHTML="<%:Not adapted to this modem%>"; // 显示提示信息 document.getElementById("cbi-info").style.display="block"; + // 显示基本信息 + document.getElementById("cbi-baseinfo").style.display="block"; // 隐藏SIM卡信息 document.getElementById("cbi-siminfo").style.display="none"; // 隐藏网络信息 @@ -297,13 +299,13 @@ end // 设备信息 var device_info=modem_info["device_info"]; - set_info(device_info); + set_info(device_info,translation); // 更多信息 var more_info=modem_info["more_info"]; //基本信息 var base_info=more_info["base_info"]; - set_info(base_info); + set_info(base_info,translation); //基本信息界面控制 base_info_view(base_info["manufacturer"]); @@ -326,7 +328,7 @@ end //网络信息 var network_info=more_info["network_info"]; - set_info(network_info); + set_info(network_info,translation); //小区信息 var cell_info=more_info["cell_info"]; @@ -339,7 +341,7 @@ end } // 设置AT串口选项 - function set_at_port(port) + function set_at_port(at_ports,translation) { //获取模块选择框元素 var modem_select = document.getElementById('modem_select'); @@ -347,13 +349,25 @@ end var selected=modem_select.value; // 删除原来的选项 modem_select.options.length=0; - // 更新(key:AT串口,value:模块名称) - for (var key in port) + //遍历每一个AT串口 + for (var port of at_ports) { - var option = document.createElement('option'); - option.text = port[key].trim(); - option.value = key; - modem_select.appendChild(option); + //更新(key:AT串口,value:模块名称) + for (var key in port) + { + var option = document.createElement('option'); + option.value = key; + var language=navigator.language; + if (port[key].includes("unknown")) + { + option.text = translation[port[key]]; + } + else + { + option.text = port[key]; + } + modem_select.appendChild(option); + } } // 恢复原来的选择 for (let i = 0; i < modem_select.options.length; i++) @@ -368,12 +382,15 @@ end // 定时触发更新AT串口和模组数据 XHR.poll(5,'<%=luci.dispatcher.build_url("admin", "network", "modem", "get_at_port")%>', null, - function(x, port) + function(x, data) { + var at_ports=data["at_ports"]; + var translation=data["translation"]; + //设置AT串口选项 - set_at_port(port); + set_at_port(at_ports,translation); //更新模组信息 - if (Object.keys(port).length==0) + if (Object.keys(at_ports).length==0) { no_modems_view(); } @@ -432,7 +449,7 @@ end - + diff --git a/luci-app-modem/luasrc/view/modem/modem_status.htm b/luci-app-modem/luasrc/view/modem/modem_status.htm index fec9e02..5fc1b22 100644 --- a/luci-app-modem/luasrc/view/modem/modem_status.htm +++ b/luci-app-modem/luasrc/view/modem/modem_status.htm @@ -1,9 +1,3 @@ -<%# - Copyright 2014 Aedan Renner - Copyright 2018 Florian Eckert - Licensed to the public under the GNU General Public License v2. --%> -
<%:Modem%><%:Modem Name%>