基于SpringBoot实现的校园失物招领平台设计与实现【源码+文档】

基于SpringBoot+Vue实现的校园失物招领平台采用前后端分离架构方式,系统设计了管理员、学生两种角色,系统实现了用户登录与注册、个人中心、学生管理、物品分类管理、失物信息管理、拾物信息管理、认领信息管理、找回信息管理、轮播图管理、公告信息分类管理、公告信息管理等功能。

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3

服务端技术:Springboot+Mybatis-Plus

前端技术:html+css+Vue+axios+Element-UI

成果展示

文档展示

管理端页面

用户登录

学生管理

失物信息管理

拾物信息管理

认领信息管理

找回信息管理

公告信息管理

联系管理员

用户端页面

用户登录

首页

拾物信息

公告资讯

联系管理员

个人中心

源码展示

复制代码
@RequestMapping("users")
@RestController
publicclass UsersController{

@Autowired
private UsersService userService;

@Autowired
private TokenService tokenService;

/**
  * 登录
  */
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
  UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
   return R.error("账号或密码不正确");
  }
  String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
 }

/**
  * 注册
  */
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
     if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        userService.insert(user);
        return R.ok();
    }

/**
  * 退出
  */
@RequestMapping(value = "logout")
public R logout(HttpServletRequest request) {
  request.getSession().invalidate();
return R.ok("退出成功");
 }

/**
     * 密码重置
     */
    @IgnoreAuth
@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }

/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UsersEntity user){
        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
     PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
}

账号地址及其他说明

1、地址说明

管理端登录页面

http://localhost:8081/#/login

用户端登录页面

http://localhost:8080/springbootq3sf9h32/front/dist/index.html#/login

2、账号说明

管理员 账户:admin 密码:admin

学生 账户:学号1 密码:123456

3、目录结构展示

4、项目结构展示

5、以上系统源码,经过博主整理与调试,确保能正常运行!

6、制作不易,点赞、在看、分享再走吧,您的支持永远是我最大的动力!

7、运行步骤

1、创建数据库、导入sql脚本

2、修改application.yml中的数据库配置文件,启动服务端

3、在前端根目录下打开cmd,执行npm install或者yarn install下载依赖

4、下载完毕后启动前端npm run serve,访问端口

相关推荐
马优晨1 小时前
Spring Boot + MyBatis + Redis 整合实战 —— 项目源码深度解析
spring boot·redis·mybatis·mybatis + redis·redis实战·spring实战·mybatis实战
IKUN家族7 小时前
Spring MVC(一)
java·spring·mvc
老马识途2.08 小时前
关于跨域问题的总结
java·前端
都叫我大帅哥9 小时前
Java日期时间三十年战争:从Date考古到LocalDateTime革命,以及数据库与前端的那点事儿
java
Muscleheng9 小时前
SpringBoot 集成 DeepSeek 实现 RAG 文档问答
java·spring boot·ai·springai
2501_936415699 小时前
可变参数&综合练习&斗地主游戏
java·windows·游戏
颜酱10 小时前
07 | 把字段与指标同步到 Qdrant(生成阶段)
前端·人工智能·后端
Larcher10 小时前
从“加载模型”界面到端侧推理:拆解一个 React + WebGPU 大模型 Demo
javascript·后端
极客先躯10 小时前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
xqqxqxxq11 小时前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记