diff --git a/serve.py b/serve.py index 611d63c..317f464 100644 --- a/serve.py +++ b/serve.py @@ -6,6 +6,7 @@ import argparse import subprocess import sys import time +import webbrowser from pathlib import Path ROOT = Path(__file__).resolve().parent @@ -82,6 +83,12 @@ def server_url(port: int) -> str: return f"http://localhost:{port}/" +def open_browser(port: int) -> None: + url = server_url(port) + if not webbrowser.open(url): + print(f"无法自动打开浏览器,请手动访问:{url}") + + def start(port: int) -> None: if not validate_project(): return @@ -90,6 +97,7 @@ def start(port: int) -> None: if listener: if is_tasks_server(listener, port): print(f"Tasks 开发服务器已运行:{server_url(port)}(PID {listener})") + open_browser(port) return answer = input( @@ -127,6 +135,7 @@ def start(port: int) -> None: time.sleep(0.5) if listener_pid(port) == process.pid: print(f"Tasks 开发服务器已启动:{server_url(port)}(PID {process.pid})") + open_browser(port) else: print("服务启动失败,请确认 Python 可用且端口未被占用。")