fix: loadTrades before chart init + try-catch for CDN failure

- Reorder init(): loadTrades() runs first, charts second
- Wrap chart init in try-catch so UI survives CDN issues
- Update start.sh to detect changes in embedded .html/.js/.css
This commit is contained in:
jackyu66git
2026-05-03 19:42:06 +08:00
parent 8284458b9c
commit c89a3b7333
2 changed files with 6 additions and 5 deletions
+3 -2
View File
@@ -29,8 +29,9 @@ if ss -tlnp 2>/dev/null | grep -q ":$PORT "; then
exit 1
fi
# 编译(如果源码有变更)
if [ ! -x "$BIN" ] || [ "$(find . -name '*.go' -newer "$BIN" 2>/dev/null | head -1)" ]; then
# 编译(如果源码或嵌入文件有变更)
WEB_FILES=$(find web/static -name '*.html' -o -name '*.js' -o -name '*.css' 2>/dev/null)
if [ ! -x "$BIN" ] || [ -n "$(find . -name '*.go' $WEB_FILES -newer "$BIN" 2>/dev/null | head -1)" ]; then
echo "[start] 编译新二进制..."
go build -o "$BIN" . 2>&1
fi
+3 -3
View File
@@ -610,10 +610,10 @@ window.closeTradeDetail = closeTradeDetail;
// ---- Init ----
function init() {
connectSSE();
initPriceChart();
initSpreadChart();
loadTrades();
loadTrades(); // run before charts in case Chart CDN is slow
setInterval(loadTrades, 10000);
try { initPriceChart(); } catch(e) { console.warn('Price chart init failed:', e); }
try { initSpreadChart(); } catch(e) { console.warn('Spread chart init failed:', e); }
}
if (document.readyState === 'loading') {