From 7562a8c69e760394fec681bf07c99aa659b26543 Mon Sep 17 00:00:00 2001 From: fangjie Date: Mon, 24 Aug 2026 18:55:00 +0800 Subject: [PATCH] add update.sh --- update.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 update.sh diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..4a97252 --- /dev/null +++ b/update.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# update.sh —— 武汉自投 · 投手投放花费报告 数据刷新脚本 +# 平台约定:服务器会按 schedule.conf 的频率自动执行本脚本, +# 脚本负责产出 data.json,网页通过 fetch('data.json') 读取。 +# +# ⚠️ 数据来源说明(重要): +# 本报告数据来自钉钉文档《2608每日数据-武汉萌奇熊》的 Week34 表 + 投手表。 +# 该文档为钉钉私有空间、canvas 渲染、需要登录态,且无公开 API, +# 服务器端无法在无人值守情况下自动抓取并重算。 +# 因此本脚本【不会】凭空生成数据;data.json 由人工/助手在有登录态的 +# 浏览器中提取后写入仓库。脚本仅做“存在性校验 + 打时间戳”, +# 避免造成“数据已自动更新”的假象。 +# +# 如果将来提供了可直接访问的数据接口(例如导出 CSV 的 URL 或内部 API), +# 把下面 DATA_ENDPOINT 填上并取消注释相应段落即可实现真正自动更新。 + +set -euo pipefail +cd "$(dirname "$0")" + +# DATA_ENDPOINT="" # 例如 https://内网/export/week-buyer-spend.json +# if [ -n "${DATA_ENDPOINT:-}" ]; then +# curl -fsSL "$DATA_ENDPOINT" -o data.json +# echo "data.json 已从接口刷新" +# fi + +if [ ! -f data.json ]; then + echo "ERROR: data.json 不存在,需先由助手在登录态下提取数据并提交。" >&2 + exit 1 +fi + +# 校验 JSON 合法性(若服务器有 python) +if command -v python3 >/dev/null 2>&1; then + python3 -c "import json,sys; json.load(open('data.json'))" || { echo "data.json 非法 JSON" >&2; exit 1; } +fi + +echo "checked data.json at $(date -u +%FT%TZ)"