diff --git a/cmd/gui/main.js b/cmd/gui/main.js index 6c845c8..d7ed354 100644 --- a/cmd/gui/main.js +++ b/cmd/gui/main.js @@ -1428,7 +1428,8 @@ function executeHomeagentCmd(capability, reqId) { } case "screensue": { // 在配置的目标屏幕上拉起独立窗口显示内容(支持文字 / HTML) - var duration = 0; // 显示时长(秒),0=常驻 + // 默认 5 秒自动关闭;命令可带 [秒] 指定时长,0 = 永不超时(常驻,用户手动关闭) + var duration = 5; var raw = String(capability || "") .replace(/^screensue/, "") .trim(); @@ -1438,9 +1439,15 @@ function executeHomeagentCmd(capability, reqId) { const prefs = loadGuiPrefs(); const db = prefs.deviceBridge || {}; dispIdx = parseInt(db.screensueDisplay || "0", 10) || 0; - duration = parseInt(db.screensueDuration || "0", 10) || 0; + const cfgDur = db.screensueDuration; + if (cfgDur === undefined || cfgDur === null || cfgDur === "") { + duration = 5; // 未配置时默认 5 秒 + } else { + duration = parseInt(cfgDur, 10); + if (!Number.isFinite(duration) || duration < 0) duration = 5; + } } catch (e) {} - // 参数支持 "screensue [时长秒] 内容":首个纯数字 token 作为时长 + // 参数支持 "screensue [时长秒] 内容":首个纯数字 token 作为时长(0=永不超时) const tokens = raw.split(/\s+/); if (tokens.length > 1 && /^\d+$/.test(tokens[0])) { duration = parseInt(tokens[0], 10); @@ -1509,7 +1516,9 @@ function executeHomeagentCmd(capability, reqId) { "ok", "screensue shown on display " + dispIdx + - (duration > 0 ? " for " + duration + "s" : "") + + (duration > 0 + ? " for " + duration + "s" + : " (persistent until closed)") + ": " + raw.slice(0, 80), "", @@ -2132,7 +2141,7 @@ function loadGuiPrefs() { gateway: db.gateway || "", token: db.token || "", screensueDisplay: db.screensueDisplay || "0", - screensueDuration: db.screensueDuration || "0", + screensueDuration: db.screensueDuration === undefined || db.screensueDuration === null || db.screensueDuration === "" ? "5" : String(db.screensueDuration), exec: db.exec || {}, authSchedule: db.authSchedule || {}, }, @@ -2148,7 +2157,7 @@ function loadGuiPrefs() { gateway: "", token: "", screensueDisplay: "0", - screensueDuration: "0", + screensueDuration: "5", exec: {}, authSchedule: {}, }, diff --git a/cmd/gui/renderer/app.js b/cmd/gui/renderer/app.js index 5279b22..e8e5cc3 100644 --- a/cmd/gui/renderer/app.js +++ b/cmd/gui/renderer/app.js @@ -4992,6 +4992,13 @@ function renderDevices() { '" + + "' + "" + '
' + "