优化任务列表性能和本地登录代理
This commit is contained in:
@@ -79,6 +79,20 @@ detect_compose() {
|
||||
fi
|
||||
}
|
||||
|
||||
detect_backend_proxy_host() {
|
||||
if [ "$BACKEND_HOST" != "0.0.0.0" ] && [ "$BACKEND_HOST" != "::" ]; then
|
||||
echo "$BACKEND_HOST"
|
||||
return
|
||||
fi
|
||||
# 绑定 0.0.0.0 时,Vite 代理不要固定连 127.0.0.1;某些本地工具会抢占 loopback 端口。
|
||||
local ip
|
||||
ip="$(ipconfig getifaddr en0 2>/dev/null || ipconfig getifaddr en1 2>/dev/null || true)"
|
||||
if [ -z "$ip" ] && command -v hostname >/dev/null 2>&1; then
|
||||
ip="$(hostname -I 2>/dev/null | awk '{print $1}' || true)"
|
||||
fi
|
||||
echo "${ip:-127.0.0.1}"
|
||||
}
|
||||
|
||||
if [ -n "${DATABASE_URL:-}" ] && [[ "$DATABASE_URL" != mysql+* ]]; then
|
||||
echo "dev.sh 只支持 MySQL,请移除 SQLite DATABASE_URL: $DATABASE_URL"
|
||||
exit 1
|
||||
@@ -99,6 +113,8 @@ if [ -z "$COMPOSE" ]; then
|
||||
echo "缺少 docker compose"
|
||||
exit 1
|
||||
fi
|
||||
BACKEND_PROXY_HOST="${BACKEND_PROXY_HOST:-$(detect_backend_proxy_host)}"
|
||||
BACKEND_PROXY_TARGET="${VITE_BACKEND_TARGET:-http://${BACKEND_PROXY_HOST}:${BACKEND_PORT}}"
|
||||
|
||||
mkdir -p data logs
|
||||
|
||||
@@ -128,7 +144,7 @@ echo " 本地调试模式"
|
||||
echo "=============================="
|
||||
echo " 后端: http://${BACKEND_HOST}:${BACKEND_PORT}"
|
||||
echo " 前端: http://localhost:${FRONTEND_PORT}"
|
||||
echo " API 代理: http://127.0.0.1:${BACKEND_PORT}"
|
||||
echo " API 代理: ${BACKEND_PROXY_TARGET}"
|
||||
echo " MySQL: ${DB_HOST}:${DB_PORT}/${DB_NAME}"
|
||||
echo " 退出: Ctrl+C"
|
||||
echo "=============================="
|
||||
@@ -157,7 +173,7 @@ BACKEND_PID=$!
|
||||
|
||||
(
|
||||
cd web/frontend
|
||||
VITE_BACKEND_TARGET="http://127.0.0.1:${BACKEND_PORT}" \
|
||||
VITE_BACKEND_TARGET="$BACKEND_PROXY_TARGET" \
|
||||
npm run dev -- --host "$FRONTEND_HOST" --port "$FRONTEND_PORT"
|
||||
) &
|
||||
FRONTEND_PID=$!
|
||||
|
||||
Reference in New Issue
Block a user