fix: expose display_score/gate_passed as top-level fields in /api/signals/latest for v53_btc
This commit is contained in:
parent
67f68f8756
commit
546fae39d0
@ -464,6 +464,15 @@ async def get_signal_latest(user: dict = Depends(get_current_user), strategy: st
|
||||
data["factors"] = json.loads(data["factors"])
|
||||
except Exception:
|
||||
pass
|
||||
# 对 v53_btc:把 alt_score_ref 提升为顶层字段,方便前端直接读
|
||||
if strategy == "v53_btc" and isinstance(data.get("factors"), dict):
|
||||
f = data["factors"]
|
||||
if data.get("score", 0) == 0 and f.get("alt_score_ref") is not None:
|
||||
data["display_score"] = f["alt_score_ref"]
|
||||
data["gate_passed"] = f.get("gate_passed", True)
|
||||
else:
|
||||
data["display_score"] = data.get("score", 0)
|
||||
data["gate_passed"] = f.get("gate_passed", True)
|
||||
result[sym.replace("USDT", "")] = data
|
||||
return result
|
||||
|
||||
|
||||
@ -36,6 +36,8 @@ interface LatestIndicator {
|
||||
p95_qty: number;
|
||||
p99_qty: number;
|
||||
score: number;
|
||||
display_score?: number; // v53_btc: alt_score_ref(参考分)
|
||||
gate_passed?: boolean; // v53_btc顶层字段
|
||||
signal: string | null;
|
||||
tier?: "light" | "standard" | "heavy" | null;
|
||||
factors?: {
|
||||
@ -307,11 +309,11 @@ function IndicatorCards({ symbol }: { symbol: Symbol }) {
|
||||
{isBTC ? (
|
||||
<>
|
||||
<p className="font-mono font-bold text-lg text-slate-800">
|
||||
{data.factors?.alt_score_ref ?? data.score}/100
|
||||
{data.display_score ?? data.factors?.alt_score_ref ?? data.score}/100
|
||||
<span className="text-[10px] font-normal text-slate-400 ml-1">参考分</span>
|
||||
</p>
|
||||
<p className="text-[10px] text-slate-500">
|
||||
{(data.factors?.gate_passed) ? (data.tier === "standard" ? "标准" : "不开仓") : "Gate否决"}
|
||||
{(data.gate_passed ?? data.factors?.gate_passed) ? (data.tier === "standard" ? "标准" : "不开仓") : "Gate否决"}
|
||||
</p>
|
||||
</>
|
||||
) : (
|
||||
|
||||
Loading…
Reference in New Issue
Block a user