Files
dekun a2a6d59f7c 作业帮式错题标注:OCR 定位错误红框 + 解题思路。
- PaddleOCR 行级坐标 + AI 识别错答区域,生成标注图

- 解法拆分为「解题思路」与「详细解答」

- 详情页标注图/原图切换,列表显示标注缩略图
2026-06-28 13:50:20 +08:00

228 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 使用说明
> **中学成绩档案系统**(初中 / 高中)
> 版权所有 © 马建军 · 微信 **dekun03** · 手机 **18364911125**
---
## 1. 系统简介
本系统面向**初中、高中**学生,提供:
- 多用户账号,数据互相隔离
- 学生档案管理(学段、年级、班级)
- 成绩录入:周考、月考、期末
- 分科成绩占比曲线(上升绿色、下降红色、大幅波动高亮)
- 错题库:拍照上传 → OCR 识别 → AI 生成解法(可编辑)
- 成绩 CSV 导出
部署与代码发布见 [DEPLOY.md](./DEPLOY.md)systemd 零 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. 点击 **拍照上传****相册选图**
3. 上传后自动:**OCR 识别 → 照片上红框标注错误位置 → 整理题目 → 生成「解题思路」与详细解答**
> 标注效果类似作业帮:错误作答处显示红色框和 × 标记。详情页可切换「标注图 / 原图」。
### 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. 维护人员:修改代码后如何更新线上
**服务器不在本地构建前端。** 维护或二次开发时,请严格按以下流程发布:
### 只改后端
```bash
git add backend/
git commit -m "说明"
git push
# 服务器
bash /opt/secondary-school-grade-archive/deploy/update.sh
```
### 改前端(或前后端都改)
```powershell
# Windows:先构建
.\deploy\build-frontend.ps1
```
```bash
# 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](./DEPLOY.md#2-代码修改与发布流程重要) 与 [README](../README.md#修改代码后如何发布必读)。
---
## 8. 常见问题
**Q:忘记密码怎么办?**
A:普通用户请联系超级管理员,在「系统设置 → 用户管理」中重置密码。超级管理员忘记密码需通过数据库或 `.env` 中的 `ADMIN_DEFAULT_*` 配合运维处理。
**Q:多人能否共用一台服务器?**
A:可以。每人独立账号,数据互不可见。
**Q:能否同时管理初中和高中孩子?**
A:可以。添加学生时分别选择学段即可。
**Q:换手机/电脑能否访问?**
A:可以。使用同一服务器地址与账号登录即可。
**QHTTPS 和域名怎么配置?**
A:本项目不包含反向代理配置,请参考 [DEPLOY.md §8](./DEPLOY.md#8-反向代理用户自行配置) 自行设置。
**Q:改了代码但服务器页面没变化?**
A:很可能未在开发机执行 `npm run build` 或未将 `frontend/dist` 推送到仓库。见上文第 7 节。
---
## 9. 技术支持与版权
| 项目 | 内容 |
|------|------|
| 作者 | 马建军 |
| 微信 | dekun03 |
| 手机 | 18364911125 |
| 仓库 | [secondary-school-grade-archive](https://git.bz121.com/dekun/secondary-school-grade-archive.git) |
使用本软件须遵守 [LICENSE](../LICENSE) 与 [COPYRIGHT.md](../COPYRIGHT.md)。
商业使用或二次分发请联系作者取得授权。