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

基于SpringBoot的垃圾分类系统设计与实现【源码+文档+部署讲解】

系统介绍

基于SpringBoot+Vue实现的垃圾分类系统设计了三种角色、分别是管理员、垃圾分类管理员、用户,实现了个人中心、用户管理、垃圾分类管理员管理、垃圾分类管理、垃圾类型管理、垃圾图谱管理、系统管理等功能

技术选型

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

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

服务端技术:Springboot+Mybatis-plus

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

成果展示

文档展示

管理员登陆

用户管理

垃圾分类管理员管理

 

垃圾分类管理

垃圾类型管理

垃圾图谱管理

系统管理

前台首页

源码展示

@RequestMapping("users")
@RestController
public class UserController{
 
 @Autowired
 private UserService userService;
 
 @Autowired
 private TokenService tokenService;

 /**
  * 登录
  */
 @IgnoreAuth
 @PostMapping(value = "/login")
 public R login(String username, String password, String captcha, HttpServletRequest request) {
  UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().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 UserEntity user){
     if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
      return R.error("用户已存在");
     }
        userService.insert(user);
        return R.ok();
    }

 /**
  * 退出
  */
 @GetMapping(value = "logout")
 public R logout(HttpServletRequest request) {
  request.getSession().invalidate();
  return R.ok("退出成功");
 }
 
 /**
     * 密码重置
     */
    @IgnoreAuth
 @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().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,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
     PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

 /**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
       ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
     Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
}

账号地址及其他说明

1、地址说明

管理员登录页:http://localhost:8081/

前台首页:http://localhost:8080/springboot574f8/front/index.html

2、账号说明

管理员:admin/admin

垃圾分类管理员: admin1/123456

用户:user1/123456

3、目录结构展示

4、项目结构展示

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

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

7、如电脑本机环境未配置好,可在后台回复 环境配置 获取教程。

8、运行步骤

1、创建数据库、导入sql脚本
2、修改application.yml中的数据库配置文件,启动服务端
3、在源代码\admin目录下打开cmd,执行npm install或者yarn install下载依赖
4、下载完毕后启动前端npm run serve,访问端口

http://www.kler.cn/a/456420.html

相关文章:

  • 跟着问题学18——大模型基础transformer模型详解(4)解码器
  • Linux(Centos 7.6)网卡信息没有了问题处理
  • jangow靶机
  • 小程序基础 —— 08 文件和目录结构
  • 【K8S问题系列 | 21 】K8S中如果PV处于Bound状态,如何删除?【已解决】
  • bishengjdk-8
  • 十二月第五周python
  • 正则表达式(学习Django过程中可能涉及的)
  • Java并发编程框架之综合案例—— 分布式日志分析系统(七)
  • Linux高级--2.4.2 linux TCP 系列操作函数 -- 深层理解
  • 【全栈开发】----Mysql基本配置与使用
  • .NET Framework 逐渐过时,.NET 8和 .NET 9引领未来
  • Postman接口测试工具
  • 【详细讲解】hive优化
  • Android 13 Aosp SystemUI Android Studio版本
  • 25页PDF | 企业级指标体系设计方法
  • 大学课程Go语言的算法与数据结构
  • Windows安装ElasticSearch与kibana
  • Ardunio BLE keyboard 库的使用
  • 变长的时间戳(第4版)
  • Spring Boot 项目中 Maven 剔除无用 Jar 引用的最佳实践
  • LabVIEW Ctrl+Shift space 快速放置被占用解决办法
  • 三层交换机配置
  • 【UE5.3.2 】引擎中安装RiderLink插件
  • 将现有Web 网页封装为macOS应用
  • TCP 小队列的设计原理