案例028:基于微信小程序的小说阅读器设计与实现

文末获取源码

开发语言:Java

框架:SSM

JDK版本:JDK1.8

数据库:mysql 5.7

开发软件:eclipse/myeclipse/idea

Maven包:Maven3.5.4

小程序框架:uniapp

小程序开发软件:HBuilder X

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

目录

前言

系统展示

管理员服务端功能模块

用户客户端功能模块

代码实现

登录功能实现代码

注册功能实现代码

密码重置功能实现代码

修改信息功能实现代码

删除信息功能实现代码

保存信息功能实现代码


前言

当今时代,是信息大爆炸的时代,人们每天都能接收到数不清的各类信息,其形式不仅包含传统的文字和图片,还有视频、音频等多阅读资料源也较以往增长了太多。因此市面上各种阅读类应用的用户体验参差不齐,所以设计一个通用的阅读器,小说阅读器小程序采用java开发语言、以及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();
    }
相关推荐
郭wes代码4 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
老王笔记4 小时前
GTID下复制问题和解决
mysql
Lojarro5 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
TianyaOAO6 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong6 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
web150850966416 小时前
在uniapp Vue3版本中如何解决webH5网页浏览器跨域的问题
前端·uni-app
W21557 小时前
Liunx下MySQL:表的约束
数据库·mysql
.生产的驴8 小时前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
nbsaas-boot9 小时前
探索 JSON 数据在关系型数据库中的应用:MySQL 与 SQL Server 的对比
数据库·mysql·json