docs: 完善文档和清理项目,添加 Gemini 配置指南

主要更新:

📚 文档改进
- 新增 AI_CONFIGURATION.md:详细的 AI 提供商配置指南
- 新增 CHINA_MIRROR_GUIDE.md:中国镜像加速指南
- 删除 6 个过时文档(DEPLOYMENT.md, QUICK_START.md 等)
- 更新 README.md:添加 Gemini 功能特性和 AI 提供商对比表

🧹 脚本清理
- 删除 11 个重复/过时脚本(从 25 个减少到 14 个)
- 删除 PostgreSQL 相关脚本(项目使用 MySQL)
- 删除重复的启动脚本(start_windows.bat, start_app.bat 等)

⚙️ 配置文件更新
- 更新 .env.example:添加 Gemini 配置示例和说明
- 默认 AI_PROVIDER 改为 gemini(推荐)
- 添加各提供商的获取 API Key 链接

🎯 核心改进
- 突出 Gemini 原生 PDF 理解优势
- 提供清晰的 AI 提供商选择指南
- 简化项目结构,提高可维护性

清理内容:
- 删除 docs: DEPLOYMENT.md, DOCKER_MIRROR_SETUP.md, GITHUB_PUSH_GUIDE.md,
  QUICK_START.md, README_QUICKSTART.md, START_HERE.txt
- 删除 scripts: auto_setup_and_run.bat, check_postgres.bat, logs_windows.bat,
  push_to_github.bat, quick_config.bat, restart_docker.bat, setup_docker_mirror.bat,
  start_app.bat, start_postgres.bat, start_windows.bat, start_windows_china.bat

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-01 23:21:04 +08:00
parent f403eacb9d
commit ed87aae014
30 changed files with 531 additions and 2206 deletions

View File

@@ -1,258 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 全自动部署
color 0A
echo.
echo ██████╗ ██████╗ ██╗ ██╗██╗███████╗
echo ██╔═══██╗██╔═══██╗██║ ██║██║╚══███╔╝
echo ██║ ██║██║ ██║██║ ██║██║ ███╔╝
echo ██║▄▄ ██║██║▄▄ ██║██║ ██║██║ ███╔╝
echo ╚██████╔╝╚██████╔╝╚██████╔╝██║███████╗
echo ╚══▀▀═╝ ╚══▀▀═╝ ╚═════╝ ╚═╝╚══════╝
echo.
echo ==========================================
echo 智能刷题与题库管理平台
echo 全自动部署脚本
echo ==========================================
echo.
cd /d "%~dp0.."
REM ============================================
REM 步骤 1: 检查环境
REM ============================================
echo [1/8] 检查运行环境...
echo.
REM 检查 Python
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未检测到 Python
echo 请先安装 Python 3.11+: https://www.python.org/downloads/
pause
exit /b 1
)
echo ✓ Python 已安装
REM 检查 Node.js
node --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未检测到 Node.js
echo 请先安装 Node.js 18+: https://nodejs.org/
pause
exit /b 1
)
echo ✓ Node.js 已安装
REM 检查 PostgreSQL
psql --version >nul 2>&1
if %errorlevel% neq 0 (
echo [警告] 未检测到 PostgreSQL 命令行工具
echo 可能已安装但未加入 PATH继续尝试...
)
echo ✓ 环境检查完成
echo.
REM ============================================
REM 步骤 2: 配置环境变量
REM ============================================
echo [2/8] 配置环境变量...
echo.
if not exist ".env" (
copy .env.example .env >nul
echo ✓ 已创建 .env 文件
echo.
echo [重要] 请编辑 .env 文件,配置以下项:
echo 1. SECRET_KEY - JWT密钥至少32字符
echo 2. OPENAI_API_KEY - OpenAI API密钥
echo.
echo 按任意键打开 .env 文件编辑...
pause >nul
notepad .env
echo.
echo 编辑完成后,按任意键继续...
pause >nul
) else (
echo ✓ .env 文件已存在
)
echo.
REM ============================================
REM 步骤 3: 创建数据库
REM ============================================
echo [3/8] 配置数据库...
echo.
echo 请输入 PostgreSQL 信息(或直接回车使用默认值):
echo.
set /p PGHOST="数据库主机 [默认: localhost]: "
if "%PGHOST%"=="" set PGHOST=localhost
set /p PGPORT="数据库端口 [默认: 5432]: "
if "%PGPORT%"=="" set PGPORT=5432
set /p PGUSER="管理员用户名 [默认: postgres]: "
if "%PGUSER%"=="" set PGUSER=postgres
echo.
echo 正在创建数据库和用户...
echo.
REM 创建数据库脚本
echo DROP DATABASE IF EXISTS qquiz_db; > temp_create_db.sql
echo DROP USER IF EXISTS qquiz; >> temp_create_db.sql
echo CREATE USER qquiz WITH PASSWORD 'qquiz_password'; >> temp_create_db.sql
echo CREATE DATABASE qquiz_db OWNER qquiz; >> temp_create_db.sql
echo GRANT ALL PRIVILEGES ON DATABASE qquiz_db TO qquiz; >> temp_create_db.sql
REM 执行 SQL
psql -h %PGHOST% -p %PGPORT% -U %PGUSER% -f temp_create_db.sql 2>nul
if %errorlevel% equ 0 (
echo ✓ 数据库创建成功
del temp_create_db.sql
) else (
echo ! 数据库创建可能失败,继续尝试...
del temp_create_db.sql
)
echo.
REM 更新 .env 中的数据库连接
powershell -Command "(Get-Content .env) -replace 'DATABASE_URL=.*', 'DATABASE_URL=postgresql+asyncpg://qquiz:qquiz_password@%PGHOST%:%PGPORT%/qquiz_db' | Set-Content .env"
echo ✓ 已更新数据库连接配置
echo.
REM ============================================
REM 步骤 4: 安装后端依赖
REM ============================================
echo [4/8] 安装后端依赖...
echo.
cd backend
if not exist "venv" (
echo 创建虚拟环境...
python -m venv venv
)
echo 激活虚拟环境并安装依赖...
call venv\Scripts\activate.bat && pip install -q -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
if %errorlevel% equ 0 (
echo ✓ 后端依赖安装成功
) else (
echo ! 部分依赖可能安装失败,继续尝试...
)
echo.
REM ============================================
REM 步骤 5: 初始化数据库
REM ============================================
echo [5/8] 初始化数据库表...
echo.
call venv\Scripts\activate.bat && alembic upgrade head 2>nul
if %errorlevel% equ 0 (
echo ✓ 数据库表创建成功
) else (
echo ! 数据库迁移失败,将在启动时自动创建
)
echo.
cd ..
REM ============================================
REM 步骤 6: 安装前端依赖
REM ============================================
echo [6/8] 安装前端依赖...
echo.
cd frontend
if not exist "node_modules" (
echo 使用淘宝镜像加速...
call npm config set registry https://registry.npmmirror.com
echo 安装依赖(需要几分钟)...
call npm install --silent
if %errorlevel% equ 0 (
echo ✓ 前端依赖安装成功
) else (
echo ! 前端依赖安装失败
cd ..
pause
exit /b 1
)
) else (
echo ✓ 前端依赖已安装
)
echo.
cd ..
REM ============================================
REM 步骤 7: 启动后端服务
REM ============================================
echo [7/8] 启动后端服务...
echo.
start "QQuiz Backend" cmd /k "cd /d %~dp0..\backend && call venv\Scripts\activate.bat && echo ======================================== && echo QQuiz 后端服务 && echo ======================================== && echo. && echo API 地址: http://localhost:8000 && echo API 文档: http://localhost:8000/docs && echo. && echo 按 Ctrl+C 停止服务 && echo. && uvicorn main:app --reload"
echo ✓ 后端服务已在新窗口中启动
echo 等待服务启动...
timeout /t 8 /nobreak >nul
echo.
REM ============================================
REM 步骤 8: 启动前端服务
REM ============================================
echo [8/8] 启动前端服务...
echo.
start "QQuiz Frontend" cmd /k "cd /d %~dp0..\frontend && echo ======================================== && echo QQuiz 前端服务 && echo ======================================== && echo. && echo 前端地址: http://localhost:3000 && echo. && echo 按 Ctrl+C 停止服务 && echo. && npm start"
echo ✓ 前端服务已在新窗口中启动
echo 等待服务启动...
timeout /t 5 /nobreak >nul
echo.
REM ============================================
REM 完成
REM ============================================
color 0B
echo.
echo ==========================================
echo 🎉 部署完成!
echo ==========================================
echo.
echo 服务地址:
echo 前端: http://localhost:3000
echo 后端: http://localhost:8000
echo 文档: http://localhost:8000/docs
echo.
echo 默认账户:
echo 用户名: admin
echo 密码: admin123
echo.
echo ⚠️ 首次登录后请立即修改密码!
echo.
echo 测试数据:
echo test_data/sample_questions.txt
echo.
echo ==========================================
echo.
REM 询问是否打开浏览器
choice /C YN /M "是否打开浏览器访问系统"
if %errorlevel% equ 1 (
timeout /t 3 /nobreak >nul
start http://localhost:3000
)
echo.
echo 系统正在运行中...
echo 关闭此窗口不会停止服务
echo 要停止服务,请关闭后端和前端窗口
echo.
pause

View File

@@ -1,93 +0,0 @@
@echo off
title PostgreSQL Status Check
color 0B
echo.
echo ========================================
echo PostgreSQL Database Status Check
echo ========================================
echo.
REM Check PostgreSQL installation
echo [1] Checking PostgreSQL Installation...
if exist "C:\Program Files\PostgreSQL\18" (
echo OK - PostgreSQL 18 is installed
echo Location: C:\Program Files\PostgreSQL\18
) else (
echo ERROR - PostgreSQL 18 not found!
pause
exit /b 1
)
echo.
REM Check PostgreSQL service
echo [2] Checking PostgreSQL Service...
sc query postgresql-x64-18 >nul 2>&1
if %errorlevel% equ 0 (
echo OK - PostgreSQL service exists
echo.
echo Service details:
sc query postgresql-x64-18
echo.
) else (
echo WARNING - PostgreSQL service not found!
echo Trying alternative names...
sc query | findstr /i "postgres"
)
echo.
REM Check if port 5432 is listening
echo [3] Checking Port 5432...
netstat -ano | findstr ":5432" | findstr "LISTENING" >nul
if %errorlevel% equ 0 (
echo OK - PostgreSQL is listening on port 5432
netstat -ano | findstr ":5432" | findstr "LISTENING"
) else (
echo ERROR - Port 5432 is NOT listening!
echo PostgreSQL service is probably not running.
echo.
echo To start the service, you can:
echo 1. Open Services (services.msc)
echo 2. Find "postgresql-x64-18" service
echo 3. Right-click and select "Start"
echo.
echo OR run: net start postgresql-x64-18
)
echo.
REM Try to connect to database
echo [4] Testing Database Connection...
set PGPASSWORD=postgres
"C:\Program Files\PostgreSQL\18\pgAdmin 4\runtime\psql.exe" -h localhost -U postgres -c "SELECT version();" postgres >nul 2>&1
if %errorlevel% equ 0 (
echo OK - Successfully connected to PostgreSQL!
echo.
"C:\Program Files\PostgreSQL\18\pgAdmin 4\runtime\psql.exe" -h localhost -U postgres -c "SELECT version();" postgres
echo.
REM Check if qquiz database exists
echo [5] Checking QQuiz Database...
"C:\Program Files\PostgreSQL\18\pgAdmin 4\runtime\psql.exe" -h localhost -U postgres -c "\l" postgres | findstr "qquiz_db" >nul
if %errorlevel% equ 0 (
echo OK - qquiz_db database exists
) else (
echo INFO - qquiz_db database does not exist yet
echo This is normal for first-time setup
)
) else (
echo ERROR - Cannot connect to PostgreSQL!
echo.
echo Possible reasons:
echo 1. PostgreSQL service is not running
echo 2. Default password 'postgres' is incorrect
echo 3. PostgreSQL is not configured to accept local connections
echo.
echo Please start the PostgreSQL service first!
)
echo.
echo ========================================
echo Check Complete
echo ========================================
echo.
pause

View File

@@ -1,15 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 查看日志
cd /d "%~dp0.."
echo.
echo ==========================================
echo QQuiz 服务日志
echo ==========================================
echo.
echo 按 Ctrl+C 退出日志查看
echo.
docker-compose logs -f

View File

@@ -1,83 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 推送到 GitHub
echo.
echo ==========================================
echo 推送 QQuiz 到 GitHub
echo ==========================================
echo.
cd /d "%~dp0.."
REM 检查是否有远程仓库
git remote -v | findstr "origin" >nul
if %errorlevel% neq 0 (
echo [提示] 首次推送,正在配置远程仓库...
git remote add origin https://github.com/handsomezhuzhu/QQuiz.git
echo [完成] 远程仓库已配置
echo.
)
echo [1/4] 检查更改...
git status
echo.
echo [2/4] 添加所有更改...
git add .
echo.
set /p commit_msg="请输入提交信息 (或直接回车使用默认): "
if "%commit_msg%"=="" (
set commit_msg=Update: minor changes
)
echo.
echo [3/4] 提交更改...
git commit -m "%commit_msg%"
if %errorlevel% neq 0 (
echo [提示] 没有需要提交的更改
)
echo.
echo [4/4] 推送到 GitHub...
echo.
echo [重要] 如果是首次推送,需要输入 GitHub 认证:
echo Username: handsomezhuzhu
echo Password: 使用 Personal Access Token (不是密码!)
echo.
echo 如何获取 Token: 参考 docs/GITHUB_PUSH_GUIDE.md
echo.
pause
git push -u origin main
if %errorlevel% equ 0 (
echo.
echo ==========================================
echo ✅ 推送成功!
echo ==========================================
echo.
echo 访问仓库: https://github.com/handsomezhuzhu/QQuiz
echo.
) else (
echo.
echo ==========================================
echo ❌ 推送失败!
echo ==========================================
echo.
echo 可能的原因:
echo 1. 未配置 GitHub 认证
echo 2. Token 过期或无效
echo 3. 网络连接问题
echo.
echo 解决方案:
echo 1. 阅读 docs/GITHUB_PUSH_GUIDE.md 配置认证
echo 2. 确认 Personal Access Token 有效
echo 3. 检查网络连接
echo.
)
pause

View File

@@ -1,56 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 快速配置
echo.
echo ==========================================
echo QQuiz 快速配置
echo ==========================================
echo.
cd /d "%~dp0.."
REM 创建 .env 文件
echo 正在创建配置文件...
echo.
(
echo # QQuiz 配置文件 - 快速启动版
echo.
echo # 数据库配置
echo DATABASE_URL=postgresql+asyncpg://qquiz:qquiz_password@localhost:5432/qquiz_db
echo.
echo # JWT 密钥(安全随机生成)
echo SECRET_KEY=qquiz-secret-key-for-development-change-in-production-32chars
echo.
echo # AI 配置 - OpenAI
echo AI_PROVIDER=openai
echo OPENAI_API_KEY=sk-your-openai-api-key-here
echo OPENAI_BASE_URL=https://api.openai.com/v1
echo OPENAI_MODEL=gpt-4o-mini
echo.
echo # 系统配置
echo ALLOW_REGISTRATION=true
echo MAX_UPLOAD_SIZE_MB=10
echo MAX_DAILY_UPLOADS=20
echo.
echo # CORS
echo CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
echo.
echo # 上传目录
echo UPLOAD_DIR=./uploads
) > .env
echo ✓ 配置文件已创建
echo.
echo [重要] 请编辑 OPENAI_API_KEY
echo.
echo 按任意键打开配置文件...
pause >nul
notepad .env
echo.
echo 配置完成!现在可以运行 scripts\auto_setup_and_run.bat 启动系统
echo.
pause

View File

@@ -0,0 +1,48 @@
@echo off
chcp 65001 >nul
echo ========================================
echo 重新构建并启动后端服务
echo ========================================
echo.
cd /d "%~dp0.."
echo [1/3] 停止后端容器...
docker-compose stop backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 停止后端失败
pause
exit /b 1
)
echo ✅ 后端已停止
echo.
echo [2/3] 重新构建后端镜像(这可能需要几分钟)...
docker-compose build backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 构建失败
pause
exit /b 1
)
echo ✅ 构建完成
echo.
echo [3/3] 启动后端容器...
docker-compose up -d backend
if %ERRORLEVEL% NEQ 0 (
echo ❌ 启动失败
pause
exit /b 1
)
echo ✅ 后端已启动
echo.
echo ========================================
echo 重新构建完成!
echo ========================================
echo.
echo 现在可以查看后端日志:
echo docker-compose logs -f backend
echo.
echo 或者按任意键退出...
pause >nul

View File

@@ -1,47 +0,0 @@
@echo off
title QQuiz - Restart Docker Services
color 0B
cd /d "%~dp0.."
echo.
echo ========================================
echo Restarting QQuiz Docker Services
echo ========================================
echo.
echo [1/4] Stopping existing containers...
docker-compose down
echo OK
echo.
echo [2/4] Rebuilding backend image...
docker-compose build backend --no-cache
echo OK
echo.
echo [3/4] Starting all services...
docker-compose up -d
echo OK
echo.
echo [4/4] Waiting for services to be ready...
timeout /t 15 /nobreak >nul
echo.
echo ========================================
echo Services Restarted!
echo ========================================
echo.
echo Checking service status...
docker-compose ps
echo.
echo Frontend: http://localhost:3000
echo Backend: http://localhost:8000
echo Database: MySQL on port 3306
echo.
echo Login: admin / admin123
echo.
pause

View File

@@ -1,56 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 配置 Docker 镜像加速器
echo.
echo ==========================================
echo 配置 Docker 镜像加速器
echo ==========================================
echo.
echo [提示] 此脚本将帮助您配置 Docker Desktop 使用国内镜像源
echo.
echo 请按照以下步骤操作:
echo.
echo 1. 打开 Docker Desktop
echo 2. 点击右上角的齿轮图标 ⚙️ (设置)
echo 3. 选择左侧菜单的 "Docker Engine"
echo 4. 在 JSON 配置中找到或添加 "registry-mirrors" 部分
echo.
echo 将以下内容复制到配置中:
echo.
echo ==========================================
echo.
echo "registry-mirrors": [
echo "https://docker.mirrors.ustc.edu.cn",
echo "https://hub-mirror.c.163.com",
echo "https://mirror.baidubce.com"
echo ]
echo.
echo ==========================================
echo.
echo 完整配置示例:
echo.
echo {
echo "builder": {
echo "gc": {
echo "defaultKeepStorage": "20GB",
echo "enabled": true
echo }
echo },
echo "experimental": false,
echo "registry-mirrors": [
echo "https://docker.mirrors.ustc.edu.cn",
echo "https://hub-mirror.c.163.com",
echo "https://mirror.baidubce.com"
echo ]
echo }
echo.
echo ==========================================
echo.
echo 5. 点击 "Apply & Restart" 应用并重启 Docker
echo 6. 等待 Docker Desktop 重启完成
echo 7. 重新运行 start_windows.bat
echo.
pause

View File

@@ -1,117 +0,0 @@
@echo off
title QQuiz - Starting Application
color 0A
echo.
echo ========================================
echo QQuiz - Auto Deploy Script
echo ========================================
echo.
cd /d "%~dp0.."
REM Check if .env exists
if not exist ".env" (
echo ERROR: .env file not found!
echo Please run setup.bat first
pause
exit /b 1
)
echo [1/7] Checking Python...
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo ERROR: Python not found!
echo Please install Python 3.11+ from https://www.python.org/
pause
exit /b 1
)
echo OK - Python installed
echo.
echo [2/7] Checking Node.js...
node --version >nul 2>&1
if %errorlevel% neq 0 (
echo ERROR: Node.js not found!
echo Please install Node.js 18+ from https://nodejs.org/
pause
exit /b 1
)
echo OK - Node.js installed
echo.
echo [3/7] Creating MySQL database...
echo.
echo Please enter MySQL root password when prompted
echo (Leave blank if no password set)
echo.
mysql -u root -p -e "DROP DATABASE IF EXISTS qquiz_db; DROP USER IF EXISTS 'qquiz'@'localhost'; CREATE DATABASE qquiz_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'qquiz'@'localhost' IDENTIFIED BY 'qquiz_password'; GRANT ALL PRIVILEGES ON qquiz_db.* TO 'qquiz'@'localhost'; FLUSH PRIVILEGES;" 2>nul
echo Database setup complete
echo.
echo [4/7] Installing backend dependencies...
cd backend
if not exist "venv" (
python -m venv venv
)
call venv\Scripts\activate.bat
pip install -q -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
echo Backend dependencies installed
echo.
echo [5/7] Running database migrations...
alembic upgrade head 2>nul
cd ..
echo.
echo [6/7] Installing frontend dependencies...
cd frontend
if not exist "node_modules" (
call npm config set registry https://registry.npmmirror.com
call npm install --silent
)
cd ..
echo.
echo [7/7] Starting services...
echo.
start "QQuiz Backend" cmd /k "cd /d %~dp0..\backend && call venv\Scripts\activate.bat && echo Backend API: http://localhost:8000 && echo API Docs: http://localhost:8000/docs && echo. && uvicorn main:app --reload"
timeout /t 5 /nobreak >nul
start "QQuiz Frontend" cmd /k "cd /d %~dp0..\frontend && echo Frontend: http://localhost:3000 && echo. && npm start"
timeout /t 3 /nobreak >nul
echo.
echo ========================================
echo SUCCESS! QQuiz is starting...
echo ========================================
echo.
echo Frontend: http://localhost:3000
echo Backend: http://localhost:8000
echo API Docs: http://localhost:8000/docs
echo.
echo Default login:
echo Username: admin
echo Password: admin123
echo.
echo ========================================
echo.
timeout /t 5 /nobreak >nul
start http://localhost:3000
echo System is running...
echo Close backend and frontend windows to stop
echo.
pause

View File

@@ -1,44 +0,0 @@
@echo off
title Start PostgreSQL Service
color 0B
echo.
echo ========================================
echo Starting PostgreSQL Service
echo ========================================
echo.
echo Attempting to start PostgreSQL service...
echo.
net start postgresql-x64-18
if %errorlevel% equ 0 (
echo.
echo ========================================
echo SUCCESS!
echo ========================================
echo.
echo PostgreSQL service is now running
echo Port: 5432
echo.
echo You can now run: scripts\fix_and_start.bat
echo.
) else (
echo.
echo ========================================
echo Failed to start service
echo ========================================
echo.
echo Please try starting manually:
echo 1. Press Win+R
echo 2. Type: services.msc
echo 3. Find "postgresql-x64-18"
echo 4. Right-click and select "Start"
echo.
echo OR run this script as Administrator:
echo Right-click this bat file and select "Run as administrator"
echo.
)
pause

View File

@@ -1,94 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 启动服务
cd /d "%~dp0.."
echo.
echo ==========================================
echo QQuiz - 智能刷题与题库管理平台
echo ==========================================
echo.
REM 检查是否在项目目录
if not exist "docker-compose.yml" (
echo [错误] 请在项目根目录运行此脚本!
pause
exit /b 1
)
REM 检查 .env 文件
if not exist ".env" (
echo [警告] .env 文件不存在,正在从模板创建...
copy .env.example .env >nul
echo [完成] 已创建 .env 文件,请编辑后重新运行此脚本
notepad .env
pause
exit /b 1
)
echo [1/4] 检查 Docker Desktop...
docker info >nul 2>&1
if %errorlevel% neq 0 (
echo [提示] Docker Desktop 未运行,正在启动...
echo.
echo 请手动启动 Docker Desktop然后按任意键继续...
pause >nul
REM 再次检查
docker info >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] Docker Desktop 启动失败!
echo 请确保已安装 Docker Desktop: https://www.docker.com/products/docker-desktop/
pause
exit /b 1
)
)
echo [完成] Docker Desktop 运行正常
echo.
echo [2/4] 停止旧容器...
docker-compose down >nul 2>&1
echo [完成] 旧容器已停止
echo.
echo [3/4] 启动服务(首次启动需要几分钟下载镜像)...
docker-compose up -d
if %errorlevel% neq 0 (
echo [错误] 服务启动失败!
echo 请查看错误信息或运行: docker-compose logs
pause
exit /b 1
)
echo [完成] 服务启动成功
echo.
echo [4/4] 等待服务就绪...
timeout /t 5 /nobreak >nul
echo.
echo ==========================================
echo 服务已启动!
echo ==========================================
echo.
echo 前端地址: http://localhost:3000
echo 后端地址: http://localhost:8000
echo API 文档: http://localhost:8000/docs
echo.
echo 默认账户:
echo 用户名: admin
echo 密码: admin123
echo.
echo ==========================================
echo.
REM 询问是否打开浏览器
choice /C YN /M "是否打开浏览器"
if %errorlevel% equ 1 (
start http://localhost:3000
)
echo.
echo 按任意键查看日志Ctrl+C 退出日志查看)...
pause >nul
docker-compose logs -f

View File

@@ -1,134 +0,0 @@
@echo off
chcp 65001 >nul
title QQuiz - 启动服务 (国内优化版)
cd /d "%~dp0.."
echo.
echo ==========================================
echo QQuiz - 智能刷题与题库管理平台
echo (国内网络优化版)
echo ==========================================
echo.
REM 检查是否在项目目录
if not exist "docker-compose.yml" (
echo [错误] 请在项目根目录运行此脚本!
pause
exit /b 1
)
REM 检查 .env 文件
if not exist ".env" (
echo [警告] .env 文件不存在,正在从模板创建...
copy .env.example .env >nul
echo [完成] 已创建 .env 文件,请编辑后重新运行此脚本
notepad .env
pause
exit /b 1
)
echo [1/5] 检查 Docker Desktop...
docker info >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] Docker Desktop 未运行!
echo.
echo 请先启动 Docker Desktop然后按任意键继续...
pause >nul
REM 再次检查
docker info >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] Docker Desktop 启动失败!
pause
exit /b 1
)
)
echo [完成] Docker Desktop 运行正常
echo.
echo [2/5] 检查镜像加速器配置...
docker info | findstr "Registry Mirrors" >nul
if %errorlevel% neq 0 (
echo [警告] 未检测到镜像加速器配置
echo.
echo 强烈建议配置镜像加速器以提高下载速度!
echo.
choice /C YN /M "是否现在配置镜像加速器"
if %errorlevel% equ 1 (
echo.
echo 请按照提示配置 Docker Desktop 镜像加速器...
call scripts\setup_docker_mirror.bat
echo.
echo 配置完成后,请重新运行此脚本
pause
exit /b 0
)
) else (
echo [完成] 已配置镜像加速器
)
echo.
echo [3/5] 停止旧容器...
docker-compose down >nul 2>&1
echo [完成]
echo.
echo [4/5] 启动服务(首次启动需要几分钟)...
echo.
echo [提示] 如果下载镜像失败,请:
echo 1. 配置镜像加速器(运行 setup_docker_mirror.bat
echo 2. 或使用备用启动方式(见下方提示)
echo.
docker-compose up -d
if %errorlevel% neq 0 (
echo.
echo [错误] 服务启动失败!
echo.
echo 可能的原因:
echo 1. 网络问题 - 无法下载 Docker 镜像
echo 2. 端口被占用 - 3000/8000/5432 端口已被使用
echo 3. 配置错误 - 检查 .env 文件
echo.
echo 解决方案:
echo 1. 配置镜像加速器: 运行 scripts\setup_docker_mirror.bat
echo 2. 查看详细错误: docker-compose logs
echo 3. 阅读文档: docs\DOCKER_MIRROR_SETUP.md
echo.
pause
exit /b 1
)
echo [完成] 服务启动成功
echo.
echo [5/5] 等待服务就绪...
timeout /t 8 /nobreak >nul
echo.
echo ==========================================
echo 服务已启动!
echo ==========================================
echo.
echo 前端地址: http://localhost:3000
echo 后端地址: http://localhost:8000
echo API 文档: http://localhost:8000/docs
echo.
echo 默认账户:
echo 用户名: admin
echo 密码: admin123
echo.
echo 镜像加速: 已配置国内镜像源
echo ==========================================
echo.
REM 询问是否打开浏览器
choice /C YN /M "是否打开浏览器"
if %errorlevel% equ 1 (
start http://localhost:3000
)
echo.
echo 按任意键查看日志Ctrl+C 退出日志查看)...
pause >nul
docker-compose logs -f

View File

@@ -0,0 +1,12 @@
@echo off
chcp 65001 >nul
echo ========================================
echo 实时查看后端日志
echo ========================================
echo.
echo 按 Ctrl+C 可以停止查看日志
echo.
cd /d "%~dp0.."
docker-compose logs -f backend