1. 项目背景与技术选型解析
大学生智能消费记账系统是一个典型的校园场景应用,旨在帮助大学生群体实现消费行为的数字化管理和智能分析。这个项目采用了当前主流的前后端分离架构,技术栈组合具有鲜明的时代特征:
后端选用SpringBoot 2.7.x作为基础框架,主要基于以下考虑:
- 自动配置特性大幅减少XML配置,快速构建生产级应用
- 内嵌Tomcat服务器简化部署流程
- 完善的Starter生态(如spring-boot-starter-web、spring-boot-starter-test)
- 与MyBatis的无缝集成能力
前端采用Vue3的组合式API开发模式,相比Vue2具有:
- 更好的TypeScript支持
- 更灵活的逻辑复用能力(Composition API)
- 更优的性能表现(Proxy替代defineProperty)
- 更小的打包体积(Tree-shaking优化)
数据库选择MySQL 8.0版本,主要考量:
- 完善的ACID事务支持
- 良好的高校教育生态(多数数据库课程以MySQL为教学案例)
- JSON字段支持便于存储消费明细的扩展属性
- 窗口函数等高级特性满足数据分析需求
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计与模块划分
2.1 整体架构示意图
code复制[前端层] Vue3 + Axios + Element Plus
↑↓ HTTP/HTTPS
[API网关层] Spring Cloud Gateway
↑↓ RPC
[业务逻辑层] SpringBoot + MyBatis
↑↓ JDBC
[数据持久层] MySQL + Redis
2.2 核心功能模块设计
消费记录模块
- 支持多维度消费记录(餐饮、购物、学习等12个预设分类)
- 消费地点自动匹配(集成高德地图API)
- 图片凭证上传(阿里云OSS存储)
- 消费标签系统(支持自定义标签)
统计分析模块
- 实时消费看板(ECharts可视化)
- 消费趋势分析(按日/周/月)
- 超支预警机制(基于预算设置)
- 消费结构雷达图
用户管理模块
- 多角色权限控制(学生/辅导员/管理员)
- 学号验证系统(对接教务接口)
- 消费行为画像
- 消息通知中心(站内信+邮件)
数据交换模块
- Excel导入/导出
- 微信账单同步
- 支付宝账单解析
- 数据备份恢复
3. 关键技术实现细节
3.1 前后端分离实践
接口规范设计
java复制// 统一响应体示例
public class R<T> {
private int code; // 200-成功 500-失败
private String msg;
private T data;
private long timestamp = System.currentTimeMillis();
// 成功静态方法
public static <T> R<T> ok(T data) {
// ...实现细节
}
}
跨域解决方案
java复制@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "POST", "PUT", "DELETE")
.maxAge(3600);
}
}
