1. 项目背景与需求分析
大学生创新创业训练项目(简称"大创项目")已经成为高校培养创新型人才的重要抓手。作为一名长期参与高校信息化建设的开发者,我深刻感受到传统管理方式的痛点:导师们还在用Excel表格统计项目进度,学生们反复跑办公室提交纸质材料,管理员需要手动整理海量数据...这种低效模式显然无法满足当前高校创新创业教育的发展需求。
去年我参与了某重点高校的大创项目管理平台重构项目,经过三个月的需求调研和开发,我们打造了一套基于SpringBoot+Vue的企业级解决方案。这个系统最核心的价值在于实现了项目全生命周期的数字化管理——从申报立项到中期检查再到结题验收,所有流程线上化,数据实时可视化,彻底告别了纸质文档和人工统计的时代。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计
2.1 整体架构方案
系统采用前后端分离架构,这是经过多次技术选型对比后的最优解。后端使用SpringBoot 2.7.x构建RESTful API服务,前端采用Vue 3组合式API开发管理界面,数据库选用MySQL 8.0,ORM层使用MyBatis-Plus增强功能。这种架构组合在开发效率、性能表现和可维护性方面达到了最佳平衡。
技术选型心得:早期考虑过传统的单体架构,但面对高校复杂的权限体系和多变的业务需求,前后端分离的微服务架构展现出明显优势。特别是Vue3的响应式特性,在处理动态表单和复杂交互时游刃有余。
2.2 关键技术实现
2.2.1 权限控制系统
系统设计了RBAC(基于角色的访问控制)模型,通过JWT实现无状态认证。这里有个开发中的坑值得分享:最初直接使用Spring Security的默认配置,后来发现无法满足高校特有的"学生-导师-院系管理员-校级管理员"四级权限体系。最终解决方案是自定义SecurityFilterChain,结合@PreAuthorize注解实现方法级权限控制。
权限表的核心字段设计:
sql复制CREATE TABLE `sys_role` (
`role_id` bigint NOT NULL AUTO_INCREMENT,
`role_name` varchar(50) COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色名称',
`role_code` varchar(20) COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色编码',
`data_scope` tinyint DEFAULT '1' COMMENT '数据范围(1:全部 2:本院系 3:本人)',
`status` tinyint DEFAULT '0' COMMENT '状态(0正常 1停用)',
PRIMARY KE
