- 手机/平板响应式布局,支持拍照与相册上传 - 学生详情新增奥数区,按初/高中学段生成解法并禁止超纲 - 系统设置可配置 Ollama 或 OpenAI 兼容 API - 更新 frontend/dist 与使用说明
6.9 KiB
使用说明
中学成绩档案系统(初中 / 高中)
版权所有 © 马建军 · 微信 dekun03 · 手机 18364911125
1. 系统简介
本系统面向初中、高中学生,提供:
- 多用户账号,数据互相隔离
- 学生档案管理(学段、年级、班级)
- 成绩录入:周考、月考、期末
- 分科成绩占比曲线(上升绿色、下降红色、大幅波动高亮)
- 错题库:拍照上传 → OCR 识别 → AI 生成解法(可编辑)
- 成绩 CSV 导出
部署与代码发布见 DEPLOY.md(systemd 零 Node,端口 23566)。
2. 快速上手
2.1 登录与注册
- 浏览器打开
http://<服务器IP>:23566 - 首次部署默认超级管理员:admin / admin123(请登录后立即修改)
- 若管理员已开放注册,可在登录页 注册 新账号(用户名 ≥3 字符,密码 ≥6 字符)
- 若管理员已关闭注册,登录页不显示注册入口,需联系管理员在「系统设置 → 用户管理」中添加账号
普通用户数据仅本人可见;普通用户不能自行修改用户名或密码。
2.2 系统设置(超级管理员)
首页右上角 系统设置(仅超级管理员可见):
| 功能 | 说明 |
|---|---|
| 注册开关 | 开启后用户可自行注册;关闭后仅管理员添加用户 |
| 管理员账号 | 修改超级管理员的用户名、密码(修改密码需输入当前密码) |
| 用户管理 | 添加用户、重置密码、删除普通用户 |
2.3 添加学生
- 首页点击 添加学生
- 填写:
- 姓名(必填)
- 学段:初中 / 高中
- 年级:初一~初三 或 高一~高三
- 班级:如「3班」(可选)
- 保存后在卡片上可看到学段标签
2.4 录入成绩
进入学生详情 → 成绩录入 标签:
- 点击 录入成绩
- 选择 考试类型:周考 / 月考 / 期末
- 选择 考试日期
- 在表格中填写各科 总分、得分(未考科目可留空)
- 系统自动计算 占比
- 保存后在列表中可编辑或删除
校验规则:
- 总分必须 > 0
- 得分不能大于总分
- 至少录入一科成绩
3. 成绩分析
3.1 成绩总览
成绩总览 标签以表格展示历次考试各科得分与占比。
- 顶部 波动预警 会标记相邻两次占比变化 ≥ 8% 的考试
- 可横向滚动查看所有科目
3.2 分科曲线
分科曲线 标签:
- 选择科目
- 查看占比(%)随时间变化折线图
图例说明:
| 元素 | 含义 |
|---|---|
| 绿色线段 | 较上一次占比 上升 |
| 红色线段 | 较上一次占比 下降 |
| 橙色大圆点 | 大幅波动(变化 ≥ 8%) |
| Tooltip | 显示日期、考试类型、占比、较上次变化 |
4. 错题库
4.1 上传错题(手机 / 平板)
进入 错题库 或 奥数区 标签:
- 选择 科目
- 点击 拍照上传(调用摄像头)或 相册选图
- 上传后后台自动:OCR 识别 → AI 整理题目 → 生成解法
手机和平板已适配触控操作;拍照上传需浏览器授权摄像头。
4.2 奥数区
学生详情页 奥数区 标签专门存放奥数题:
- 按学生学段(初中 / 高中)生成奥数解题思路
- 严禁超纲:初中不用高中/大学方法,高中不用大学高阶理论
- 上传方式与错题库相同,支持拍照
4.3 解题 AI 与学段约束
- 错题库:按初中/高中课内标准解题,禁止超纲
- 奥数区:按对应学段奥数培优范围解题
- 超级管理员可在 系统设置 → AI 模型 中选择:
- 本地 Ollama(地址 + 模型名)
- OpenAI 兼容 API(Base URL + 模型 + API Key)
4.4 查看与编辑
点击错题卡片打开详情:
- 左侧:原始试卷图片、OCR 原文
- 右侧:识别题目、解法(均可编辑)
- 保存编辑:手动修正后点击保存
- 重新 OCR:识别不准时可重试
- 重新生成解法:基于当前题目重新调用 AI
解法标注「AI 生成,请核对」,使用前请人工确认。
4.5 筛选与搜索
- 按 科目 筛选
- 搜索 题目/解法关键词
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 §2 与 README。
8. 常见问题
Q:忘记密码怎么办?
A:普通用户请联系超级管理员,在「系统设置 → 用户管理」中重置密码。超级管理员忘记密码需通过数据库或 .env 中的 ADMIN_DEFAULT_* 配合运维处理。
Q:多人能否共用一台服务器?
A:可以。每人独立账号,数据互不可见。
Q:能否同时管理初中和高中孩子?
A:可以。添加学生时分别选择学段即可。
Q:换手机/电脑能否访问?
A:可以。使用同一服务器地址与账号登录即可。
Q:HTTPS 和域名怎么配置?
A:本项目不包含反向代理配置,请参考 DEPLOY.md §8 自行设置。
Q:改了代码但服务器页面没变化?
A:很可能未在开发机执行 npm run build 或未将 frontend/dist 推送到仓库。见上文第 7 节。
9. 技术支持与版权
| 项目 | 内容 |
|---|---|
| 作者 | 马建军 |
| 微信 | dekun03 |
| 手机 | 18364911125 |
| 仓库 | secondary-school-grade-archive |
使用本软件须遵守 LICENSE 与 COPYRIGHT.md。
商业使用或二次分发请联系作者取得授权。