文末获取源码
开发语言:Java
框架:SSM
JDK版本:JDK1.8
数据库:mysql 5.7
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.5.4
小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者
目录
前言
系统展示
用户前台功能模块(前端)
管理员功能模块(后端)
代码实现
登录功能实现代码
注册功能实现代码
密码重置功能实现代码
修改信息功能实现代码
删除信息功能实现代码
保存信息功能实现代码
随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。
本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对畅阅读微信小程序进行需求分析,得出畅阅读微信小程序主要功能。接着对畅阅读微信小程序进行总体设计和详细设计。总体设计主要包括小程序功能设计、小程序总体结构设计、小程序数据结构设计和小程序安全设计等;详细设计主要包括畅阅读微信小程序数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对畅阅读微信小程序进行了功能测试,并对测试结果进行了分析总结,得出畅阅读微信小程序存在的不足及需要改进的地方,为以后的畅阅读微信小程序维护提供了方便,同时也为今后开发类似畅阅读微信小程序提供了借鉴和帮助。
畅阅读微信小程序开发使系统能够更加方便快捷,同时也促使畅阅读微信小程序变的更加系统化、有序化。系统界面较友好,易于操作。
畅阅读微信小程序登录界面,通过填写账号、密码、登录用户类型等信息进行登录
用户注册,通过填写用户名、密码、姓名、性别、身份证、手机等信息,输入完成后选择提交即可注册成功
用户登录进入首页,可以进行首页、书城、书架、我的等功能模块的查看与操作
书城,在书城页面可以查看书籍名称、分类、字数、章节、封面、作者、价格、上架日期、是否完结、内容1、内容2、内容3等信息,进行购买,加入书架
我的,在我的页面可以查看充值信息、扣费信息、书城、购买章节、章节信息、留言板等详细信息
留言板,在留言板页面通过填写留言内容并进行添加留言
管理员通过填写用户名、密码、角色进行登录
在管理员功能页面可以查看首页、个人中心、用户管理、分类管理、充值信息管理、扣费信息管理、书城管理、购买章节管理、章节信息管理、书架管理、留言板管理、系统管理等内容进行相对应操作
用户管理,在用户列表可以查看用户名、密码、姓名、性别、头像、身份证、手机等内容,并可根据需要进行修改或删除等详细操作
分类管理,在分类列表可以查看分类等内容,并可根据需要进行修改或删除等详细操作
充值信息管理,在充值信息列表可以查看用户名、姓名、金额、日期、是否支付等信息,并可根据需要进行修改或删除等详细操作
扣费信息管理,在扣费信息列表可以查看用户名、姓名、金额、备注、日期等内容,并可根据需要进行修改或删除等详细操作
书城管理,在书城列表可以查看书籍名称、分类、封面、字数、章节、内容1、内容2、内容3、作者、价格、上架日期、是否完结等内容,并可根据需要进行修改或删除等详细操作
购买章节管理,在购买章节列表可以查看书籍名称、分类、封面、价格、购买日期、用户名、姓名、是否支付等内容,并可根据需要进行发货,修改或删除等详细操作
章节信息管理,在章节信息列表可以查看书籍名称、分类、用户名、姓名、文件、发货日期等内容,并可根据需要进行修改或删除等详细操作
书架管理,在书架列表可以查看书籍名称、分类、字数、章节、用户名、封面等内容,并可根据需要进行修改或删除等详细操作
留言板管理,在留言板列表可以查看用户名、留言内容、回复内容等内容,并可根据需要进行回复,删除等详细操作
系统管理,在轮播图列表可以查看名称、值等内容,并可根据需要进行修改或删除等详细操作
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper().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().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().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().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().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}