# Student-Management **Repository Path**: learn_62/student-management ## Basic Information - **Project Name**: Student-Management - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-24 - **Last Updated**: 2026-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学生信息管理系统 学生异动跟踪与信息管理平台,支持学生档案、成绩管理、异动审批、消息反馈、数据共享等核心业务。 **版本:** 2.7.0 | **许可证:** MIT | **更新日期:** 2026-07-28 --- ## 技术栈 | 层级 | 技术 | |------|------| | 后端 | Go 1.24 + Gin + GORM + SQLite | | 前端 | Vue 3 + Vite + Pinia + Element Plus + ECharts | | 认证 | JWT + bcrypt | | 构建 | CGO 禁用, 交叉编译 Linux AMD64 | ## 项目结构 ``` student-management/ ├── main.go # 入口 ├── config/ # 配置 (端口/数据库/JWT) ├── database/ # 数据库初始化 & 种子数据 │ └── migrations/ # 数据库迁移脚本 ├── models/ # GORM 数据模型 (35+ 表) ├── handlers/ # 请求处理器 (30+ 模块) ├── services/ # 业务逻辑层 ├── middleware/ # 中间件 (JWT/CORS/权限/日志) ├── routes/ # 路由定义 (229 个 API) ├── utils/ # 工具函数 (JWT/密码/响应) ├── apps/web/ # Vue 3 管理后台 │ └── src/ │ ├── api/ # 前端 API 调用 │ ├── views/ # 页面组件 │ ├── components/ # 通用组件 │ ├── stores/ # Pinia 状态管理 │ └── router/ # 路由 ├── data/ # SQLite 数据库文件 ├── backups/ # 数据备份 ├── docs/ # 文档 ├── scripts/ # 运维脚本 └── tests/ # 测试 ``` ## 快速开始 ### 环境要求 - Go 1.24+ - Node.js 18+ (前端开发) ### 后端启动 ```bash # 安装依赖 go mod tidy # 运行 (首次自动创建数据库和默认账号) go run main.go ``` 服务启动在 `http://localhost:8080` ### 前端开发 ```bash cd apps/web npm install npm run dev ``` 前端开发服务器启动在 `http://localhost:5173`,自动代理 API 到后端。 ### 生产构建 ```bash # 后端 (Linux 交叉编译) build.bat # 前端 cd apps/web && npm run build ``` ## 默认账号 系统首次运行自动创建以下账号: | 用户名 | 密码 | 角色 | 说明 | |--------|------|------|------| | `admin` | `admin123` | 超级管理员 | 拥有全部权限 | | `shichun` | `123456` | 教务 | 可管理学生信息 | | `caiwu` | `123456` | 财务 | 可查看导出财务数据 | | `student` | `123456` | 学生 | 仅查看本人信息 | ## 功能模块 ### 核心业务 | 模块 | 说明 | |------|------| | 学生管理 | 学生 CRUD、批量导入导出、Excel/CSV 支持 | | 异动管理 | 转出/休学/退学/转入/复学/毕业/退费/其他离校,审批工作流 | | 异动记录 | 审批流程管理:创建申请→审批通过/驳回→状态变更→学生归档 | | 成绩管理 | 会考成绩 (合格制) + 月考成绩 (分数制) + 文综理综,批量导入导出 | | 成绩分析 | 学生趋势、科目趋势、班级对比,学生自助查成绩 | | 学期缴费 | 缴费记录管理、缴费汇总、批量缴费 | | 年级升级 | 年级批量升级预览/执行,每年7月1日自动定时任务 | | 学生自助 | 学生个人信息查看与有限编辑、考试成绩自助查询 | | 学生归档 | 离校学生归档管理,支持恢复 | | 班主任管理 | 班主任分配与统计 | ### 协同与消息 | 模块 | 说明 | |------|------| | 消息中心 | 管理员群发消息、用户私信沟通,支持会话管理 | | 反馈系统 | 学生/教师可向管理员发送Bug反馈、功能建议、问题咨询 | | 通知系统 | 站内通知,类型筛选(系统/消息/警告/任务/审批),已读/归档管理 | | 待办提醒 | 异动审批待办数量实时提醒(仪表盘+侧边栏徽章) | ### 系统管理 | 模块 | 说明 | |------|------| | 用户管理 | 用户 CRUD、角色分配、密码重置 | | 角色权限 | RBAC 权限体系,字段级数据权限 | | 部门管理 | 组织架构树,部门用户管理 | | 操作日志 | 全操作审计,自动清理 | | 数据备份 | 备份/恢复/上传/ZIP 导出 | | 系统配置 | 密码规则、日志清理策略等 | ### 高级功能 | 模块 | 说明 | |------|------| | 工作流引擎 | 流程定义/实例/任务,可视化设计器 | | 数据共享 | 跨部门数据共享规则、审批、版本管理 | | 报表系统 | 自定义模板,预览/生成/打印 | | 大屏展示 | 实时数据大屏,地理分布、趋势对比 | | 国际化 | 多语言支持 (中/英/繁),可扩展 | | 数据库监控 | 慢查询、连接状态、性能分析 | ## API 概览 共计 **229 个** API 端点,涵盖 30 个业务模块。所有接口使用 JWT Bearer Token 认证,RBAC 权限控制。 详细文档见 [API文档.md](./API文档.md) ## 消息发送规则 | 发送者 | 可发送对象 | 发送方式 | |--------|-----------|---------| | 超级管理员 | 全体用户 / 指定用户 / 学生 / 教职工 | 单发 + 群发 | | 管理员 | 全体用户 / 指定用户 / 学生 / 教职工 | 单发 + 群发 | | 教务 | 任意用户 | 单发 | | 财务 | 任意用户 | 单发 | | 学生 | 仅管理员和超级管理员 | 单发反馈 | | 普通用户 | 任意用户 | 单发 | ## 异动审批流程 ``` 申请人创建异动申请 → 状态: 待审批 ↓ 管理员/超管审批 ↙ ↘ 审批通过 审批驳回 状态: 已通过 状态: 已驳回 ↓ 执行异动操作: - 休学→学生状态改为休学 - 复学→恢复在读 - 转出/退学/毕业→归档+软删除 - 转入→新增在校记录 ``` ## 系统角色 | 角色 | 编码 | 权限范围 | |------|------|----------| | 超级管理员 | `super_admin` | 全部权限,不可删除 | | 管理员 | `admin` | 用户/角色/系统管理 | | 教务 | `academic` | 学生/成绩/异动管理 | | 财务 | `finance` | 学生财务信息查看/导出 | | 招办 | `admissions` | 招生签字/核费/财务编辑 | | 班主任 | `class_teacher` | 班级管理/联系信息编辑 | | 学生 | `student` | 仅查看/编辑本人有限信息 | | 校长 | `principal` | 全校数据查看 | | 信息中心 | `info_center` | 技术支持 | | 政教处 | `moral_education` | 学生纪律管理 | | 普通用户 | `user` | 只读访问 | ## 学生状态流转 ``` 统一招生 → 在读 ──┬──→ 休学 ──→ 复学 ──→ 在读 ├──→ 转出 (归档) ├──→ 退学 (归档) └──→ 毕业 (归档) 转入 ──→ 在读 ──┘ ``` ## 数据库 - **引擎:** SQLite (开发) / MySQL (生产),GORM + glebarez/sqlite 驱动(纯Go无CGO) - **位置:** `data/yidonggengzong.db`(SQLite)或远程MySQL - **迁移:** 启动时自动执行 AutoMigrate,中文状态值迁移,角色权限模板同步 - **种子数据:** 自动初始化 74个权限码、11个角色、管理员账号 - **编码:** UTF-8 ## 配置 | 配置项 | 默认值 | 说明 | |--------|--------|------| | 服务端口 | `8080` | HTTP 监听端口 | | 运行模式 | `debug` | debug / release | | 数据库路径 | `data/yidonggengzong.db` | SQLite 文件 | | JWT 密钥 | `yidonggengzong-secret-key` | Token 签名密钥 | | JWT 过期 | `7` 天 | 可刷新窗口 7 天 | ## 文档索引 - [API 文档](./API文档.md) - [开发计划](./docs/开发计划.md) - [开发进度](./docs/开发进度.md) - [需求文档](./docs/需求文档.md) - [系统接口与功能文档](./docs/系统接口与功能文档.md) - [操作说明书](./docs/操作说明书.md)