案例099:基于微信小程序的外卖小程序的研究与开发

本文介绍了基于Java和SSM框架开发的小程序,详细描述了微信端的各个功能模块,如注册登录、首页、商家界面等,以及服务端的管理功能,包括登录验证、用户和商家信息管理等,并提供了部分关键代码片段。
摘要由CSDN通过智能技术生成

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

微信端功能模块的实现

注册登录界面

首页界面

商家界面

菜品详情界面

购物车界面

我的订单界面

用户信息界面

服务端功能模块的实现

服务端登录界面

用户管理界面

商家管理界面

菜品信息管理界面

菜品分类管理界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着科技的进步,微信小程序慢慢进入了生活当中,由于轻便快捷,方便使用,基于微信这个大平台,使得小程序飞速发展,趋于成熟,因此,针对用户对外卖点餐方面的需求,特开发了本外卖小程序。

该外卖小程序分为小程序前端和Java后端系统,遵循数据前后端交互,相互分离。前端小程序应用官方提供的API文档,主要功能为查看外卖菜品信息、外卖点餐以及管理个人订单等。后端系统则是由Java语言实现,基于B/S结构,使用MySQL数据库开发,使得管理员、商家后台界面简单整洁,便于管理员和商家使用和管理。

本外卖小程序拥有界面简洁、操作简单易懂,管理方便,功能齐全等优点,具有很高的应用价值。


系统展示

微信端功能模块的实现

注册登录界面

未有账号的用户可进行注册操作,注册后可进入登录界面进行登录系统

 

首页界面

用户通过微信平台打开本外卖小程序,登录后进入了系统的首页,在首页用户可查看所有菜品 

 

商家界面

用户在商家界面可查看所有商家,并可选择查看详情 

 

菜品详情界面

用户可选择菜品查看菜品详情信息,并可进行加入购物车和立即购买操作 

 

购物车界面

用户在购物车界面可查看购物车已有菜品信息,并可对其进行删除、修改数量或者结算操作 

 

我的订单界面

用户在我的订单界面可查看个人订单信息 

 

用户信息界面

用户可修改个人信息 

 

服务端功能模块的实现

服务端登录界面

管理员和商家要想进入对于角色后台必须进行登录操作 

 

用户管理界面

管理员可进行查看、修改和删除用户信息

 

商家管理界面

管理员可增删改查商家信息

 

菜品信息管理界面

商家可增删改查菜品信息,管理员可查看、修改和删除菜品信息 

 

菜品分类管理界面

商家可增删改查菜品分类信息,管理员可查看、修改和删除菜品分类信息 

 


代码实现

登录功能实现代码

@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、付费专栏及课程。

余额充值