Files
whale-town-front/tools/serve_web.bat
王浩 0b533189ec refactor:重构项目架构为分层结构
## 🏗️ 主要变更

### 目录结构重构
- 将 core/ 迁移到 _Core/(框架层)
- 将 scenes/ 重构为 Scenes/(玩法层)和 UI/(界面层)
- 将 data/ 迁移到 Config/(配置层)
- 添加 Assets/ 资源层和 Utils/ 工具层
- 将 scripts/ 迁移到 tools/(开发工具)

### 架构分层
- **_Core/**: 框架层 - 全局单例和管理器
- **Scenes/**: 玩法层 - 游戏场景和实体
- **UI/**: 界面层 - HUD、窗口、对话系统
- **Assets/**: 资源层 - 精灵图、音频、字体
- **Config/**: 配置层 - 游戏配置和本地化
- **Utils/**: 工具层 - 通用辅助脚本

### 文件更新
- 更新 project.godot 中的所有路径引用
- 更新自动加载脚本路径
- 更新测试文件的引用路径
- 添加 REFACTORING.md 详细说明
- 添加 MIGRATION_COMPLETE.md 迁移完成标记
- 更新 README.md 反映新架构

### 设计原则
-  清晰的分层(框架/玩法/界面)
-  场景内聚(脚本紧邻场景文件)
-  组件化设计(可复用组件)
-  职责单一(每个目录职责明确)

## 📋 详细信息
查看 REFACTORING.md 了解完整的重构说明和迁移映射表

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 11:36:01 +08:00

173 lines
4.4 KiB
Batchfile
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
setlocal enabledelayedexpansion
echo ========================================
echo 鲸鱼镇 本地Web服务器 v1.0
echo ========================================
echo.
REM 配置变量
set "BUILD_DIR=build\web"
set "PORT=8000"
set "FALLBACK_PORT=8080"
REM 颜色代码
set "RED=[91m"
set "GREEN=[92m"
set "YELLOW=[93m"
set "BLUE=[94m"
set "RESET=[0m"
REM 检查导出文件
echo %BLUE%[检查]%RESET% 验证Web导出文件...
if not exist "%BUILD_DIR%\index.html" (
echo %RED%[错误]%RESET% 未找到Web导出文件
echo.
echo 请先运行以下命令导出项目:
echo scripts\build_web.bat
echo.
echo 或在Godot编辑器中导出Web版本到: %BUILD_DIR%\
echo.
pause
exit /b 1
)
REM 检查必要文件
echo %BLUE%[验证]%RESET% 检查必要文件...
set "REQUIRED_FILES=index.html index.js index.wasm index.pck"
set "MISSING_FILES="
for %%f in (%REQUIRED_FILES%) do (
if not exist "%BUILD_DIR%\%%f" (
set "MISSING_FILES=!MISSING_FILES! %%f"
)
)
if not "!MISSING_FILES!"=="" (
echo %RED%[错误]%RESET% 缺少必要文件:!MISSING_FILES!
echo 请重新导出项目
echo.
pause
exit /b 1
)
REM 检查Python
echo %BLUE%[检查]%RESET% 验证Python环境...
python --version >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo %RED%[错误]%RESET% 未找到Python
echo.
echo 请安装Python 3.x:
echo 下载地址: https://python.org/downloads
echo 或使用包管理器: winget install Python.Python.3
echo.
echo 安装后请重启命令提示符
echo.
pause
exit /b 1
)
REM 获取Python版本
for /f "tokens=2" %%i in ('python --version 2^>^&1') do set "PYTHON_VERSION=%%i"
echo %GREEN%[信息]%RESET% Python版本: %PYTHON_VERSION%
REM 显示文件信息
echo.
echo %GREEN%[信息]%RESET% Web文件统计:
set "TOTAL_SIZE=0"
for %%f in ("%BUILD_DIR%\*") do (
set "size=%%~zf"
set /a "TOTAL_SIZE+=size"
set /a "size_mb=size/1024/1024"
if !size_mb! gtr 0 (
echo %%~nxf: !size_mb! MB
) else (
set /a "size_kb=size/1024"
echo %%~nxf: !size_kb! KB
)
)
set /a "TOTAL_MB=TOTAL_SIZE/1024/1024"
echo 总大小: %TOTAL_MB% MB
REM 检查端口占用
echo.
echo %BLUE%[网络]%RESET% 检查端口占用...
netstat -an | find ":%PORT%" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo %YELLOW%[警告]%RESET% 端口 %PORT% 已被占用,尝试使用 %FALLBACK_PORT%
set "PORT=%FALLBACK_PORT%"
netstat -an | find ":%PORT%" >nul 2>&1
if %ERRORLEVEL% equ 0 (
echo %RED%[错误]%RESET% 端口 %PORT% 也被占用!
echo 请手动指定端口: python -m http.server [端口号]
echo.
pause
exit /b 1
)
)
REM 获取本机IP地址
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find "IPv4"') do (
set "LOCAL_IP=%%i"
set "LOCAL_IP=!LOCAL_IP: =!"
goto :ip_found
)
:ip_found
REM 显示启动信息
echo.
echo %GREEN%[启动]%RESET% 启动HTTP服务器...
echo 端口: %PORT%
echo 目录: %BUILD_DIR%
echo Python: %PYTHON_VERSION%
echo.
echo ========================================
echo %GREEN% 访问地址%RESET%
echo ========================================
echo 本地访问: http://localhost:%PORT%
echo 局域网访问: http://!LOCAL_IP!:%PORT%
echo.
echo %YELLOW%[控制]%RESET% 服务器控制:
echo 停止服务器: Ctrl+C
echo 重启服务器: 关闭后重新运行脚本
echo.
echo %BLUE%[调试]%RESET% 调试工具:
echo 开发者工具: F12
echo 控制台日志: 查看浏览器Console
echo 网络请求: 查看Network标签
echo.
echo ========================================
REM 尝试自动打开浏览器
echo %BLUE%[浏览器]%RESET% 尝试打开默认浏览器...
start http://localhost:%PORT% >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo %YELLOW%[提示]%RESET% 无法自动打开浏览器,请手动访问上述地址
)
echo.
echo %GREEN%[就绪]%RESET% 服务器启动中...
echo.
REM 切换到构建目录并启动服务器
cd "%BUILD_DIR%"
REM 创建简单的服务器日志
echo [%date% %time%] 服务器启动 - 端口:%PORT% >> server.log
REM 启动Python HTTP服务器
python -m http.server %PORT%
REM 服务器停止后的清理
echo.
echo %YELLOW%[停止]%RESET% 服务器已停止
echo [%date% %time%] 服务器停止 >> server.log
REM 返回原目录
cd ..\..
echo.
echo %GREEN%[完成]%RESET% 感谢使用鲸鱼镇Web服务器
echo.
pause