@echo off chcp 65001 >nul echo ============================================ echo 文件管理系统 - Windows 部署脚本 echo ============================================ echo. :: 设置部署目录 set DEPLOY_DIR=%~dp0deploy set SERVER_DIR=%DEPLOY_DIR%\server set FRONTEND_DIR=%DEPLOY_DIR%\frontend :: 清理旧部署 if exist "%DEPLOY_DIR%" ( echo [1/6] 清理旧部署目录... rmdir /s /q "%DEPLOY_DIR%" ) :: 创建目录结构 echo [2/6] 创建目录结构... mkdir "%SERVER_DIR%" mkdir "%SERVER_DIR%\data\storage" mkdir "%FRONTEND_DIR%" :: 编译后端 echo [3/6] 编译后端... cd /d "%~dp0" set GOPROXY=https://goproxy.cn,direct go build -o "%SERVER_DIR%\server.exe" main.go if errorlevel 1 ( echo 编译失败! pause exit /b 1 ) :: 复制后端文件 echo [4/6] 复制后端文件... copy /y config.yaml "%SERVER_DIR%\" >nul copy /y config.yaml "%SERVER_DIR%\config.yaml.example" >nul xcopy /s /e /y sql "%SERVER_DIR%\sql\" >nul :: 构建前端 echo [5/6] 构建前端... cd /d "%~dp0..\web" call npm run build if errorlevel 1 ( echo 前端构建失败! pause exit /b 1 ) xcopy /s /e /y dist "%FRONTEND_DIR%\" >nul :: 生成启动脚本 echo [6/6] 生成启动脚本... :: 后端启动脚本 ( echo @echo off echo chcp 65001 ^>nul echo echo ============================================ echo echo 文件管理系统 - 后端服务 echo echo ============================================ echo echo. echo echo 启动中... 访问 http://localhost:8080/health 检查状态 echo echo. echo server.exe echo pause ) > "%DEPLOY_DIR%\启动后端.bat" :: 数据库初始化脚本 ( echo @echo off echo chcp 65001 ^>nul echo echo ============================================ echo echo 数据库初始化 echo echo ============================================ echo echo. echo set /p MYSQL_PWD=请输入MySQL root密码: echo echo. echo echo 正在创建数据库... echo mysql -u root -p%%MYSQL_PWD%% -e "CREATE DATABASE IF NOT EXISTS seeyon_fs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" echo echo. echo echo 正在导入表结构... echo mysql -u root -p%%MYSQL_PWD%% seeyon_fs ^< sql\init.sql echo echo. echo echo 初始化完成! echo pause ) > "%DEPLOY_DIR%\初始化数据库.bat" :: 使用说明 ( echo ============================================ echo 文件管理系统 - 部署说明 echo ============================================ echo. echo 【目录结构】 echo deploy/ echo ├── server/ echo │ ├── server.exe 后端服务 echo │ ├── config.yaml 配置文件(需修改) echo │ ├── config.yaml.example 配置示例 echo │ ├── data/storage/ 文件存储目录 echo │ └── sql/init.sql 数据库脚本 echo ├── frontend/ 前端静态资源 echo ├── 启动后端.bat 启动后端服务 echo └── 初始化数据库.bat 首次部署执行 echo. echo 【部署步骤】 echo 1. 安装MySQL 8.0, 运行"初始化数据库.bat" echo 2. 修改server/config.yaml中的数据库密码等配置 echo 3. 运行"启动后端.bat" echo 4. 配置Nginx(参考docs/nginx-production.conf) echo 5. 访问 http://你的域名 echo. echo 【默认账号】admin / admin123 echo. ) > "%DEPLOY_DIR%\部署说明.txt" echo. echo ============================================ echo 部署完成! echo ============================================ echo. echo 部署目录: %DEPLOY_DIR% echo. echo 文件清单: dir /s /b "%DEPLOY_DIR%\*.exe" "%DEPLOY_DIR%\*.yaml" "%DEPLOY_DIR%\*.bat" "%DEPLOY_DIR%\*.txt" 2>nul echo. echo 下一步: echo 1. 将 %DEPLOY_DIR% 复制到目标服务器 echo 2. 运行"初始化数据库.bat" echo 3. 修改 config.yaml 配置 echo 4. 运行"启动后端.bat" echo. pause