案例283:基于微信小程序校园订餐的设计与开发

本文介绍了使用Java、SSM框架、JDK1.8和MySQL开发的微信小程序订餐系统,包括用户登录、注册、首页功能、信息管理、美食展示、公告发布、订单处理及不同角色的权限管理。通过HBuilderX开发并利用微信小程序框架提供便捷的订餐体验。
摘要由CSDN通过智能技术生成

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

目录

前言

系统展示

用户登录功能的界面实现

用户注册功能的实现界面

首页功能的设计实现

用户信息管理功能的实现界面

特色美食功能的实现界面

网站公告功能的实现界面

立即订购功能的实现界面

我的功能的实现界面

商家权限的功能实现

管理员权限的功能实现

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

人民生活水平的提高就会造成生活节奏越来越快,很多人吃饭都采用点外卖的方式。现在点外卖的平台已有很多,大多都需要安装它们的APP才可以使用,并且没有针对校园。如果一味的使用外卖平台不仅会造成商家成本的增加,还不利于商家校园订单的配送。开发基于微信小程序的校园订餐系统可以解决这些问题,实现借助微信就可以点餐。

本基于微信小程序校园订餐系统采用Java语言和Mysql数据库进行设计,技术采用微信小程序,可以不安装App软件就实现订餐。本系统实现管理员和用户、商家三个角色的功能。用户主要在微信端操作,内容有美食信息、网站公告信息、用户可以在线充值进行美食的订餐以及管理购物车和咨询客服。商家可以发布美食和管理订单。管理员可以发布公告和审核美食以及管理订单等。本系统可以实现校园的订餐,帮助商家更好的销售餐品。


系统展示

用户登录功能的界面实现

本系统中可以保证安全的功能就是用户登录功能,登录可以验证用户的身份,用户可以注册,当密码忘记后也可以通过忘记密码功能进行找回。在用户登录界面里采用上中下的方式进行设计。在上设计的是功能的名称,在中设计的是账号和密码的输入框,在下设计的是用户注册和忘记密码功能。用户登录功能的实现界面如下图5.1所示:

 

用户注册功能的实现界面

    本功能设计的目的是帮助游客在线订餐。在注册时需要设置账号和密码。用户注册功能的实现界面如下图5.2所示:

 

首页功能的设计实现

用户登录后可进入首页,在首页里可以看到公告信息和美食信息,可以进行美食搜索和进入购物车、我的界面。首页功能的实现界面如下图5.3所示:

 

用户信息管理功能的实现界面

用户可以修改自己注册时填写的资料,可以设置头像以及是否为会员。用户信息管理功能的实现界面如下图5.4所示:

 

特色美食功能的实现界面

用户可以浏览美食信息,也可以根据美食的名称进行搜索,美食信息可以看到图片和价格,特色美食信息的实现界面如下图5.5所示:

 

网站公告功能的实现界面

用户可以在前台浏览网站公告内容,也可以搜索网站公告内容。网站公告功能的实现界面如下图5.6所示:

 

立即订购功能的实现界面

用户在前台选择喜欢的美食后可以立即订购,在订购时需要选择地址,立即订购功能的实现界面如下图5.7所示:

 

我的功能的实现界面

在我的功能里,用户可以管理订单信息,进行在线充值以及咨询客服和管理购物车信息。我的功能实现界面如下图5.8所示:

 

商家权限的功能实现

商家可以管理美食信息和订单信息,可以为用户配送。商家权限的功能实现界面如下图5.9所示:

 

管理员权限的功能实现

管理员可以管理美食类型、美食信息、订单信息、用户信息、商家信息、公告信息等。管理员权限的功能实现界面如下图5.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();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值