1. 项目背景与需求分析
高校教师工作量管理一直是教务工作中的痛点。记得去年帮某高校信息中心做系统升级时,教务主任拿着厚厚一叠Excel表格跟我吐槽:"每学期末统计教师工作量,三个教务员要加班两周才能完成,还经常出现计算错误引发教师投诉。"这正是传统管理方式的典型困境——数据分散在各类纸质文档和电子表格中,统计维度复杂(教学、科研、公共服务等),人工核算效率低下且易出错。
教师工作量管理系统要解决三个核心问题:
- 数据孤岛问题:教学任务、科研成果、公共服务等数据分散在不同部门
- 计算标准化问题:各院系工作量计算规则不统一,难以横向比较
- 流程透明化问题:教师无法实时查看自己的工作量累计情况
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 为什么选择SpringBoot+Vue3
后端技术栈选择考量:
- SpringBoot:相比传统SSM框架,其自动配置特性让开发效率提升40%以上。特别是在多数据源配置时,只需添加
@Configuration注解即可完成复杂配置。 - MyBatis-Plus:选择它而非JPA的原因是高校业务中存在大量复杂SQL查询(如跨年度工作量对比),MyBatis的XML映射方式更灵活。实测在千万级数据量下,优化后的SQL比JPA的Criteria查询快3-5倍。
前端技术决策过程:
- Vue3组合式API:在开发教师个人工作台时,需要处理多维度数据联动(如选择不同学期自动切换显示对应工作量)。Vue3的
setup()语法比Options API减少约30%的代码量。 - Element Plus:对比Ant Design Vue,其表单校验规则配置更符合中国人的思维习惯。例如工作量申报表单的级联选择器,用Element只需5行配置代码。
2.2 系统架构图解
code复制[用户层]
│
├─ Web端(Vue3)
├─ 移动端(UniApp)
│
[应用层]
│
├─ 网关(Nginx)
├─ 认证中心(JWT)
│
[服务层]
│
├─ 教师服务
├─ 课程服务
├─ 科研服务
│
[数据层]
│
├─ MySQL(主库)
├─ MySQL(从库)
├
