Files
secondary-school-grade-archive/docs/USAGE.md
T
dekun f1ad4273f4 零 Node 部署、超级管理员,并完善本地构建发布文档。
- FastAPI 单进程托管 frontend/dist,systemd 替代 PM2

- 超级管理员 admin、注册开关与用户管理

- README/DEPLOY/USAGE 说明:改代码须本地构建 dist 后 push,服务器 update.sh

- 提交 frontend/dist 与 build-frontend 脚本
2026-06-28 13:19:41 +08:00

6.3 KiB
Raw Blame History

使用说明

中学成绩档案系统(初中 / 高中)
版权所有 © 马建军 · 微信 dekun03 · 手机 18364911125


1. 系统简介

本系统面向初中、高中学生,提供:

  • 多用户账号,数据互相隔离
  • 学生档案管理(学段、年级、班级)
  • 成绩录入:周考、月考、期末
  • 分科成绩占比曲线(上升绿色、下降红色、大幅波动高亮)
  • 错题库:拍照上传 → OCR 识别 → AI 生成解法(可编辑)
  • 成绩 CSV 导出

部署与代码发布见 DEPLOY.mdsystemd 零 Node,端口 23566)。


2. 快速上手

2.1 登录与注册

  1. 浏览器打开 http://<服务器IP>:23566
  2. 首次部署默认超级管理员:admin / admin123(请登录后立即修改)
  3. 若管理员已开放注册,可在登录页 注册 新账号(用户名 ≥3 字符,密码 ≥6 字符)
  4. 若管理员已关闭注册,登录页不显示注册入口,需联系管理员在「系统设置 → 用户管理」中添加账号

普通用户数据仅本人可见;普通用户不能自行修改用户名或密码。

2.2 系统设置(超级管理员)

首页右上角 系统设置(仅超级管理员可见):

功能 说明
注册开关 开启后用户可自行注册;关闭后仅管理员添加用户
管理员账号 修改超级管理员的用户名、密码(修改密码需输入当前密码)
用户管理 添加用户、重置密码、删除普通用户

2.3 添加学生

  1. 首页点击 添加学生
  2. 填写:
    • 姓名(必填)
    • 学段:初中 / 高中
    • 年级:初一~初三 或 高一~高三
    • 班级:如「3班」(可选)
  3. 保存后在卡片上可看到学段标签

2.4 录入成绩

进入学生详情 → 成绩录入 标签:

  1. 点击 录入成绩
  2. 选择 考试类型:周考 / 月考 / 期末
  3. 选择 考试日期
  4. 在表格中填写各科 总分得分(未考科目可留空)
  5. 系统自动计算 占比
  6. 保存后在列表中可编辑或删除

校验规则:

  • 总分必须 > 0
  • 得分不能大于总分
  • 至少录入一科成绩

3. 成绩分析

3.1 成绩总览

成绩总览 标签以表格展示历次考试各科得分与占比。

  • 顶部 波动预警 会标记相邻两次占比变化 ≥ 8% 的考试
  • 可横向滚动查看所有科目

3.2 分科曲线

分科曲线 标签:

  1. 选择科目
  2. 查看占比(%)随时间变化折线图

图例说明:

元素 含义
绿色线段 较上一次占比 上升
红色线段 较上一次占比 下降
橙色大圆点 大幅波动(变化 ≥ 8%
Tooltip 显示日期、考试类型、占比、较上次变化

4. 错题库

4.1 上传错题

进入 错题库 标签:

  1. 选择 科目
  2. 点击 上传错题图片(支持 jpg/png/webp,最大 10MB
  3. 上传后后台自动:OCR 识别 → AI 整理题目 → 生成解法
  4. 处理状态:处理中 → 已识别 → 已生成解法

AI 解法依赖服务器上的 Ollama。未配置时仍可 OCR,解法需手动填写。

4.2 查看与编辑

点击错题卡片打开详情:

  • 左侧:原始试卷图片、OCR 原文
  • 右侧:识别题目、解法(均可编辑)
  • 保存编辑:手动修正后点击保存
  • 重新 OCR:识别不准时可重试
  • 重新生成解法:基于当前题目重新调用 AI

解法标注「AI 生成,请核对」,使用前请人工确认。

4.3 筛选与搜索

  • 科目 筛选
  • 搜索 题目/解法关键词

5. 数据导出

学生详情页点击 导出 CSV,下载该生全部成绩记录,可用 Excel 打开。


6. 预置科目

语文、数学、英语、物理、化学、生物、历史、地理、政治。


7. 维护人员:修改代码后如何更新线上

服务器不在本地构建前端。 维护或二次开发时,请严格按以下流程发布:

只改后端

git add backend/
git commit -m "说明"
git push
# 服务器
bash /opt/secondary-school-grade-archive/deploy/update.sh

改前端(或前后端都改)

# Windows:先构建
.\deploy\build-frontend.ps1
# Linux / macOS:先构建
bash deploy/build-frontend.sh

git add frontend/ frontend/dist
git commit -m "说明"
git push
# 服务器
bash /opt/secondary-school-grade-archive/deploy/update.sh

详细说明见 DEPLOY.md §2README


8. 常见问题

Q:忘记密码怎么办?
A:普通用户请联系超级管理员,在「系统设置 → 用户管理」中重置密码。超级管理员忘记密码需通过数据库或 .env 中的 ADMIN_DEFAULT_* 配合运维处理。

Q:多人能否共用一台服务器?
A:可以。每人独立账号,数据互不可见。

Q:能否同时管理初中和高中孩子?
A:可以。添加学生时分别选择学段即可。

Q:换手机/电脑能否访问?
A:可以。使用同一服务器地址与账号登录即可。

QHTTPS 和域名怎么配置?
A:本项目不包含反向代理配置,请参考 DEPLOY.md §8 自行设置。

Q:改了代码但服务器页面没变化?
A:很可能未在开发机执行 npm run build 或未将 frontend/dist 推送到仓库。见上文第 7 节。


9. 技术支持与版权

项目 内容
作者 马建军
微信 dekun03
手机 18364911125
仓库 secondary-school-grade-archive

使用本软件须遵守 LICENSECOPYRIGHT.md
商业使用或二次分发请联系作者取得授权。