文末获取源码
开发语言:PHP
数据库:mysql 5.7
集成环境:PHPStudy
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
网络和科学技术的发展改变了人类的生活。科技的进步使计算机技术生活化,帮助人们的工作和生活。目前信息化成为主流,使人类进入新的文明社会。本系统是利用现代科技和网络开发的帮助网上预约家政服务的小程序,可以减少预约家政服务的传递环节,提高工作效率和帮助用户的信息查询。
本基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。
系统展示
登录功能模块的界面实现
在系统调试运行后,可以进入本界面,本界面是最基本的功能,可以保证系统的安全,采用验证的安全机制进行设计。在本界面里可以看到账号和密码的输入框。本系统中的登录权限包括员工和客户两个。必须三种信息都正确才可以验证成功进入到对应的操作界面。系统的登录功能模块的实现界面如下图4.1所示:
管理员操作界面的功能模块实现
个人中心管理功能模块的界面实现
本功能的设计可以保证管理员账号的安全,使用本功能可以修改管理员的登录密码。管理员修改密码功能模块的实现界面如下图4.2所示:
家政服务管理功能模块的界面实现
本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。管理员管理家政服务信息功能的实现界面如下图4.3所示:
员工风采管理功能模块的界面实现
员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。管理员添加员工风采信息的实现界面如下图4.4所示:
客户需求管理功能模块的界面实现
客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。管理员查询客户需求信息功能的实现界面如下图4.5所示:
接单管理功能模块的界面实现
接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员查询接单信息的实现界面如下图4.6所示:
员工管理功能模块的界面实现
管理员可以查询员工信息,可以进行修改删除。管理员添加员工信息的实现界面如下图4.7所示:
客户角色的操作界面实现
客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。客户角色的操作界面的实现效果如下图4.8所示:
首页界面的操作功能实现
在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。首页界面的实现如下图4.9所示:
员工角色功能的界面实现
员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。实现界面如下图4.10所示:
代码实现
登录功能实现代码
@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();
}