#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" INSTALL_CMDS=( "cd frontend && npm install" ) BIN_OUTPUT="bin/cmbone" case "$(uname -s)" in MINGW*|MSYS*|CYGWIN*) BIN_OUTPUT="bin/cmbone.exe" ;; esac VERIFY_CMDS=( "go test ./..." "cd frontend && npm run build" "mkdir -p bin && go build -o ${BIN_OUTPUT} ." ) START_CMD="wails3 dev" run_cmd() { local cmd="$1" echo " ${cmd}" bash -lc "${cmd}" } echo "==> 当前目录: $(pwd)" echo "==> 同步依赖" for cmd in "${INSTALL_CMDS[@]}"; do run_cmd "${cmd}" done echo "==> 运行基础验证" for cmd in "${VERIFY_CMDS[@]}"; do run_cmd "${cmd}" done echo "==> 启动命令" echo " ${START_CMD}" if [[ "${RUN_START_COMMAND:-0}" == "1" ]]; then echo "==> 启动应用" run_cmd "${START_CMD}" else echo "如需直接启动应用,请设置 RUN_START_COMMAND=1。" echo "基础验证失败时,先修复基线,再继续功能开发。" fi