编辑 | blame | 历史 | 原始文档

考试阅卷系统

SQLite + FastAPI + React (Ant Design + Vite)

端口

  • API:8010(仅后端)
  • 前端生产(默认):5174(Node vite preview 托管 dist,/api 代理到 8010)
  • 前端开发:5175(./scripts/start.sh dev,Vite HMR)

访问域名

已默认允许 CORS 来源:https://grader.gps120.com、http://grader.gps120.com(及本地开发地址)。

生产访问:将 grader.gps120.com 反代到本机 5174(或直连 http://服务器:5174),无需 Nginx 也可由 Node 提供页面。若需改 CORS:

export CORS_ORIGINS="https://grader.gps120.com,http://grader.gps120.com"

Vite 开发已配置 allowedHosts 含 grader.gps120.com(经隧道/反代访问 dev 时)。

服务启停(后台运行,关闭终端不退出)

# 首次安装后
cd backend && python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
cd ../frontend && npm install

# 启动 / 停止 / 重启 / 状态
./scripts/start.sh          # 生产:build + preview @5174 + 后端 8010
./scripts/start.sh dev      # 开发:Vite dev @5175 + 后端 8010
./scripts/build-frontend.sh # 仅重新构建 dist(改代码后生产需 build 再 restart frontend)
./scripts/stop.sh
./scripts/restart.sh
./scripts/status.sh

# 日志:logs/backend.log  logs/frontend.log(preview)  logs/frontend-dev.log  logs/frontend-build.log
# PID: run/backend.pid  run/frontend.pid

单独控制:./scripts/start.sh backend | frontend

后端(手动调试)

cd backend
source .venv/bin/activate
python scripts/seed_admin.py
uvicorn app.main:app --host 127.0.0.1 --port 8010

默认账号:admin / admin123(管理员),grader / grader123(阅卷员)

本地导入样例

source backend/.venv/bin/activate
python backend/scripts/import_local.py "data/碳排放核查员" "碳排放核查员三级理论"

前端(手动调试)

cd frontend
npm run dev

ZIP 格式

ZIP 内须包含 5 类 SQL:examination_examinee、examination_exam_examinee、examination_paper_source、examination_paper_item、examination_examinee_exam_answer。