Compare commits
2 Commits
21fa6ef70f
...
ebf61d13d4
| Author | SHA1 | Date | |
|---|---|---|---|
| ebf61d13d4 | |||
| a43690930b |
@@ -188,6 +188,37 @@ async def eval_cmd(request):
|
||||
finally:
|
||||
await json_response(request, json.dumps(ack))
|
||||
|
||||
# 定时熄屏处理功能,熄屏则返回True
|
||||
def standby_control():
|
||||
# 获取当前时间 (格式: HH:MM)
|
||||
now = time.localtime()
|
||||
current_time = "{:02d}:{:02d}".format(now[3], now[4])
|
||||
|
||||
# 从配置中获取熄屏和唤醒时间
|
||||
standby_time = config.get("standby_time")
|
||||
wakeup_time = config.get("wakeup_time")
|
||||
|
||||
_set = config.get('brightness', 10)
|
||||
|
||||
# 如果设置了熄屏和唤醒时间
|
||||
if standby_time and wakeup_time:
|
||||
# 如果当前时间在熄屏时间之后,唤醒时间之前,则关闭屏幕
|
||||
if standby_time <= wakeup_time:
|
||||
if current_time >= standby_time and current_time < wakeup_time:
|
||||
_set = 0
|
||||
else:
|
||||
if current_time >= standby_time or current_time < wakeup_time:
|
||||
_set = 0
|
||||
else:
|
||||
_set = None
|
||||
|
||||
if _set is not None:
|
||||
if display.brightness():
|
||||
if _set == 0:
|
||||
display.brightness(0)
|
||||
else:
|
||||
if _set > 0:
|
||||
display.brightness(config.get("brightness", 10)) # 恢复亮度
|
||||
|
||||
|
||||
# ntp时钟同步
|
||||
@@ -327,7 +358,12 @@ async def ui_task():
|
||||
# 每隔100帧,更新一次UI显示
|
||||
F += 1
|
||||
if F % 100 == 0:
|
||||
display.update_ui()
|
||||
standby_control() # 控制开关机
|
||||
# 只在亮屏时更新显示
|
||||
if display.brightness():
|
||||
display.update_ui()
|
||||
else:
|
||||
gc.collect(); print(f'LCD.idle.mem: {gc.mem_free()}')
|
||||
|
||||
# 每轮清理一次内存
|
||||
gc.collect()
|
||||
|
||||
@@ -82,12 +82,10 @@ target="_blank"
|
||||
download
|
||||
>查看城市ID列表</a
|
||||
>)
|
||||
</small></div><div class="form-group"><label class="form-label">自动熄屏时间</label
|
||||
><input
|
||||
type="time"
|
||||
id="standby-time-input"
|
||||
class="form-control"
|
||||
/><small class="text-muted">留空表示不自动熄屏</small></div>
|
||||
</small></div><div class="form-group"><label class="form-label">自动熄屏时间</label><div style="display: flex;">
|
||||
<input type="time" id="standby-time-input" class="form-control" placeholder="熄屏时间" style="margin-right: 10px; flex: 1;"/>
|
||||
<input type="time" id="wakeup-time-input" class="form-control" placeholder="唤醒时间" style="flex: 1;"/></div>
|
||||
<small class="text-muted">分别设置熄屏和唤醒时间,留空则表示不自动熄屏</small></div>
|
||||
<div class="form-group"><label class="form-label">自定义配置</label>
|
||||
<div id="custom-config-container" class="custom-config-list">
|
||||
<div class="custom-config-row" style="display: flex; margin-bottom: 10px;">
|
||||
@@ -263,6 +261,7 @@ Math.round((memoryValue / maxMemory) * 100),
|
||||
);// 使用micro.js的图表功能创建仪表盘
|
||||
mw.chart.createGauge(mw.$("#memory-gauge"), percentage, 100, {
|
||||
label: "内存使用率",
|
||||
percent: true,
|
||||
color:
|
||||
percentage > 80
|
||||
? "#e74c3c"
|
||||
@@ -313,7 +312,10 @@ mw.val(mw.$("#city-input"), data.city);
|
||||
}
|
||||
if (data.standby_time) {
|
||||
mw.val(mw.$("#standby-time-input"), data.standby_time);
|
||||
}// 更新配置表
|
||||
}
|
||||
if (data.wakeup_time) {
|
||||
mw.val(mw.$("#wakeup-time-input"), data.wakeup_time);
|
||||
}
|
||||
updateConfigTable(data);
|
||||
} catch (error) {
|
||||
showMessage("获取配置失败: " + error.message, "error");
|
||||
@@ -353,6 +355,7 @@ try {
|
||||
const userCfgKey = mw.val(mw.$("#custom-config-key"));
|
||||
const userCfgVal = mw.val(mw.$("#custom-config-value"));
|
||||
const city = mw.val(mw.$("#city-input"));
|
||||
const wakeupTime = mw.val(mw.$("#wakeup-time-input"));
|
||||
const standbyTime = mw.val(mw.$("#standby-time-input"));if (!city) {
|
||||
showMessage("城市名称不能为空", "error");
|
||||
return;
|
||||
@@ -362,8 +365,9 @@ cityid: encodeURIComponent(city),
|
||||
};
|
||||
if (userCfgKey !== "") {
|
||||
configData[userCfgKey] = userCfgVal;
|
||||
}if (standbyTime !== "") {
|
||||
}if (standbyTime !== "" && wakeupTime !== "") {
|
||||
configData.standby_time = standbyTime;
|
||||
configData.wakeup_time = wakeupTime;
|
||||
}const response = await mw.ajax.post(
|
||||
"/config/set",
|
||||
configData,
|
||||
|
||||
2
src/rom/www/js/micro.min.js
vendored
2
src/rom/www/js/micro.min.js
vendored
@@ -59,7 +59,7 @@ const MicroWeb={$:t=>document.querySelector(t),$$:t=>document.querySelectorAll(t
|
||||
top: ${o/2.5}px;
|
||||
font-size: ${o/7}px;
|
||||
font-weight: bold;">
|
||||
${e}
|
||||
${e}${i.percent?"%":""}
|
||||
<div style="font-size: ${o/10}px; color: #666;">
|
||||
${i.label||""}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user