1. 项目背景与核心需求
在高校日常运营中,电器设备故障是困扰后勤管理的常见问题。根据某985高校后勤部门统计,平均每月要处理超过200起电器报修案例,从教室投影仪到宿舍空调,维修需求呈现多样化特征。传统纸质报修流程存在三个明显痛点:一是响应周期长(平均需要2-3天);二是进度不透明(学生无法实时了解维修状态);三是管理效率低(人工分配任务容易出错)。
这个基于微信小程序的维修服务系统,正是为了解决这些痛点而生。我在开发过程中发现,真正有效的校园维修系统需要同时满足三个维度的需求:
- 学生端:要实现"一分钟完成报修"的极简操作
- 维修工端:需要智能化的任务分配和配件管理系统
- 管理端:要具备数据可视化和绩效分析能力
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计解析
2.1 为什么选择Spring Boot + uni-app组合
后端采用Spring Boot框架主要基于三个考量:
- 快速开发:通过starter依赖可以快速集成MyBatis、Redis等组件
- 微服务友好:为未来扩展为多校区分布式系统预留了架构空间
- 生态成熟:丰富的插件生态便于实现微信支付、消息推送等扩展功能
前端选择uni-app则是因为:
javascript复制// 示例:通过条件编译实现多端兼容
// #ifdef MP-WEIXIN
wx.login()
// #endif
// #ifdef H5
location.href
// #endif
这种跨端能力使系统可以快速扩展到H5、APP等平台,实测显示同一套代码在不同平台运行效率差异小于15%。
2.2 数据库设计的三个优化点
在MySQL表结构设计时,特别注重了以下优化:
- 冗余字段设计:在assign_tasks表中存储了学生和维修工的关联信息,虽然增加了存储空间,但使查询效率提升40%
- 状态机设计:维修进度状态采用ENUM类型,确保状态流转的合法性
sql复制CREATE TABLE maintenance_progress (
status ENUM('pending','assigned','processing','completed') NOT NULL
);
- 索引策略:为所有外键字段和高频查询条件建立组合索引,使平均查询时间控制在50
