fix:save_logic

chore:add_guide
This commit is contained in:
dichgrem
2025-10-20 10:10:24 +08:00
parent cd7f41d7a7
commit ef45a9414b

View File

@@ -1,6 +1,6 @@
-- /usr/lib/lua/luci/model/cbi/zzz.lua -- /usr/lib/lua/luci/model/cbi/zzz.lua
local m, s, o local m, s, o
local sys = require "luci.sys" local sys = require("luci.sys")
-- control -- control
local start_action = luci.http.formvalue("cbid.zzz.auth.start_service") local start_action = luci.http.formvalue("cbid.zzz.auth.start_service")
@@ -15,8 +15,7 @@ elseif restart_action then
sys.call("/etc/rc.d/S99zzz stop; sleep 2; /etc/rc.d/S99zzz start") sys.call("/etc/rc.d/S99zzz stop; sleep 2; /etc/rc.d/S99zzz start")
end end
m = Map("zzz", "ZZZ 802.1x 认证客户端", m = Map("zzz", "ZZZ 802.1x 认证客户端", "配置使用 zzz 客户端进行网络访问的 802.1x 认证")
"配置使用 zzz 客户端进行网络访问的 802.1x 认证")
-- Authentication Settings -- Authentication Settings
s = m:section(TypedSection, "auth", "认证设置") s = m:section(TypedSection, "auth", "认证设置")
@@ -27,7 +26,7 @@ s.addremove = false
o = s:option(DummyValue, "_status", "当前状态") o = s:option(DummyValue, "_status", "当前状态")
o.rawhtml = true o.rawhtml = true
o.cfgvalue = function() o.cfgvalue = function()
local sys = require "luci.sys" local sys = require("luci.sys")
local running = sys.call("pgrep zzz >/dev/null") == 0 local running = sys.call("pgrep zzz >/dev/null") == 0
if running then if running then
return "<span style='color:green;font-weight:bold'>✔ 正在运行中</span>" return "<span style='color:green;font-weight:bold'>✔ 正在运行中</span>"
@@ -53,17 +52,40 @@ control_buttons.cfgvalue = function()
end end
-- Username -- Username
o = s:option(Value, "username", "用户名", "802.1x 认证用户名") o = s:option(
Value,
"username",
"用户名",
[[802.1x 认证用户名
<span style="cursor: help; color: #007bff; font-weight: bold;" title="用户名为学号@运营商例如212306666@cucc移动为cmcc联通为cucc电信为ctcc">?</span>]]
)
o.password = true o.password = true
o.rmempty = false o.rmempty = false
o.rawhtml = true
-- Password -- Password
o = s:option(Value, "password", "密码", "802.1x 认证密码")
o.password = true o.password = true
o.rmempty = false o.rmempty = false
o = s:option(
Value,
"password",
"密码",
[[802.1x 认证密码
<span style="cursor: help; color: #007bff; font-weight: bold;" title="密码默认为身份证号后六位可以在官方客户端inode中修改">?</span>]]
)
o.password = true
o.rmempty = false
o.rawhtml = true
-- Network Device -- Network Device
o = s:option(ListValue, "device", "网络接口", "用于认证的网络接口") o = s:option(ListValue, "device", "网络接口", "用于认证的网络接口")
o = s:option(
Value,
"device",
"网络接口",
[[用于认证的网络接口
<span style="cursor: help; color: #007bff; font-weight: bold;" title="可以用ip addr命令查看有10.38开头ip的接口">?</span>]]
)
o.rmempty = false o.rmempty = false
o:value("eth0", "eth0") o:value("eth0", "eth0")
o:value("eth1", "eth1") o:value("eth1", "eth1")
@@ -93,7 +115,9 @@ auto_start.write = function(self, section, value)
if value == "1" then if value == "1" then
-- 启用定时任务:每周一至周五 7:00 启动 -- 启用定时任务:每周一至周五 7:00 启动
sys.call("(crontab -l 2>/dev/null | grep -v 'S99zzz' | grep -v '# zzz auto') | crontab - 2>/dev/null") sys.call("(crontab -l 2>/dev/null | grep -v 'S99zzz' | grep -v '# zzz auto') | crontab - 2>/dev/null")
sys.call("(crontab -l 2>/dev/null; echo '0 7 * * 1,2,3,4,5 /etc/rc.d/S99zzz start # zzz auto start') | crontab -") sys.call(
"(crontab -l 2>/dev/null; echo '0 7 * * 1,2,3,4,5 /etc/rc.d/S99zzz start # zzz auto start') | crontab -"
)
sys.call("/etc/init.d/cron enable && /etc/init.d/cron restart") sys.call("/etc/init.d/cron enable && /etc/init.d/cron restart")
else else
-- 禁用定时任务 -- 禁用定时任务
@@ -114,4 +138,10 @@ timer_status_display.cfgvalue = function()
end end
end end
-- 保存后自动重启 zzz 服务
m.on_commit = function(self)
local sys = require("luci.sys")
sys.call("/etc/rc.d/S99zzz restart >/dev/null 2>&1 &")
end
return m return m