fix:增面
This commit is contained in:
78
scripts/debug-panels-focus.sh
Executable file
78
scripts/debug-panels-focus.sh
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/usr/bin/env bash
|
||||
# 仅检查:战损、基地、地图战区 三块数据
|
||||
# 用法: ./scripts/debug-panels-focus.sh
|
||||
|
||||
set -e
|
||||
API_URL="${API_URL:-http://localhost:3001}"
|
||||
PROJECT_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
DB_PATH="${DB_PATH:-$PROJECT_ROOT/server/data.db}"
|
||||
|
||||
echo "=========================================="
|
||||
echo "战损 / 基地 / 地图战区 — 数据检查"
|
||||
echo "API: $API_URL | DB: $DB_PATH"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# ---------- API 连通 ----------
|
||||
if ! curl -sf "$API_URL/api/health" >/dev/null 2>&1; then
|
||||
echo "✗ API 无响应,请先运行: npm run api"
|
||||
exit 1
|
||||
fi
|
||||
echo "✓ API 正常"
|
||||
echo ""
|
||||
|
||||
SIT=$(curl -sf "$API_URL/api/situation" 2>/dev/null || echo "{}")
|
||||
|
||||
# ---------- 1. 战损 ----------
|
||||
echo "[1] 战损 (combat_losses)"
|
||||
if command -v jq &>/dev/null; then
|
||||
us_k=$(echo "$SIT" | jq -r '.usForces.combatLosses.personnelCasualties.killed // "?"')
|
||||
us_w=$(echo "$SIT" | jq -r '.usForces.combatLosses.personnelCasualties.wounded // "?"')
|
||||
ir_k=$(echo "$SIT" | jq -r '.iranForces.combatLosses.personnelCasualties.killed // "?"')
|
||||
ir_w=$(echo "$SIT" | jq -r '.iranForces.combatLosses.personnelCasualties.wounded // "?"')
|
||||
echo " 美军 阵亡=$us_k 受伤=$us_w | 伊朗 阵亡=$ir_k 受伤=$ir_w"
|
||||
echo " conflictStats: $(echo "$SIT" | jq -c '.conflictStats')"
|
||||
else
|
||||
echo " (安装 jq 可显示详细数字)"
|
||||
fi
|
||||
if [[ -f "$DB_PATH" ]] && command -v sqlite3 &>/dev/null; then
|
||||
echo " 表 combat_losses:"
|
||||
sqlite3 "$DB_PATH" "SELECT side, personnel_killed, personnel_wounded, bases_destroyed, bases_damaged FROM combat_losses" 2>/dev/null | while read -r line; do echo " $line"; done
|
||||
fi
|
||||
echo " 数据来源: seed 初始;爬虫从新闻提取 combat_losses_delta 后 db_merge 增量叠加。不更新→检查是否跑 gdelt、提取器是否输出、新闻是否含伤亡数字。"
|
||||
echo ""
|
||||
|
||||
# ---------- 2. 基地 ----------
|
||||
echo "[2] 基地 (key_location)"
|
||||
if command -v jq &>/dev/null; then
|
||||
us_loc=$(echo "$SIT" | jq -r '.usForces.keyLocations | length')
|
||||
ir_loc=$(echo "$SIT" | jq -r '.iranForces.keyLocations | length')
|
||||
us_attacked=$(echo "$SIT" | jq -r '[.usForces.keyLocations[] | select(.status == "attacked")] | length')
|
||||
ir_attacked=$(echo "$SIT" | jq -r '[.iranForces.keyLocations[] | select(.status == "attacked")] | length')
|
||||
echo " 美军 据点=$us_loc 遭袭=$us_attacked | 伊朗 据点=$ir_loc 遭袭=$ir_attacked"
|
||||
fi
|
||||
if [[ -f "$DB_PATH" ]] && command -v sqlite3 &>/dev/null; then
|
||||
echo " 表 key_location 遭袭/有损伤的:"
|
||||
sqlite3 "$DB_PATH" "SELECT side, name, status, damage_level FROM key_location WHERE status != 'operational' OR damage_level IS NOT NULL LIMIT 10" 2>/dev/null | while read -r line; do echo " $line"; done
|
||||
fi
|
||||
echo " 数据来源: seed 写入全部据点;爬虫只更新 status/damage_level,需 name_keywords 与 name LIKE 匹配。不更新→检查新闻是否提基地遭袭、关键词与 seed name 是否一致。"
|
||||
echo ""
|
||||
|
||||
# ---------- 3. 地图战区 ----------
|
||||
echo "[3] 地图战区 (gdelt_events + conflict_stats)"
|
||||
if command -v jq &>/dev/null; then
|
||||
ev_cnt=$(echo "$SIT" | jq -r '.conflictEvents | length')
|
||||
echo " conflictEvents 条数: $ev_cnt"
|
||||
echo " conflictStats: $(echo "$SIT" | jq -c '.conflictStats')"
|
||||
fi
|
||||
if [[ -f "$DB_PATH" ]] && command -v sqlite3 &>/dev/null; then
|
||||
n_ev=$(sqlite3 "$DB_PATH" "SELECT COUNT(*) FROM gdelt_events" 2>/dev/null || echo "0")
|
||||
echo " 表 gdelt_events 行数: $n_ev"
|
||||
sqlite3 "$DB_PATH" "SELECT total_events, high_impact_events, estimated_casualties, estimated_strike_count FROM conflict_stats WHERE id = 1" 2>/dev/null | while read -r line; do echo " conflict_stats: $line"; done
|
||||
fi
|
||||
echo " 数据来源: GDELT API 写入;或 GDELT_DISABLED=1 时由 situation_update 回填。无点→跑 gdelt 或开启 RSS 回填。"
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "详细说明与排查顺序见: docs/DEBUG_战损_基地_地图.md"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user