second commit

This commit is contained in:
2025-09-06 08:28:47 +08:00
parent eed68bbd8c
commit 1efcef6e10
86 changed files with 27153 additions and 0 deletions

238
install.bat Normal file
View File

@@ -0,0 +1,238 @@
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: PromptForge Windows 自动化安装脚本
echo ================================
echo PromptForge 自动化安装脚本
echo ================================
echo.
:: 颜色定义
set "RED=[91m"
set "GREEN=[92m"
set "YELLOW=[93m"
set "BLUE=[94m"
set "NC=[0m"
:: 打印带颜色的消息
:print_message
echo %GREEN%[INFO]%NC% %~1
goto :eof
:print_warning
echo %YELLOW%[WARNING]%NC% %~1
goto :eof
:print_error
echo %RED%[ERROR]%NC% %~1
goto :eof
:: 检查系统要求
call :print_message "检查系统要求..."
:: 检查 Windows 版本
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
if %VERSION% LSS 10.0 (
call :print_error "Windows 版本过低,需要 Windows 10 或更高版本"
pause
exit /b 1
) else (
call :print_message "Windows 版本检查通过: %VERSION%"
)
:: 检查内存
for /f "tokens=2 delims==" %%a in ('wmic computersystem get TotalPhysicalMemory /value') do set MEMORY=%%a
set /a MEMORY_GB=%MEMORY:~0,-1%/1024/1024/1024
if %MEMORY_GB% LSS 4 (
call :print_warning "内存不足,推荐至少 4GB RAM当前: %MEMORY_GB%GB"
) else (
call :print_message "内存检查通过: %MEMORY_GB%GB"
)
:: 检查磁盘空间
for /f "tokens=3" %%a in ('dir /-c ^| find "bytes free"') do set DISK_SPACE=%%a
set /a DISK_SPACE_GB=%DISK_SPACE:~0,-1%/1024/1024/1024
if %DISK_SPACE_GB% LSS 2 (
call :print_warning "磁盘空间不足,推荐至少 2GB当前: %DISK_SPACE_GB%GB"
) else (
call :print_message "磁盘空间检查通过: %DISK_SPACE_GB%GB"
)
:: 检查 Node.js
call :print_message "检查 Node.js..."
node --version >nul 2>&1
if %errorlevel% neq 0 (
call :print_warning "Node.js 未安装"
call :install_nodejs
) else (
for /f "tokens=*" %%i in ('node --version') do set NODE_VERSION=%%i
call :print_message "Node.js 版本检查通过: %NODE_VERSION%"
)
:: 检查 npm
npm --version >nul 2>&1
if %errorlevel% neq 0 (
call :print_error "npm 未安装"
pause
exit /b 1
) else (
for /f "tokens=*" %%i in ('npm --version') do set NPM_VERSION=%%i
call :print_message "npm 版本: v%NPM_VERSION%"
)
:: 检查 MySQL
call :print_message "检查 MySQL..."
mysql --version >nul 2>&1
if %errorlevel% neq 0 (
call :print_warning "MySQL 未安装"
call :install_mysql
) else (
for /f "tokens=*" %%i in ('mysql --version') do set MYSQL_VERSION=%%i
call :print_message "MySQL 版本检查通过: %MYSQL_VERSION%"
)
:: 检查 Git
call :print_message "检查 Git..."
git --version >nul 2>&1
if %errorlevel% neq 0 (
call :print_warning "Git 未安装"
call :install_git
) else (
for /f "tokens=*" %%i in ('git --version') do set GIT_VERSION=%%i
call :print_message "Git 版本检查通过: %GIT_VERSION%"
)
:: 安装项目依赖
call :print_message "安装项目依赖..."
if exist "package.json" (
npm install
if %errorlevel% neq 0 (
call :print_error "项目依赖安装失败"
pause
exit /b 1
) else (
call :print_message "项目依赖安装完成"
)
) else (
call :print_error "package.json 文件不存在"
pause
exit /b 1
)
:: 配置环境变量
call :print_message "配置环境变量..."
if not exist ".env.local" (
if exist ".env.example" (
copy ".env.example" ".env.local" >nul
call :print_message "已创建 .env.local 文件"
call :print_warning "请编辑 .env.local 文件,填入您的配置信息"
) else (
call :print_warning ".env.example 文件不存在,请手动创建 .env.local 文件"
)
) else (
call :print_message ".env.local 文件已存在"
)
:: 设置数据库
call :print_message "设置数据库..."
if exist "create-tables-final.js" (
call :print_message "创建数据库表..."
node create-tables-final.js
if %errorlevel% neq 0 (
call :print_warning "数据库表创建失败"
)
) else (
call :print_warning "数据库脚本不存在,跳过数据库设置"
)
if exist "create-template-data.js" (
call :print_message "创建测试数据..."
node create-template-data.js
if %errorlevel% neq 0 (
call :print_warning "测试数据创建失败"
)
) else (
call :print_warning "测试数据脚本不存在,跳过数据创建"
)
:: 验证安装
call :print_message "验证安装..."
:: 检查关键文件
set "FILES=package.json next.config.js src\app\layout.tsx"
for %%f in (%FILES%) do (
if exist "%%f" (
call :print_message "%%f 存在"
) else (
call :print_warning "%%f 不存在"
)
)
:: 检查依赖
if exist "node_modules" (
call :print_message "✓ node_modules 目录存在"
) else (
call :print_error "✗ node_modules 目录不存在"
)
:: 类型检查
call :print_message "运行 TypeScript 类型检查..."
npm run type-check >nul 2>&1
if %errorlevel% neq 0 (
call :print_warning "⚠ TypeScript 类型检查失败"
) else (
call :print_message "✓ TypeScript 类型检查通过"
)
:: 显示后续步骤
echo.
echo %BLUE%================================%NC%
echo %BLUE% 安装完成!后续步骤:%NC%
echo %BLUE%================================%NC%
echo.
echo 1. 编辑 .env.local 文件,配置数据库和 API 密钥
echo 2. 启动开发服务器: npm run dev
echo 3. 访问 http://localhost:3000
echo 4. 注册新账户并开始使用
echo.
echo 📖 更多信息请查看:
echo - 安装指南: INSTALLATION_GUIDE.md
echo - 环境配置: ENV_SETUP_GUIDE.md
echo - 模板教程: TEMPLATE_TUTORIAL.md
echo.
echo 🚀 祝您使用愉快!
echo.
pause
goto :eof
:: 安装 Node.js
:install_nodejs
call :print_message "安装 Node.js..."
call :print_warning "请手动安装 Node.js: https://nodejs.org/"
call :print_warning "安装完成后重新运行此脚本"
pause
exit /b 1
:: 安装 MySQL
:install_mysql
call :print_message "安装 MySQL..."
call :print_warning "请手动安装 MySQL: https://dev.mysql.com/downloads/mysql/"
call :print_warning "安装完成后重新运行此脚本"
pause
exit /b 1
:: 安装 Git
:install_git
call :print_message "安装 Git..."
call :print_warning "请手动安装 Git: https://git-scm.com/"
call :print_warning "安装完成后重新运行此脚本"
pause
exit /b 1