案例106:基于微信小程序的小说实体书商城设计与实现

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

用户功能模块的实现

用户注册登录界面

首页界面

小说信息界面

购物车界面

我的订单界面

管理员模块的实现

管理员登录界面

小说信息管理界面

用户管理界面

订单管理界面

小说分类管理界面

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

随着互联网技术和通讯技术的快速发展、成熟,两者最终结合到了一起,即移动互联网。移动互联网时代的到来,微信的普及,致使基于微信小程序的系统越来越多,因此,针对用户手机微信购买小说书籍方面的需求,特开发了本微信小程序小说实体书商城。

本微信小程序小说实体书商城采用微信开发者工具、MYSQL数据库,基于微信平台设计开发。微信小程序小说实体书商城主要实现了用户功能模块和管理员功能模块两大部分,用户通过微信平台可进行查询小说、购买小说等,管理员可通过系统后台可对系统进行全面管理。该微信小程序小说实体书商城具有操作简单,界面清晰,管理方便,功能完善等优势,具有很高的使用价值。

"操作简单,功能实用"这是本软件设计的核心理念,本系统力求创造最好的用户体验。


系统展示

用户功能模块的实现

用户注册登录界面

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

首页界面

用户登录后进入系统首页,可查看系统信息

小说信息界面

用户在小说信息界面可查看所有小说信息,并可选择查看详情

购物车界面

用户在购物车界面可查看购物车小说信息,并可进行修改数量或者提交订单等

我的订单界面

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

管理员模块的实现

管理员登录界面

管理员要想进入系统后台进行管理操作,必须登录系统后台

小说信息管理界面

管理员在小说信息管理界面可查看已有小说信息,对已有小说信息,管理员可进行编辑和删除操作,同时管理员也可添加新的小说信息

用户管理界面

管理员可增删改查用户信息

订单管理界面

管理员在订单管理界面可查看所有订单信息,并可对其进行发货操作

小说分类管理界面

管理员可添加、修改和删除小说分类信息


代码实现

登录功能实现代码

java 复制代码
@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);
	}

注册功能实现代码

java 复制代码
@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();
    }

密码重置功能实现代码

java 复制代码
@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");
    }

修改信息功能实现代码

java 复制代码
 @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();
    }

删除信息功能实现代码

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

保存信息功能实现代码

java 复制代码
@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();
    }
相关推荐
就这个java爽!几秒前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea
一叶飘零_sweeeet5 分钟前
为什么 Feign 要用 HTTP 而不是 RPC?
java·网络协议·http·spring cloud·rpc·feign
懒洋洋大魔王25 分钟前
7.Java高级编程 多线程
java·开发语言·jvm
茶馆大橘29 分钟前
【黑马点评】已解决java.lang.NullPointerException异常
java·开发语言
星辰@Sea33 分钟前
服务注册中心对比及使用场景分析
java·云原生
马剑威(威哥爱编程)37 分钟前
除了递归算法,要如何优化实现文件搜索功能
java·开发语言·算法·递归算法·威哥爱编程·memoization
bug菌¹39 分钟前
滚雪球学SpringCloud[4.1讲]: Spring Cloud Gateway详解
java·spring cloud·微服务
MuseLss1 小时前
HashMap高频面试知识点
java·开发语言·哈希算法
tyler-泰勒1 小时前
初始c++:入门基础(完结)
java·开发语言·c++
重生之我要进大厂1 小时前
LeetCode 876
java·开发语言·数据结构·算法·leetcode