当前位置: 首页 > news >正文

分享一套锋哥原创的微信小程序校园宿舍管理系统(SpringBoot4后端+Vue3管理端)

大家好,我是Java1234_小锋老师,分享一套锋哥原创的微信小程序校园宿舍管理系统(SpringBoot4后端+Vue3管理端)。

项目介绍

随着高校在校生规模不断扩大与智能终端的普及,传统的纸质化、线下化宿舍管理方式在效率、信息共享与数据沉淀等方面已难以满足现代化校园管理需求。本设计面向校园宿舍管理场景,以 Spring Boot 为后端核心,结合 Vue3 + Element Plus 管理端与微信小程序学生端,构建一套覆盖宿舍资源管理、入住调换、报修审批、卫生检查、公告通知、访客登记和请假晚归等业务的一体化解决方案。在技术实现上,后端采用 Spring Boot 4 + MyBatis 的轻量级组合,数据库选用 MySQL 8.x,通过 JWT + 拦截器实现「管理员/宿管员/学生」三角色的统一鉴权;管理端基于 Vue3 + Vite 搭建,使用 ECharts 完成入住率、报修类型、卫生等级等多维度可视化分析;学生端使用微信小程序原生开发,提供登录、个人信息、公告播报、报修、请假晚归、调宿等高频自助服务。经过功能与性能测试,系统在主要业务流程上响应平均时间小于 200 ms,能够稳定支撑高校宿舍日常管理工作的数字化升级,具有较高的实际应用价值与推广意义。

源码下载

链接:https://pan.baidu.com/s/1VUeG7nocGX9ijauNL-4k9w?pwd=1234
提取码:1234

系统展示

核心代码

package com.java1234.controller; import com.java1234.common.PageResult; import com.java1234.common.R; import com.java1234.common.SecurityHelper; import com.java1234.entity.Dormitory; import com.java1234.service.DormitoryService; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * 宿舍管理。 */ @RestController @RequestMapping("/dormitory") public class DormitoryController { private final DormitoryService dormitoryService; public DormitoryController(DormitoryService dormitoryService) { this.dormitoryService = dormitoryService; } @GetMapping("/list/{buildingId}") public R<List<Dormitory>> listByBuilding(@PathVariable Long buildingId) { SecurityHelper.requireStaff(); return R.ok(dormitoryService.listByBuilding(buildingId)); } @GetMapping("/page") public R<PageResult<Dormitory>> page(@RequestParam(required = false) Long buildingId, @RequestParam(required = false) String keyword, @RequestParam(required = false) String status, @RequestParam(defaultValue = "1") long page, @RequestParam(defaultValue = "10") long size) { SecurityHelper.requireStaff(); return R.ok(dormitoryService.page(buildingId, keyword, status, page, size)); } @PostMapping public R<Void> save(@RequestBody Dormitory row) { SecurityHelper.requireStaff(); dormitoryService.save(row); return R.ok(); } @PutMapping public R<Void> update(@RequestBody Dormitory row) { SecurityHelper.requireStaff(); dormitoryService.update(row); return R.ok(); } @DeleteMapping("/{id}") public R<Void> delete(@PathVariable Long id) { SecurityHelper.requireStaff(); dormitoryService.delete(id); return R.ok(); } }
<script setup> import { reactive, ref } from 'vue' import { useRouter } from 'vue-router' import { ElMessage } from 'element-plus' import { login } from '@/api/auth' import { useUserStore } from '@/store/user' const router = useRouter() const store = useUserStore() const form = reactive({ username: 'java1234', password: '123456', }) const loading = ref(false) /** 提交登录表单 */ const onSubmit = async () => { loading.value = true try { const data = await login(form) store.setLogin(data) ElMessage.success('登录成功') router.push('/dashboard') } finally { loading.value = false } } </script> <template> <div class="login-wrap"> <div class="left"> <div class="badge">Java1234微信小程序校园宿舍管理系统</div> <h1>智慧宿管 · 一站式管理平台</h1> <p>楼栋宿舍、入住分配、报修卫生、访客请假……统一可视化调度。</p> <div class="illus">🏫</div> </div> <div class="right"> <div class="glass card"> <h2>欢迎登录</h2> <el-form :model="form" label-position="top" @keyup.enter="onSubmit"> <el-form-item label="用户名"> <el-input v-model="form.username" placeholder="请输入用户名" clearable /> </el-form-item> <el-form-item label="密码"> <el-input v-model="form.password" type="password" placeholder="请输入密码" show-password /> </el-form-item> <el-button type="primary" class="btn" :loading="loading" round @click="onSubmit">登 录</el-button> </el-form> </div> </div> </div> </div> </template> <style scoped lang="scss"> .login-wrap { min-height: 100vh; display: grid; grid-template-columns: 1.1fr 0.9fr; } .left { padding: 64px; background: radial-gradient(1200px 600px at 20% 10%, #7aafff 0%, #4f8df9 35%, #2849c5 100%); color: #fff; display: flex; flex-direction: column; gap: 18px; } .badge { align-self: flex-start; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, 0.18); backdrop-filter: blur(8px); font-size: 13px; } h1 { margin: 0; font-size: 38px; letter-spacing: 1px; } p { opacity: 0.92; line-height: 1.8; max-width: 520px; } .illus { margin-top: auto; font-size: 96px; opacity: 0.35; } .right { display: flex; align-items: center; justify-content: center; padding: 40px; } .glass { width: min(440px, 100%); padding: 34px 28px; border-radius: 18px; background: rgba(255, 255, 255, 0.82); backdrop-filter: blur(10px); box-shadow: 0 18px 60px rgba(40, 73, 197, 0.18); } h2 { margin: 0 0 18px; } .btn { width: 100%; margin-top: 8px; } .hint { margin-top: 14px; color: #667; font-size: 12px; line-height: 1.6; } @media (max-width: 980px) { .login-wrap { grid-template-columns: 1fr; } .left { min-height: 240px; } } </style>
http://www.cnnetsun.cn/news/2139975.html

相关文章:

  • YOLO11涨点优化:卷积魔改 | 引入Dirichlet Convolution (狄利克雷卷积),强化边界特征提取,提升重叠目标识别率
  • 别再为水下AI发愁了!手把手教你用虎鲸开源的UATD声呐数据集(含10类目标、9200张图)
  • Java 25密封类在微服务网关中的真实压测表现:TPS提升23%,错误分类精度达99.8%,附GraalVM原生镜像适配清单
  • 回合策略手游【船长请开炮代金券内购版】服务端搭建教程(含资源下载+部署过程)
  • DeepSeek V4大模型的技术解析与产业实践
  • Unity游戏视觉去马赛克技术解析:6款BepInEx插件实现原理与实战指南
  • CSS三大选择器终极对决!谁才是新手写样式的“最优解”?
  • SQL嵌套查询中常见报错排查_语法与权限处理
  • 别再死记硬背Word2Vec了!用Python+Gensim搞懂CBOW和Skip-gram的区别
  • 企业宣传视频制作:Sonic数字人实战案例,低成本生成专业内容
  • 国风美学生成模型v1.0快速体验:基于CSDN社区案例的模仿生成教程
  • Radxa ROCK E20C迷你网络设备:高性能路由器与轻量级NAS解析
  • 从一次线上故障复盘说起:我是如何用阿里云SLB+ECS+OSS架构,差点搞垮自己网站的
  • 如何在降AI后快速验收效果:多平台交叉验证降AI结果完整操作教程
  • AI时代结构化数据全面普及:谷歌SEO新机遇
  • Arm SVE浮点运算与向量化编程实战指南
  • GHelper完整指南:华硕笔记本终极性能控制工具
  • 为什么90%的Java低代码平台在流程引擎扩展上失败?:深度解析Activity-Driven Runtime内核的3个设计断点
  • 智能清理革命:Pearcleaner为Mac用户打造的终极存储空间解决方案
  • DeepSeek-R1-Distill-Llama-8B部署方案:国产昇腾910B平台适配与性能调优
  • 智能家居能源管理:从基础到优化的全面指南
  • Houdini RBD约束实战:用VEX和锚点属性制作可控制的机械关节动画
  • ARM显示接口与触摸屏控制技术解析
  • 高效VR视频转换方案:5步将3D视频转为普通2D格式的完整指南
  • VMware Workstation Pro 17许可证密钥:5步免费激活终极完整指南
  • Python大模型微调框架演进图谱(2022–2024):从TRL到Axolotl再到最新Lightning-Finetune,错过这波将落后整整一代技术栈
  • 通义千问1.5-1.8B-Chat-GPTQ-Int4模型解析:从Transformer架构到量化实践
  • 从雷达测距到声源定位:互相关延时估计在Matlab中的跨界实战指南
  • Agentic AI 全流程实战:用 OpenAI on AWS 搭一个餐饮补货智能体,从 API 调用到容器化上线
  • Claude Code+GLM 安装配置与个快速上手技巧