@@ -486,6 +497,89 @@ export default function Matches() {
)
}
+/** 终裁印章:预测版右上角的红印,全站强调色的点睛之处 */
+function FinalSeal() {
+ return (
+
+
+ 终裁
+
+
+ )
+}
+
+/** 预测比分:版面核心,大号宋体 + 纵排队名 + 终裁印章 */
+function ScoreMast({
+ homeName,
+ awayName,
+ home,
+ away,
+}: {
+ homeName: string
+ awayName: string
+ home: number | null
+ away: number | null
+}) {
+ return (
+
+
+
+
{homeName}
+
+ {home ?? '-'}
+ :
+ {away ?? '-'}
+
+
{awayName}
+
+
预测比分
+
+ )
+}
+
+/** 五路专家倾向条:home_edge 的分歧可视化,红=利主,墨=利客,条高=强度 */
+function ExpertLeans({ reports }: { reports: AgentReport[] }) {
+ const withEdge = reports.filter(
+ (r): r is AgentReport & { home_edge: number } => r.status === 'ok' && r.home_edge !== null,
+ )
+ if (withEdge.length === 0) return null
+ const summary = withEdge
+ .map(r => `${AGENT_LABELS[r.agent] ?? r.agent} ${r.home_edge > 0 ? '利主' : '利客'} ${Math.abs(r.home_edge).toFixed(2)}`)
+ .join(',')
+ return (
+
+ {withEdge.map((r, i) => {
+ const up = r.home_edge >= 0
+ const h = Math.round(Math.min(1, Math.abs(r.home_edge)) * 50)
+ return (
+
0 ? '+' : '') + r.home_edge.toFixed(2)}`}
+ >
+
+
+
+
+
{CN_NUM[i] ?? i + 1}
+
+ )
+ })}
+
+ )
+}
+
function PredictionPanel({
prediction,
match,
@@ -514,15 +608,13 @@ function PredictionPanel({
- {/* ── 预测比分:版面核心,大号宋体 ── */}
-
-
- {prediction.pred_home_goals ?? '-'}
- :
- {prediction.pred_away_goals ?? '-'}
-
-
预测比分
-
+ {/* ── 预测比分:版面核心,纵排队名 + 终裁印章 ── */}
+
{/* ── 胜平负 ── */}
@@ -552,6 +644,7 @@ function PredictionPanel({
+
{prediction.agent_outputs.map((r, i) => (
))}
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index 219b792..fe818e2 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -34,11 +34,11 @@ export default {
},
fontFamily: {
// 标题与比分:宋体血统,报纸版面的骨架
- // 拉丁字形走 Georgia(含真斜体,供 Profeto 刊名),中文走 Noto Serif SC webfont;
- // 原栈在 Windows 上会跌进 SimSun(点阵感),webfont 兜底解决跨端不一致
+ // Noto Serif SC 站首位:拉丁与数字走它的直线字形(Georgia 是 old-style 数字,
+ // 比分 3:1 会高低不齐);Georgia 只保留给刊名斜体(.wordmark)
serif: [
- 'Georgia',
'"Noto Serif SC"',
+ 'Georgia',
'"Times New Roman"',
'"Songti SC"',
'STSong',