2026-04-10 16:05:56 +08:00
2026-04-09 20:43:42 +08:00
2026-04-10 17:59:28 +08:00
2026-04-10 14:18:07 +08:00
2026-04-04 01:37:35 +08:00
2026-04-04 01:37:35 +08:00
2026-04-04 01:27:38 +08:00
2026-04-13 17:07:53 +08:00

班级操行分管理系统

基于 Python FastAPI 开发的班级操行分管理系统,支持学生端、管理端、家长端三端访问,实现操行分管理、作业提交跟踪、考勤记录等功能。

主要功能

学生端

  • 查询个人当前操行总分
  • 查看个人加减分历史明细(时间、分数变化、原因、操作人)
  • 查看个人作业提交情况
  • 查看个人考勤记录
  • 修改个人登录密码(首次登录强制修改)

家长端

  • 查询子女当前操行总分
  • 查看子女考勤记录

管理端

班主任权限:

  • 学生管理:新增/编辑/删除学生、批量导入学生JSON
  • 操行分管理:对学生进行加减分、撤销任何扣分记录、查看全班历史记录
  • 作业管理:发布作业、查看提交情况
  • 考勤管理:查看全班考勤记录
  • 科目管理:动态增删学科
  • 管理员管理:添加班长/科代表/考勤委员/劳动委员

班长权限:

  • 操行分管理对学生进行加减分±5分以内、撤销任何人的扣分记录、查看全班历史记录

学习委员权限:

  • 作业管理:更新作业提交状态、关联扣分(仅扣分,按规则)
  • 科目管理:动态增删学科
  • 历史记录:仅查看自己提交的操作记录

考勤委员权限:

  • 考勤管理:记录考勤状态、关联扣分(仅扣分,按规则)
  • 历史记录:仅查看自己提交的操作记录

劳动委员权限:

  • 操行分管理:以卫生值日为理由进行加减分(固定 ±1 分)
  • 历史记录:仅查看自己提交的操作记录

技术栈

层级 技术 版本
后端框架 FastAPI 0.104+
数据库 MySQL 5.7
缓存 Redis 7.x
前端 PHP 8.0
Web服务器 Nginx 1.28+

文件结构

classmanager/
│
├── backend/                          # Python FastAPI 后端
│   ├── .env.example                  # 后端环境变量示例
│   ├── .gitignore                    # Git 忽略文件
│   ├── config.py                     # 配置管理
│   ├── main.py                       # FastAPI 主入口
│   ├── requirements.txt              # Python 依赖
│   │
│   ├── logs/                         # 日志目录
│   │   ├── access.log
│   │   ├── app.log
│   │   ├── error.log
│   │   └── operation.log
│   │
│   ├── middleware/                   # 中间件
│   │   ├── __init__.py
│   │   ├── auth_middleware.py        # JWT 认证中间件
│   │   ├── permission.py             # 权限验证中间件
│   │   └── sanitize.py               # 输入过滤中间件
│   │
│   ├── models/                       # 数据模型
│   │   ├── __init__.py
│   │   ├── admin_role.py             # 管理员角色模型
│   │   ├── attendance.py             # 考勤模型
│   │   ├── conduct.py                # 操行分模型
│   │   ├── homework.py               # 作业模型
│   │   ├── operation_log.py          # 操作日志模型
│   │   ├── student.py                # 学生模型
│   │   ├── subject.py                # 科目模型
│   │   └── user.py                   # 用户模型
│   │
│   ├── routes/                       # API 路由
│   │   ├── __init__.py
│   │   ├── admin.py                  # 管理端接口
│   │   ├── auth.py                   # 认证接口
│   │   ├── debug.py                  # 调试入口
│   │   ├── parent.py                 # 家长端接口
│   │   ├── student.py                # 学生端接口
│   │   └── subject.py                # 科目管理接口
│   │
│   ├── schemas/                      # Pydantic 模型
│   │   ├── __init__.py
│   │   ├── admin.py
│   │   ├── auth.py
│   │   ├── common.py
│   │   ├── conduct.py
│   │   ├── parent.py
│   │   ├── student.py
│   │   └── subject.py
│   │
│   ├── services/                     # 业务逻辑层
│   │   ├── __init__.py
│   │   ├── admin_service.py
│   │   ├── attendance_service.py
│   │   ├── auth_service.py
│   │   ├── conduct_service.py
│   │   ├── homework_service.py
│   │   ├── import_service.py
│   │   ├── log_service.py
│   │   ├── parent_service.py
│   │   ├── permission_service.py
│   │   ├── student_service.py
│   │   └── subject_service.py
│   │
│   └── utils/                        # 工具类
│       ├── __init__.py
│       ├── database.py               # MySQL 连接池
│       ├── jwt_handler.py            # JWT 处理
│       ├── logger.py                 # 日志轮转
│       ├── redis_client.py           # Redis 客户端
│       ├── response.py               # 统一响应
│       └── security.py               # 密码加密
│
├── frontend/                         # PHP 前端
│   ├── .env.example                  # 前端环境变量示例
│   ├── .htaccess                     # Apache 配置(可选)
│   ├── config.php                    # 前端配置
│   ├── index.php                     # 登录入口
│   │
│   ├── admin/                        # 管理端
│   │   ├── admins.php                # 管理员管理
│   │   ├── attendance.php            # 考勤管理
│   │   ├── conduct.php               # 操行分管理
│   │   ├── dashboard.php             # 管理端首页
│   │   ├── history.php               # 历史记录
│   │   ├── homework.php              # 作业管理
│   │   ├── password.php              # 修改密码
│   │   ├── students.php              # 学生管理
│   │   └── subjects.php              # 科目管理
│   │
│   ├── api/                          # 内部 API
│   │   └── save_session.php          # Session 保存接口
│   │
│   ├── assets/                       # 静态资源
│   │   ├── css/
│   │   │   ├── admin.css             # 管理端样式
│   │   │   └── style.css             # 全局样式
│   │   ├── js/
│   │   │   ├── admin.js              # 管理端 JS
│   │   │   ├── common.js             # 公共 JS
│   │   │   ├── parent.js             # 家长端 JS
│   │   │   └── student.js            # 学生端 JS
│   │   └── uploads/
│   │       └── sample_import.json    # 学生导入示例
│   │
│   ├── includes/                     # 公共包含文件
│   │   ├── footer.php                # 公共底部
│   │   └── header.php                # 公共头部
│   │
│   ├── parent/                       # 家长端
│   │   ├── attendance.php            # 考勤记录
│   │   └── dashboard.php             # 家长端首页
│   │
│   └── student/                      # 学生端
│       ├── attendance.php            # 考勤记录
│       ├── conduct.php               # 操行分详情
│       ├── dashboard.php             # 学生端首页
│       ├── homework.php              # 作业情况
│       └── password.php              # 修改密码
│
├── sql/                              # 数据库脚本
│   └── init.sql                      # 初始化表结构
│
├── docs/                             # 文档
│   ├── 学生端使用教程.md
│   ├── 家长端使用教程.md
│   └── 管理端使用教程.md
│
├── .gitignore
├── INSTALL.md                        # 安装部署文档
├── LICENSE                           # MIT 许可证
└── README.md                         # 项目说明

角色权限一览表

角色 操行分查看 操行分加减 撤销扣分 历史记录查看
班主任 全班 无限制 可撤销任何记录 全班所有记录
班长 全班 ±5分 可撤销任何记录 全班所有记录
学习委员 全班 仅扣分(按规则) 不可撤销 仅自己提交的
考勤委员 全班 仅扣分(按规则) 不可撤销 仅自己提交的
劳动委员 全班 仅±1分卫生值日 不可撤销 仅自己提交的
学生 自己 自己的历史
家长 子女总分 不可见详情

安装部署

详见 INSTALL.md

使用说明

学生端详见 student.md 家长端详见 parent.md 管理端详见 admin.md

许可证

本项目使用 MIT License 许可证

Description
基于Python及PHP的班务管理系统
Readme MIT 2.6 MiB
Languages
Python 47.2%
PHP 29.3%
JavaScript 19%
CSS 4.5%