增加关键位显示

This commit is contained in:
dekun
2026-05-22 10:51:57 +08:00
parent 493b4ff3fb
commit d144cb592a
4 changed files with 41 additions and 11 deletions
+25 -10
View File
@@ -97,9 +97,10 @@
const ag = row.agent || {};
const pos = Array.isArray(ag.positions) ? ag.positions : [];
const hm = row.hub_monitor || {};
const keys = hm.keys || [];
const orders = hm.orders || [];
const trends = hm.trends || [];
const flaskOk = row.flask_ok !== false && hm.ok !== false;
const keys = flaskOk ? hm.keys || [] : [];
const orders = flaskOk ? hm.orders || [] : [];
const trends = flaskOk ? hm.trends || [] : [];
const kmap = {};
(row.key_prices || []).forEach((k) => {
kmap[k.id] = k;
@@ -129,12 +130,26 @@
inner += `<div class="rule-tip">${esc(o.symbol)} ${o.direction} 成交${o.trigger_price}</div>`;
});
}
if ((row.capabilities || []).includes("key") && keys.length) {
inner += `<div style="margin-top:8px;font-size:12px;color:#b8c4ff">关键位 ${keys.length} 条</div>`;
keys.slice(0, 6).forEach((k) => {
const kp = kmap[k.id] || {};
inner += `<div class="rule-tip">${esc(k.symbol)} ${esc(k.monitor_type)}${k.upper}/下${k.lower} 门控:${esc(kp.gate_summary || "-")}</div>`;
});
if ((row.capabilities || []).includes("key")) {
if (!flaskOk) {
inner += `<div style="margin-top:8px;font-size:12px;color:#f85149">关键位/机器人:策略 Flask 未连通</div>`;
inner += `<div class="rule-tip">${esc(row.flask_error || hm.msg || "请确认实例 app 已启动,且 HUB_BRIDGE_TOKEN 与实例一致或 APP_AUTH_DISABLED=true")}</div>`;
} else if (!keys.length) {
inner += `<div style="margin-top:8px;color:var(--muted);font-size:12px">关键位:当前无记录(在下单区或实例首页添加)</div>`;
} else {
inner += `<div style="margin-top:8px;font-size:12px;color:#b8c4ff">关键位 ${keys.length} 条</div>`;
keys.slice(0, 8).forEach((k) => {
const kp = kmap[k.id] || kmap[String(k.id)] || {};
const mt = k.monitor_type || k.type || "";
inner += `<div class="rule-tip">${esc(k.symbol)} ${esc(mt)}${k.upper}/下${k.lower}`;
if (kp.price_display != null || kp.price != null) {
inner += ` · 现价 ${esc(kp.price_display != null ? kp.price_display : kp.price)}`;
}
inner += ` · 门控 ${esc(kp.gate_summary || "-")}</div>`;
});
}
} else if ((row.capabilities || []).includes("trend")) {
inner += `<div style="margin-top:6px;color:var(--muted);font-size:12px">该账户为趋势户,无关键位(见趋势计划或下单区)</div>`;
}
if (trends.length) {
inner += `<div style="margin-top:8px;font-size:12px;color:#b8c4ff">趋势计划 ${trends.length} 个运行中</div>`;
@@ -144,7 +159,7 @@
}
}
const review = row.review_url
? `<a href="${esc(row.review_url)}" target="_blank" rel="noopener">复盘</a>`
? `<a href="${esc(row.review_url)}" target="_blank" rel="noopener" title="打开该实例的交易记录与复盘页(不在中控内操作)">交易复盘</a>`
: "";
return `<div class="card">
<div class="card-head">