• 基于SpringBoot Vue宠物领养系统


     一、📝功能介绍

    基于SpringBoot Vue宠物领养系统

    角色:管理员、用户

    当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到宠物领养救助平台的导航条显示首页、宠物招领、宠物认领、 宠物论坛、宠物资讯、后台管理、在线反馈、个人中心等,

    管理员:管理员进入系统主页面,主要功能包括对系统首页、个人中心、用户管理、宠物类别管理、宠物招领管理、领养申请管理、宠物认领管理、宠物论坛、系统管理等进行操作

    用户:主要包括对系统首页、个人中心、领养申请管理、宠物认领管理等进行操作

    二、📝技术介绍

    开发语言:Java

    后端: SpringBoot+Mybatis-Plus

    前端:Vue +ElementUI + Vue Router + Axios

    三、📝环境需要

    开发工具:IDEA,Eclipse,Myeclipse都可以。推荐IDEA,vscode

    JDK版本:1.8

    数据库: MySQL5.7/MySQL8.0版本以上

    项目管理:Maven

    Node版本:14

    四、📝运行截图

    1.文档截图

    2.项目截图

    五、📝项目相关代码

    本项目是前后端分离开发,可以学习拓展等等!

    1. /**
    2. * 登录
    3. */
    4. @IgnoreAuth
    5. @PostMapping(value = "/login")
    6. public R login(String username, String password, String captcha, HttpServletRequest request) {
    7. UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
    8. if(user==null || !user.getPassword().equals(password)) {
    9. return R.error("账号或密码不正确");
    10. }
    11. String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
    12. return R.ok().put("token", token);
    13. }
    14. /**
    15. * 注册
    16. */
    17. @IgnoreAuth
    18. @PostMapping(value = "/register")
    19. public R register(@RequestBody UsersEntity user){
    20. // ValidatorUtils.validateEntity(user);
    21. if(userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
    22. return R.error("用户已存在");
    23. }
    24. userService.insert(user);
    25. return R.ok();
    26. }
    27. /**
    28. * 退出
    29. */
    30. @GetMapping(value = "logout")
    31. public R logout(HttpServletRequest request) {
    32. request.getSession().invalidate();
    33. return R.ok("退出成功");
    34. }
    35. /**
    36. * 密码重置
    37. */
    38. @IgnoreAuth
    39. @RequestMapping(value = "/resetPass")
    40. public R resetPass(String username, HttpServletRequest request){
    41. UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
    42. if(user==null) {
    43. return R.error("账号不存在");
    44. }
    45. user.setPassword("123456");
    46. userService.update(user,null);
    47. return R.ok("密码已重置为:123456");
    48. }
    49. /**
    50. * 获取用户的session用户信息
    51. */
    52. @RequestMapping("/session")
    53. public R getCurrUser(HttpServletRequest request){
    54. Long id = (Long)request.getSession().getAttribute("userId");
    55. UsersEntity user = userService.selectById(id);
    56. return R.ok().put("data", user);
    57. }

  • 相关阅读:
    MobaXterm常用使用功能设置
    浅析AcrelEMS-CIA机场智慧能源管平台解决方案-安科瑞 蒋静
    Android Studio修改模拟器AVD Manger目录
    08-黑马点评项目发布笔记和查看笔记功能的实现
    K8s ingress-nginx根据请求目录不同将请求转发到不同应用
    时序预测 | MATLAB实现BiLSTM时间序列未来多步预测
    RxJava入门
    FlinkSQL -- joins----flink-1.13.6
    合宙esp32c3不带串口芯片的型号如何arduino和micropython
    关于算法复杂度的几张表
  • 原文地址:https://blog.csdn.net/qq_32340877/article/details/137402501