1. 演示地址
后台:http://xiyanghong.xiaobias.com/xiyanghong/admin/dist/index.html
前台:http://xiyanghong.xiaobias.com/xiyanghong/front/index.html
管理员:admin/admin
租客:a1/123456、a2/123456
资源:https://fifteen.xiaobias.com/source/145
2. 项目简介
夕阳红公寓管理系统是一个基于Spring Boot和Vue.js的前后端分离的Web应用。该系统旨在为老年公寓提供数字化管理解决方案,涵盖了公寓日常运营的多个核心模块,包括租客管理、访客登记、缴费管理、报修维护、公告发布、留言反馈以及疫情期间特别增加的行程轨迹上报等功能。系统设计了管理员和租客两种角色,并为他们提供了不同的操作权限和界面。
3. 技术栈
后端技术 (Backend)
- 核心框架: Spring Boot 2.2.2.RELEASE
- 持久层: MyBatis-Plus 2.3, MyBatis Spring Boot Starter 2.1.1
- 安全框架: Apache Shiro 1.3.2
- 数据库: MySQL
- 工具库:
- Hutool-all (Java工具库)
- FastJSON (阿里巴巴JSON处理器)
- Commons-lang3, Commons-io (Apache通用工具包)
- Google Protobuf (数据序列化)
- 其他:
- Apache POI (Excel操作)
- 百度AI Java SDK (集成百度人工智能服务)
前端技术 (Frontend)
- 后台管理前端:
- Vue.js
- Element-UI
- Vue-router
- Axios
- ECharts
- 用户门户前端:
- Layui
- jQuery
- Swiper (轮播图组件)
开发环境
- JDK 1.8
- Maven
4. 详细介绍
4.1 系统架构
本项目采用经典的前后端分离架构。后端基于Spring Boot构建RESTful API,前端分为两部分:一个基于Vue和Element-UI的后台管理系统,以及一个基于Layui的用户门户网站。
4.2 功能模块
系统主要包含以下功能模块,并通过权限系统(shiro-spring)控制不同角色的访问:
4.2.1 管理员角色功能
- 基础数据管理: 对公寓的单元号类型、公告类型、维修类型等字典数据进行维护。
- 访客管理: 记录和管理访客信息。
- 公告信息管理: 发布和管理面向租客的公告。
- 缴费管理: 管理物业费、房租等费用的录入和查询。
- 留言管理: 查看和回复租客的留言。
- 维修管理: 处理租客提交的维修申请,更新处理状态。
- 行程轨迹管理: 查看所有租客上报的行程轨迹(健康码信息)。
- 租客管理: 管理公寓租客的账户信息。
- 轮播图管理: 配置门户首页的轮播图。
4.2.2 租客角色功能
- 公告查看: 查看管理员发布的公告。
- 缴费查询: 查询自己的缴费记录。
- 留言: 向管理员发送留言。
- 维修申报: 提交维修申请,并查看处理状态。
- 行程轨迹上报: 上传健康码图片并填报行程信息。
- 个人中心: 查看个人信息。
4.3 权限设计
权限控制精细到菜单和按钮级别,通过在menu.js中配置每个角色对每个菜单页面的操作权限(如查看、新增、修改、删除),并在前端(utils.js的isAuth方法)和后端进行校验。
4.4 数据库设计
从MyBatis的Mapper文件(*.xml)可以看出,系统包含多张数据表,例如:
users(管理员表)zuke(租客表)gonggao(公告表)jiaofei(缴费表)weixiu(维修表)xingcheng(行程轨迹表)dictionary(字典表)config(配置表,存储轮播图等)- 等…
5. 部分代码
5.1 后端POM依赖 (部分)
<!-- Spring Boot Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- MyBatis-Plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>2.3</version></dependency><!-- Shiro --><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.3.2</version></dependency>5.2 前端路由配置 (Vue -router-static.js)
{path:'/gonggao',name:'公告信息',component:gonggao},{path:'/jiaofei',name:'缴费',component:jiaofei},{path:'/weixiu',name:'维修',component:weixiu},// ... 其他路由5.3 权限判断工具函数 (utils.js)
exportfunctionisAuth(tableName,key){letrole=storage.get("role");// ... 根据角色和菜单配置判断是否拥有指定表(页面)的某个操作权限returnfalse;}5.4 前端请求封装 (http.js)
consthttp=axios.create({timeout:1000*86400,withCredentials:true,baseURL:'/xiyanghong',// API基础路径headers:{'Content-Type':'application/json; charset=utf-8'}})// 请求拦截器:自动添加Tokenhttp.interceptors.request.use(config=>{config.headers['Token']=storage.get('Token')returnconfig})6. 部分截图
7. 项目总结
夕阳红公寓管理系统是一个功能完整、设计清晰的全栈Web项目。
- 技术选型合理: 采用了当前企业级开发中主流且成熟的技术栈组合(Spring Boot + Vue/Element-UI),保证了项目的稳定性和可维护性。
- 架构设计清晰: 前后端分离的架构使得前后端可以独立开发、测试和部署,降低了系统的耦合性。
- 功能覆盖面广: 系统涵盖了公寓管理的核心业务流程,从人员管理、费用管理到日常服务请求处理,功能模块划分明确,实用性强。
- 权限体系完善: 基于角色的访问控制(RBAC)设计细致,不仅控制了菜单访问,还控制了页面内的具体操作按钮,安全性较高。
- 扩展性良好: 模块化的代码结构、清晰的API设计以及使用MyBatis-Plus等框架,使得后续新增功能或修改现有功能都比较方便。
- 特色功能: 结合时代需求,加入了“行程轨迹”(健康码)上报功能,体现了项目的实用性。
总体而言,该项目是一个优秀的毕业设计或初级企业项目范例,完整地展示了从后端API到前端交互,从数据库设计到权限管理的全流程开发,具有良好的学习和参考价值。