基于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.项目截图

五、📝项目相关代码

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

复制代码
     /**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(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){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UsersEntity>().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){
    	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("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity 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");
        UsersEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
相关推荐
码事漫谈16 分钟前
多人共用一个 key,缓存命中率会不会因此降低?
后端
考虑考虑1 小时前
docker compose环境变量替换
运维·后端·自动化运维
武雄(小星Ai)2 小时前
飞书API上传26MB文件偶发失败:错误码9499与空响应体排坑实录
后端·api·排坑实录
徐小夕2 小时前
JitWord 4.0 万字分享:从协同工具到AI Word操作系统,聊聊3年产品创业史
前端·vue.js·后端
geovindu3 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
Flynt4 小时前
把公司项目迁到 Spring Boot 4.0:编译通过只是开始
java·spring boot·后端
IT_陈寒4 小时前
Redis误用keys命令把生产环境搞崩了,血的教训
前端·人工智能·后端
她的男孩5 小时前
多租户和数据权限怎么共存?扒完拦截器注册链路,我找到 4 个隐蔽的坑
java·后端·架构
用户8356290780515 小时前
使用 Python 设置 Excel 页眉和页脚
后端·python
两只羊ovo5 小时前
Vue 3 + DeepSeek 流式输出实战:从“干等”到“打字机”体验
前端·vue.js