「历史范围」原本放在设置页,却只对同步页的一个按钮起作用;而同步页最 显眼的主按钮「同步最新数据」写死 2 天,根本不看这个设置。选了「全部 历史」再点主按钮,表现就是应用无视你 —— 这正是反复出现的「只同步下来 两天」。 现在两条链路各管各的: * 自动同步:只在设置页配置(开关 + 频率),窗口固定 SYNC_DAYS,不再 读 history_days。措辞也改成「拉取最近几天」,不再暗示会补历史。 * 手动同步:范围就在同步页当场选,紧挨着用它的按钮,并标出每个范围的 实际代价(自上次同步 / 7 天 / … / 全部历史约 730 天、20-40 分钟)。 两个按钮合成一个「开始同步」,写死 2 天的那个删掉。 history_days 保留为「上次手动选的范围」,只有同步页读它;默认值改成 -1(自上次同步),对日常使用是正确的起点。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
40 lines
1.2 KiB
Bash
40 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# Deploy the latest local code to NAS.
|
|
# Usage: sh deploy/deploy.sh
|
|
# Prerequisites: client has been built (`npm run build` in client/)
|
|
|
|
APP="$(cd "$(dirname "$0")/.." && pwd)"
|
|
NAS_HOST="${1:-ericwyuan@192.168.50.64}"
|
|
NAS_PORT="${2:-2222}"
|
|
NAS_PATH="/volume1/web/garmin-health-lab"
|
|
NAS_PASS="iLoveJava5"
|
|
|
|
set -e
|
|
|
|
echo "=== Building frontend ==="
|
|
cd "$APP/client"
|
|
npm run build 2>&1 | tail -3
|
|
|
|
echo "=== Syncing files to NAS (excluding .venv) ==="
|
|
cd "$APP"
|
|
tar cz \
|
|
--exclude='backend/.venv' \
|
|
--exclude='backend/__pycache__' \
|
|
--exclude='backend/*.pyc' \
|
|
--exclude='node_modules' \
|
|
-f /tmp/garmin_deploy.tar.gz \
|
|
backend/ deploy/
|
|
|
|
sshpass -p "$NAS_PASS" scp -P "$NAS_PORT" -o StrictHostKeyChecking=no \
|
|
/tmp/garmin_deploy.tar.gz "${NAS_HOST}:/tmp/garmin_deploy.tar.gz"
|
|
|
|
sshpass -p "$NAS_PASS" ssh -p "$NAS_PORT" -o StrictHostKeyChecking=no \
|
|
"$NAS_HOST" "echo '$NAS_PASS' | sudo -S tar xzf /tmp/garmin_deploy.tar.gz -C $NAS_PATH/ && rm /tmp/garmin_deploy.tar.gz"
|
|
|
|
rm -f /tmp/garmin_deploy.tar.gz
|
|
|
|
echo "=== Restarting service ==="
|
|
sshpass -p "$NAS_PASS" ssh -p "$NAS_PORT" -o StrictHostKeyChecking=no \
|
|
"$NAS_HOST" "echo '$NAS_PASS' | sudo -S $NAS_PATH/deploy/start.sh 2>&1"
|
|
|
|
echo "=== Done ===" |