重构: 移除信号Tab(与市场Tab重复+死数据), 市场Tab改为温区regime+板块排行, 候选池迁入选自Tab, /api/market加regimes, 删/api/signals, 修change_pct显示bug和market.json兜底

This commit is contained in:
xxm
2026-08-22 11:14:54 +08:00
parent 0c1c6cabeb
commit d82d67246f
2 changed files with 84 additions and 144 deletions
+15 -25
View File
@@ -1158,42 +1158,32 @@ def api_stock(code):
@app.route("/api/market")
def api_market():
"""市场观察"""
"""市场观察2026-08-22 重构:板块快照 + A股/港股温区 regime)"""
try:
from mofin_db import get_conn, query_latest_market
conn = get_conn()
data = query_latest_market(conn)
# 当前市场温区(每市场取最新一条 market_regime
try:
rows = conn.execute("""
SELECT mr.market, mr.date, mr.regime, mr.close,
mr.above_ma20, mr.ma20_slope, mr.roc, mr.adx
FROM market_regime mr
JOIN (SELECT market, MAX(date) md FROM market_regime GROUP BY market) t
ON mr.market = t.market AND mr.date = t.md
ORDER BY mr.market
""").fetchall()
data["regimes"] = [dict(r) for r in rows]
except Exception:
data["regimes"] = []
conn.close()
if data and data.get("sectors"):
if data and (data.get("sectors") or data.get("regimes")):
return jsonify(data)
except Exception:
pass
return jsonify(_load_json(DATA_DIR / "market.json", {}))
# ── 信号API(新增) ─────────────────────────────────────
@app.route("/api/signals")
def api_signals():
"""最近信号 + 小果分析"""
try:
from mofin_db import get_conn
conn = get_conn()
signals = conn.execute("""
SELECT sn.id, sn.sector, sn.overall_sentiment,
sn.summary, sn.source, sn.created_at,
ss.signal_type, ss.severity
FROM signal_news sn
LEFT JOIN sector_signals ss ON sn.signal_id = ss.id
ORDER BY sn.id DESC LIMIT 20
""").fetchall()
conn.close()
return jsonify([dict(r) for r in signals])
except Exception as e:
return jsonify({"error": str(e)}), 500
@app.route("/api/xiaoguo-scan")
def api_xiaoguo_scan():
"""小果扫描统计(2026-08-19 小果已废弃收尸,返回空)"""