#!/bin/bash # 门店检测工作台 —— macOS / Linux 启动器 # 用法: # Finder 里双击本文件即可启动 # 终端:./启动工作台.command [端口] [--local] [--no-open] # 端口默认 8787 # --local 只允许本机访问(默认开放给同一局域网) # --no-open 启动后不自动打开浏览器 cd "$(dirname "$0")" || exit 1 # ---- 找 Python 3.7+ ---- PY="" for c in python3 python; do if command -v "$c" >/dev/null 2>&1; then if "$c" -c 'import sys; sys.exit(0 if sys.version_info >= (3, 7) else 1)' >/dev/null 2>&1; then PY="$c" break fi fi done if [ -z "$PY" ]; then echo "✗ 没找到 Python 3.7 或更高版本。" echo "" echo " 安装方式(任选一种):" echo " 1) 到 https://www.python.org/downloads/ 下载安装包" echo " 2) 装了 Homebrew 的话:brew install python" echo "" read -r -p "按回车关闭窗口…" _ exit 1 fi # ---- 解析参数:端口 + 透传选项 ---- PORT=8787 PASSTHRU=() OPEN=1 for a in "$@"; do case "$a" in --no-open) OPEN=0 ;; --local) PASSTHRU+=("$a") ;; --*) ;; *) PORT="$a" ;; esac done if [ "$OPEN" = "1" ]; then PASSTHRU+=("--open") fi # ---- 端口占用检查 ---- if command -v lsof >/dev/null 2>&1 && lsof -nP -iTCP:"$PORT" -sTCP:LISTEN >/dev/null 2>&1; then echo "✗ 端口 $PORT 已被占用,可能工作台已经在运行。" echo " 先试试打开:http://127.0.0.1:$PORT" echo " 要换端口:./启动工作台.command 9000" echo "" read -r -p "按回车关闭窗口…" _ exit 1 fi echo "Python:$("$PY" --version 2>&1) ($(command -v "$PY"))" echo "" exec "$PY" -u backend/server.py --port "$PORT" "${PASSTHRU[@]}"