#!/bin/bash
# 软件项目管理 · 本地备课台  控制脚本（systemd 服务 spm-prep.service，端口 8910）
# 用法：bash 启动备课台.sh [start|stop|restart|status|log]
# 说明：服务已 enable（开机自启）＋ Restart=always（崩溃自愈）；
#       仅本机/局域网使用，不涉及云服务器。
set -u
SVC="spm-prep.service"
PORT=8910
LOG="/home/zyw/Downloads/spm-prep.log"
URL_LOCAL="http://127.0.0.1:$PORT/备课台/index.html"
URL_LAN="http://192.168.31.76:$PORT/备课台/index.html"
SUDO() { echo yueling408 | sudo -S "$@" 2>/dev/null; }

show() {
  echo "   本机打开：  $URL_LOCAL"
  echo "   局域网打开：$URL_LAN"
  echo "   日志：      tail -f $LOG"
}

case "${1:-status}" in
  start)   SUDO systemctl start "$SVC"; sleep 1
           systemctl is-active "$SVC" >/dev/null && { echo "✅ 备课台已启动"; show; } || { echo "❌ 启动失败"; tail -5 "$LOG"; } ;;
  stop)    SUDO systemctl stop "$SVC"
           echo "🛑 备课台已停止（下次开机仍会自启；彻底禁用：sudo systemctl disable $SVC）" ;;
  restart) SUDO systemctl restart "$SVC"; sleep 1
           echo "🔄 已重启：$(systemctl is-active "$SVC")"; show ;;
  status)  echo "服务：$(systemctl is-active "$SVC") ｜ 开机自启：$(systemctl is-enabled "$SVC") ｜ PID：$(systemctl show -p MainPID --value "$SVC")"
           show ;;
  log)     tail -40 "$LOG" ;;
  *)       echo "用法：bash 启动备课台.sh [start|stop|restart|status|log]" ;;
esac
