fix dashboard empty data and split dev scripts

This commit is contained in:
david
2026-07-29 17:28:18 +08:00
parent a6fbb8da21
commit 82742bde58
5 changed files with 95 additions and 53 deletions

44
scripts/run_backend.sh Executable file
View File

@@ -0,0 +1,44 @@
#!/usr/bin/env bash
set -Eeuo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
BACKEND_DIR="${PROJECT_ROOT}/backend/api"
RUNTIME_CONFIG_ROOT=""
BACKEND_PID=""
cleanup() {
trap - EXIT INT TERM
if [[ -n "${BACKEND_PID}" ]] && kill -0 "${BACKEND_PID}" 2>/dev/null; then
kill "${BACKEND_PID}" 2>/dev/null || true
wait "${BACKEND_PID}" 2>/dev/null || true
fi
if [[ -n "${RUNTIME_CONFIG_ROOT}" ]]; then
rm -f "${RUNTIME_CONFIG_ROOT}/etc/heqi_dev.yaml"
rmdir "${RUNTIME_CONFIG_ROOT}/etc" "${RUNTIME_CONFIG_ROOT}" 2>/dev/null || true
fi
}
if ! command -v go >/dev/null 2>&1; then
echo "缺少命令go" >&2
exit 1
fi
export BSM_RuntimeMode="${BSM_RuntimeMode:-dev}"
export BSM_JwtSecretKey="${BSM_JwtSecretKey:-local-dev-key-16}"
if [[ -z "${BSM_Prefix:-}" ]]; then
RUNTIME_CONFIG_ROOT="$(mktemp -d "${TMPDIR:-/tmp}/heqi-platform-backend.XXXXXX")"
mkdir -p "${RUNTIME_CONFIG_ROOT}/etc"
cp "${BACKEND_DIR}/etc/platform_dev.yaml" "${RUNTIME_CONFIG_ROOT}/etc/heqi_dev.yaml"
export BSM_Prefix="${RUNTIME_CONFIG_ROOT}"
fi
trap cleanup EXIT INT TERM
echo "启动平台后端http://localhost:12426/heqi/platform/v1"
cd "${BACKEND_DIR}"
go run ./cmd/main/main.go &
BACKEND_PID=$!
wait "${BACKEND_PID}"

23
scripts/run_frontend.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -Eeuo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
FRONTEND_DIR="${PROJECT_ROOT}/frontend/platform_admin"
if ! command -v pnpm >/dev/null 2>&1; then
echo "缺少命令pnpm" >&2
exit 1
fi
if [[ ! -d "${FRONTEND_DIR}/node_modules" ]]; then
echo "前端依赖尚未安装请先运行cd ${FRONTEND_DIR} && pnpm install" >&2
exit 1
fi
export VITE_API_BASE_URL="${VITE_API_BASE_URL:-http://localhost:12426/heqi/platform/v1}"
echo "启动平台前端http://localhost:5173"
cd "${FRONTEND_DIR}"
exec pnpm exec vite --config ./config/vite.config.ts --host 0.0.0.0

View File

@@ -3,14 +3,10 @@
set -Eeuo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
BACKEND_DIR="${PROJECT_ROOT}/backend/api"
FRONTEND_DIR="${PROJECT_ROOT}/frontend/platform_admin"
BACKEND_PID=""
FRONTEND_PID=""
CLEANED_UP=0
RUNTIME_CONFIG_ROOT=""
cleanup() {
if [[ "${CLEANED_UP}" -eq 1 ]]; then
@@ -29,55 +25,18 @@ cleanup() {
wait "${pid}" 2>/dev/null || true
fi
done
if [[ -n "${RUNTIME_CONFIG_ROOT}" ]]; then
rm -f "${RUNTIME_CONFIG_ROOT}/etc/heqi_dev.yaml"
rmdir "${RUNTIME_CONFIG_ROOT}/etc" "${RUNTIME_CONFIG_ROOT}" 2>/dev/null || true
fi
}
require_command() {
if ! command -v "$1" >/dev/null 2>&1; then
echo "缺少命令:$1" >&2
exit 1
fi
}
require_command go
require_command pnpm
if [[ ! -d "${FRONTEND_DIR}/node_modules" ]]; then
echo "前端依赖尚未安装请先运行cd ${FRONTEND_DIR} && pnpm install" >&2
exit 1
fi
export BSM_RuntimeMode="${BSM_RuntimeMode:-dev}"
export BSM_JwtSecretKey="${BSM_JwtSecretKey:-local-dev-key-16}"
export VITE_API_BASE_URL="${VITE_API_BASE_URL:-http://localhost:12426/heqi/platform/v1}"
if [[ -z "${BSM_Prefix:-}" ]]; then
RUNTIME_CONFIG_ROOT="$(mktemp -d "${TMPDIR:-/tmp}/heqi-platform.XXXXXX")"
mkdir -p "${RUNTIME_CONFIG_ROOT}/etc"
cp "${BACKEND_DIR}/etc/platform_dev.yaml" "${RUNTIME_CONFIG_ROOT}/etc/heqi_dev.yaml"
export BSM_Prefix="${RUNTIME_CONFIG_ROOT}"
fi
trap cleanup EXIT INT TERM
echo "启动平台后端http://localhost:12426/heqi/platform/v1"
(
cd "${BACKEND_DIR}"
exec go run ./cmd/main/main.go
) &
"${SCRIPT_DIR}/run_backend.sh" &
BACKEND_PID=$!
echo "启动平台前端http://localhost:5173"
(
cd "${FRONTEND_DIR}"
exec pnpm exec vite --config ./config/vite.config.ts --host 0.0.0.0
) &
"${SCRIPT_DIR}/run_frontend.sh" &
FRONTEND_PID=$!
echo "前后端调试服务已启动,按 Ctrl+C 同时停止。"
echo "日常开发建议在两个终端分别运行 run_backend.sh 和 run_frontend.sh。"
while true; do
if ! kill -0 "${BACKEND_PID}" 2>/dev/null; then