refactor(motor): P1 拆分 main.js + 收敛连接/总线状态机
R4 外提 scope/ota/seq/conn-poll;R5 waitVersion/queryNodeIdParam 下沉 transport;R6 ecat-bus 单点 bootstrap;R7 toast-stack + utils 去重。 main.js 4647→~1894 行。?v= 已 bump 20260924a。
This commit is contained in:
+9
-13
@@ -12,7 +12,10 @@
|
||||
* 复用的函数(通过 window.* 引用):
|
||||
* window.getBaseUrl / window.updateSystemStatusUi / window.formatPercent
|
||||
*/
|
||||
import { formatBytes, formatTime, formatUptime, escapeHtml } from './utils.js';
|
||||
import {
|
||||
formatBytes, formatTime, formatUptime, escapeHtml,
|
||||
setTextIfChanged, setClassIfChanged, setQuietMode,
|
||||
} from './utils.js';
|
||||
import { addLog } from './log.js';
|
||||
import { showToast } from './toast.js';
|
||||
import {
|
||||
@@ -20,6 +23,10 @@ import {
|
||||
} from './heap-low-history.js';
|
||||
import { deviceLink } from './device-link.js';
|
||||
|
||||
/* R7:setQuietMode / setTextIfChanged / setClassIfChanged 全仓唯一实现在 utils.js。
|
||||
* 此处 re-export setQuietMode,保持既有 `import { setQuietMode } from './connection.js'` 可用。 */
|
||||
export { setQuietMode };
|
||||
|
||||
// ==================== 渲染缓存(性能) ====================
|
||||
// /system/status 每 1s(中继期 400ms)刷一次 UI。此前每轮全量 innerHTML 重建
|
||||
// CPU/任务栈列表 + 无条件写几十个节点,引发周期性样式重算/重排/重绘掉帧。
|
||||
@@ -40,12 +47,6 @@ function setTextById(id, value) {
|
||||
var v = String(value);
|
||||
if (el.textContent !== v) el.textContent = v;
|
||||
}
|
||||
function setClassIfChanged(el, cls) {
|
||||
if (el && el.className !== cls) el.className = cls;
|
||||
}
|
||||
function setTextIfChanged(el, txt) {
|
||||
if (el && el.textContent !== txt) el.textContent = txt;
|
||||
}
|
||||
/** 写前比较的宽度更新:用元素上的 _lastW 缓存避免读回 style 字符串。 */
|
||||
function setWidthIfChanged(el, widthStr) {
|
||||
if (el && el._lastW !== widthStr) {
|
||||
@@ -59,13 +60,8 @@ function setWidthIfChanged(el, widthStr) {
|
||||
* 无设备静默态:设备离线且没有传输在跑时,给 <html> 挂 data-dcu-calm="1",
|
||||
* 由 responsive.css 统一掐掉常驻动画。160Hz 屏上这些动效每帧触发重算+重绘,
|
||||
* 实测未接设备时 renderer+GPU 各占约一核的七成。
|
||||
* (实现在 js/common/utils.js,见文件头注释。)
|
||||
*/
|
||||
export function setQuietMode(quiet) {
|
||||
var v = quiet ? '1' : '0';
|
||||
if (document.documentElement.dataset.dcuCalm !== v) {
|
||||
document.documentElement.dataset.dcuCalm = v;
|
||||
}
|
||||
}
|
||||
|
||||
/** 本轮是否有传输/OTA 在跑(此时即使设备短暂不响应也要保留动效)。 */
|
||||
function transferOngoing() {
|
||||
|
||||
Reference in New Issue
Block a user