1. 项目背景与核心需求
高校二手书交易市场一直存在供需匹配效率低下的问题。每到学期初和期末,学生们在校园论坛、微信群中大量发布求购和出售信息,交易过程繁琐且缺乏保障。这个基于SpringBoot+Vue的在线购物系统,正是为了解决这一痛点而生。
我去年指导过某高校计算机系的毕业设计小组,他们最初想做一个通用电商平台。经过实地调研发现,校园二手书交易存在几个特殊需求:学期性强(开学和期末是高峰期)、地理位置集中(支持校内自提)、信用体系完善(学号认证)。这些特点决定了通用电商平台并不适合校园场景。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 为什么选择前后端分离架构
传统的JSP/Thymeleaf等模板引擎方案在维护性和扩展性上存在明显短板。我们采用前后端分离架构,主要基于以下考虑:
- 前端团队可以专注UI交互,后端团队专注业务逻辑
- 接口定义清晰后可以并行开发
- 移动端App可以复用同一套API
- Vue的响应式特性特别适合商品浏览、购物车等场景
实测数据显示,在商品列表页这种高频刷新场景,前后端分离架构比传统方案减少40%以上的带宽消耗。
2.2 技术栈深度解析
后端技术栈:
- SpringBoot 2.7.x:快速启动、自动配置
- MyBatis-Plus:简化CRUD操作
- Redis:缓存热点数据(如首页商品)
- JWT:无状态认证
- Swagger:API文档生成
前端技术栈:
- Vue 3 + Composition API
- Element Plus:UI组件库
- Axios:HTTP客户端
- Vue Router:前端路由
- Pinia:状态管理
注意:技术选型时要考虑团队成员的技术储备。如果对Vue 3不熟悉,可以降级到Vue 2,但会失去Composition API带来的代码组织优势。
3. 核心功能模块实现
3.1 用户认证与权限控制
校园场景下我们采用学号+密码的认证方式,后端生成JWT令牌。关键实现点:
java复制// JWT生成示例
public String generateToken(User user) {
return Jwts.builder()
.setSubject(user.get
