mirror of
https://github.com/handsomezhuzhu/QQuiz.git
synced 2026-02-20 20:10:14 +00:00
feat: 实现数据库驱动的API配置管理和项目结构重组
## 新功能 - 实现管理后台API配置管理(OpenAI/Anthropic/Qwen) - API配置保存到数据库,实时生效无需重启 - API密钥遮罩显示(前10位+后4位) - 完整endpoint URL自动显示 ## 后端改进 - 新增 config_service.py 用于加载数据库配置 - LLMService 支持动态配置注入,回退到环境变量 - 更新 exam.py 和 question.py 使用数据库配置 - 扩展 schemas.py 支持所有API配置字段 ## 前端改进 - 重写 AdminSettings.jsx 增强UI体验 - API密钥显示/隐藏切换 - 当前使用的提供商可视化标识 - 移除"需要重启"的误导性提示 ## 项目结构重组 - 移动所有脚本到 scripts/ 目录 - 移动所有文档到 docs/ 目录 - 清理 Python 缓存文件 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
140
scripts/fix_and_start.bat
Normal file
140
scripts/fix_and_start.bat
Normal file
@@ -0,0 +1,140 @@
|
||||
@echo off
|
||||
title QQuiz - Fix and Start
|
||||
color 0E
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo QQuiz - Automatic Fix and Start
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
cd /d "%~dp0.."
|
||||
|
||||
REM Check if .env exists
|
||||
if not exist ".env" (
|
||||
echo Creating .env file...
|
||||
copy .env.example .env >nul
|
||||
echo.
|
||||
echo IMPORTANT: Edit .env and set your OPENAI_API_KEY
|
||||
echo Opening .env file...
|
||||
timeout /t 2 /nobreak >nul
|
||||
notepad .env
|
||||
echo.
|
||||
echo Save and close .env, then press any key to continue...
|
||||
pause >nul
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Choose database option:
|
||||
echo.
|
||||
echo [1] Use Docker (Recommended - Easy)
|
||||
echo [2] Use Local PostgreSQL (Advanced)
|
||||
echo.
|
||||
choice /C 12 /M "Select option"
|
||||
|
||||
if %errorlevel% equ 1 (
|
||||
echo.
|
||||
echo Using Docker PostgreSQL...
|
||||
echo.
|
||||
|
||||
REM Check Docker
|
||||
docker --version >nul 2>&1
|
||||
if %errorlevel% neq 0 (
|
||||
echo ERROR: Docker not found!
|
||||
echo.
|
||||
echo Please install Docker Desktop:
|
||||
echo https://www.docker.com/products/docker-desktop/
|
||||
echo.
|
||||
echo After installing Docker, run this script again.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Starting MySQL in Docker...
|
||||
docker-compose up -d mysql
|
||||
|
||||
if %errorlevel% neq 0 (
|
||||
echo.
|
||||
echo Docker failed to start. Trying to fix...
|
||||
docker-compose down
|
||||
docker-compose up -d mysql
|
||||
)
|
||||
|
||||
echo Waiting for database...
|
||||
timeout /t 10 /nobreak >nul
|
||||
|
||||
) else (
|
||||
echo.
|
||||
echo Using Local MySQL...
|
||||
echo.
|
||||
echo Make sure MySQL is running on port 3306
|
||||
echo.
|
||||
echo If you see connection errors, you need to:
|
||||
echo 1. Start MySQL service
|
||||
echo 2. Or install MySQL from https://dev.mysql.com/downloads/installer/
|
||||
echo 3. Or choose option 1 to use Docker instead
|
||||
echo.
|
||||
pause
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo Starting Backend...
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
cd backend
|
||||
|
||||
if not exist "venv\Scripts\activate.bat" (
|
||||
echo Creating virtual environment...
|
||||
python -m venv venv
|
||||
)
|
||||
|
||||
echo Installing dependencies...
|
||||
call venv\Scripts\activate.bat
|
||||
pip install -q -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
|
||||
echo.
|
||||
echo Running database migrations...
|
||||
alembic upgrade head
|
||||
|
||||
if %errorlevel% neq 0 (
|
||||
echo.
|
||||
echo WARNING: Database migration failed
|
||||
echo The app will try to create tables automatically
|
||||
echo.
|
||||
)
|
||||
|
||||
cd ..
|
||||
|
||||
echo.
|
||||
echo Starting services...
|
||||
echo.
|
||||
|
||||
start "QQuiz Backend" cmd /k "cd /d %~dp0..backend && call venv\Scripts\activate.bat && echo Backend: http://localhost:8000 && echo Docs: http://localhost:8000/docs && echo. && uvicorn main:app --reload"
|
||||
|
||||
timeout /t 8 /nobreak >nul
|
||||
|
||||
start "QQuiz Frontend" cmd /k "cd /d %~dp0..frontend && echo Frontend: http://localhost:3000 && echo. && npm start"
|
||||
|
||||
echo.
|
||||
echo ========================================
|
||||
echo SUCCESS! QQuiz is starting...
|
||||
echo ========================================
|
||||
echo.
|
||||
echo Frontend: http://localhost:3000
|
||||
echo Backend: http://localhost:8000
|
||||
echo.
|
||||
echo Login: admin / admin123
|
||||
echo.
|
||||
echo ========================================
|
||||
echo.
|
||||
|
||||
timeout /t 5 /nobreak >nul
|
||||
start http://localhost:3000
|
||||
|
||||
echo.
|
||||
echo System is running...
|
||||
echo Close backend/frontend windows to stop
|
||||
echo.
|
||||
pause
|
||||
Reference in New Issue
Block a user