案例292:基于微信小程序的民宿短租系统设计与实现

小程序 0

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

小程序运行软件:微信开发者

目录

目录

前言

系统展示

用户登录功能模块的实现界面

修改密码功能模块的界面实现

用户注册模块功能的实现

评价功能模块的界面实现

新闻公告功能模块的实现界面

民宿详情的功能实现界面

在线预订功能模块的实现界面

民宿预订管理功能界面的实现

房主注册功能的实现界面

房主功能界面的实现

管理员功能的实现界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着社会的发展,出差、旅游成为常态,也就造成民宿短租市场的兴起。人们新到陌生的环境里找民宿一般都是通过中介。中介虽然可以快速找到合适的民宿但会收取大量的中介费用,这对刚到新环境里的人们来说是一笔大的资金支出。也有一些人通过自己去物业找民宿,但这种民宿出租信息非常有限,不能快速的找到合适的民宿。还有一部分会去网上平台找民宿,这种方式里的民宿大多都是中介。随着网络的快速发展,网上平台成为新的途径。本基于微信小程序民宿短租系统减少中间商,并且民宿信息齐全,价格透明,更受人们喜爱。

本基于微信小程序民宿短租系统采用Java语言进行开发,数据库采用MySQL,小型轻便,使系统中的数据更为安全,技术采用微信小程序。本系统实现了民宿信息的网上宣传,用户可以随时浏览和预订。管理员可以管理民宿信息和订单信息。房主可以管理自己的民宿和订单。本系统提高了用户预订民宿的效率,同时也帮助房主更快的找到租客。


系统展示

用户登录功能模块的实现界面

本系统需要登录才可以使用相关功能。用户登录功能的操作步骤为,用户点击用户登录功能,可以跳转到用户登录的窗口界面里,在用户登录的窗口界面里输入账号和密码,然后点击登录按钮。用户登录窗口的界面实现如下图5.1所示:

 

用户登录的流程为当用户输入信息后,会自动进行数据的比对,当比对通过可以登录成功,当比对错误会提示账号或者密码错误,需要重新登录的提示。用户登录的流程图如下图5.2所示: 

 

修改密码功能模块的界面实现

   修改密码可以保证账号的安全,本功能为基础功能。修改密码的实现如下图5.3所示:

 

用户注册模块功能的实现

    用户注册功能可以实现成为本系统用户的作用。当用户点击用户注册功能时界面会进入新的注册界面。注册的流程为用户填写注册信息,数据库先进行判断数据是否正确,如果正确可以在数据库中插入用户信息,如果信息错误,则会提示注册失败。用户注册功能的流程如下图5.4所示:

 用户注册的实现界面如下图5.5所示:

 

评价功能模块的界面实现

用户评价的流程为用户点击评价功能,然后输入评价信息,当评价信息为有效时,可以评价成功,当评价信息为无效时,需要重新评价。用户评价的流程如下图5.6所示:

 

用户评价的实现界面如下图5.7所示: 

 

新闻公告功能模块的实现界面

     公告信息是由管理员负责管理的,用户可以在前台看到公告的详细信息,在公告功能里,公告可以由列表进行标题、时间的展示。当想了解具体的公告信息时,可以点击标题进入公告详情界面。公告功能的实现界面如下图5.8所示:

 

民宿详情的功能实现界面

在民宿详情界面里可以看到详细的民宿信息,包括类型、户型、面积、价格等。民宿详情里有联系方式,用户可以实现在线预订。民宿详情的实现界面如下图5.9所示:

 

在线预订功能模块的实现界面

用户在预订民宿时需要填写入住日期、入住天数和订单备注。在线预订信息的实现界面如下图5.10所示:

 

民宿预订管理功能界面的实现

用户预订成功后可以管理预订信息。民宿预订管理功能的实现界面如下图5.11所示:

 

房主注册功能的实现界面

房主也可以通过注册实现系统的使用。实现界面如下图5.12所示:

 

房主功能界面的实现

     本界面分为图片、文字、标题、按键、列表等。房主可以发布民宿和管理预订信息以及个人信息。房主界面的实现效果如下图5.13所示:

 

管理员功能的实现界面

管理员的功能为用户管理、房主管理、民宿管理、房间类型管理、预订管理和系统管理等。实现界面如下图5.14所示:

 


代码实现

登录功能实现代码

@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){//    	ValidatorUtils.validateEntity(user);    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {    		return R.error("用户已存在");    	}        userService.insert(user);        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("/update")    public R update(@RequestBody UserEntity user){//        ValidatorUtils.validateEntity(user);    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {    		return R.error("用户名已存在。");    	}        userService.updateById(user);//全部更新        return R.ok();    }

删除信息功能实现代码

@RequestMapping("/delete")    public R delete(@RequestBody Long[] ids){        userService.deleteBatchIds(Arrays.asList(ids));        return R.ok();    }

保存信息功能实现代码

@PostMapping("/save")    public R save(@RequestBody UserEntity user){//    	ValidatorUtils.validateEntity(user);    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {    		return R.error("用户已存在");    	}        userService.insert(user);        return R.ok();    }

也许您对下面的内容还感兴趣: