基于微信小程序的图书借阅管理平台-老师满意

这篇具有很好参考价值的文章主要介绍了基于微信小程序的图书借阅管理平台-老师满意。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系❤️        ⚠️一定要先收藏⚠️

 基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

第四章 系统设计

4.1 系统总体设计

基于微信小程序的图书管理系统的建设可以为图书管理提供帮助,通过对一些基础信息管理实现针对性的安排,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图所示:

系统总体结构图如下,见图4-1所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图4-1 系统总体结构图

4.2 数据库设计

数据库能直观反映表现系统的需求,数据库的设计能否切实符合系统的需求关系到整个系统最终的呈现结果。通过之前的分析梳理,明确了系统中需要包含的功能和要求。系统中除了涉及对数据库的增加、删除、查寻、修改的基础操作较多,还要理清实体间的对应关系,据此完成表结构的设计与实现。

4.2.1 数据库逻辑设计

为了更直观阐明数据库的设计,使用 Vision 绘制的基于微信小程序的图书数据模型E-R实体属性图。根据系统需求设计了以下几个主要实体。

4.2.2 数据库表设计

在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,下面介绍的是数据表各个字段信息如下表所示。

表4-1:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表4-2:关于我们

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

subtitle

varchar

200

副标题

content

longtext

4294967295

内容

picture1

varchar

200

图片1

picture2

varchar

200

图片2

picture3

varchar

200

图片3

表4-3:图书信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushufenlei

varchar

200

图书分类

fengmian

varchar

200

封面

zuozhe

varchar

200

作者

chubanshe

varchar

200

出版社

shuliang

int

数量

tushufujian

varchar

200

图书附件

xiangqing

longtext

4294967295

详情

thumbsupnum

int

0

crazilynum

int

0

clicktime

datetime

最近点击时间

clicknum

int

点击次数

0

表4-4:图书归还

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

guihaidanhao

varchar

200

归还单号

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushufenlei

varchar

200

图书分类

fengmian

varchar

200

封面

zuozhe

varchar

200

作者

shuliang

int

数量

yinghairiqi

date

应还日期

guihairiqi

date

归还日期

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

shouji

varchar

200

手机

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

userid

bigint

用户id

表4-5:图书分类

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tushufenlei

varchar

200

图书分类

表4-6:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表4-7:收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

varchar

200

图片

type

varchar

200

类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

表4-8:系统公告

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-9:图书信息评论表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

refid

bigint

关联表id

userid

bigint

用户id

avatarurl

varchar

200

头像

nickname

varchar

200

用户名

content

longtext

4294967295

评论内容

reply

longtext

4294967295

回复内容

表4-10:催还提醒

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

cuihaishuji

varchar

200

催还书籍

tixingneirong

longtext

4294967295

提醒内容

tixingshijian

datetime

提醒时间

userid

bigint

用户id

表4-11:用户

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

nianling

int

年龄

shouji

varchar

200

手机

表4-12:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-13:我的待还

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jieyuebianhao

varchar

200

借阅编号

tushubianhao

varchar

200

图书编号

tushumingcheng

varchar

200

图书名称

tushufenlei

varchar

200

图书分类

fengmian

varchar

200

封面

zuozhe

varchar

200

作者

shuliang

int

数量

jieyueriqi

date

借阅日期

jieyuetianshu

int

借阅天数

yinghairiqi

date

应还日期

beizhu

longtext

4294967295

备注

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

shouji

varchar

200

手机

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

userid

bigint

用户id

表4-14:意见反馈

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

adminid

bigint

管理员id

ask

longtext

4294967295

提问

reply

longtext

4294967295

回复

isreply

int

是否回复

4.3 本章小结

这一章着重介绍了整个系统的设计流程。确定了系统的功能结构,并在此基础上完成了数据库的设计。

第五章 详细设计与实现

5.1系统前台功能的实现

5.1.1登录界面的实现

首先双击打开微信小程序客户端系统,连上网络之后会显示出本系统的登录界面,这是进入小程序的第初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。

登录界面如图5-1所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-1 登录界面

5.1.2注册界面的实现

第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本小程序所提供的所有功能。

注册界面如图5-2所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-2 注册界面

5.1.3小程序首页功能的实现

小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、图书信息、系统公告、我的等。系统首页界面如图5-3所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-3 小程序首页界面图

图书信息:在图书信息界面可以查看到图书名称、图书编号、封面、图书分类、作者、出版社、数量、图书附件、点击次数、详情等信息,按照提示即可完成借阅、归还、评论或收藏操作。图书信息详情如图5-4所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-4图书信息详情界面图

5.1.4用户功能

用户登录成功后,点击“我的”进入我的页面,在我的页面可以对个人中心、我的待还、图书归还、催还提醒、我的收藏管理、意见反馈等进行详细操作。用户功能界面如图5-5所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-5用户功能界面图

5.2系统后台管理员功能的实现

管理员登录,通过填写账号和密码等信息进行登录操作,如图5-6所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-6管理员登录界面图

管理员登录进入小程序可以查看个人中心、用户管理、图书分类管理、图书信息管理、我的待还管理、图书归还管理、催还提醒管理、系统管理等功能进行详细操作,如图5-7所示。

基于微信小程序的图书借阅管理平台-老师满意,微信小程序实战项目,微信小程序,小程序,java,spring,maven,mybatis

图5-7管理员功能界面图

JAVA后端代码实现

package com.controller;
 
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
 
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
 
/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;
 
	/**
	 * 登录
	 */
	@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();
    }
 
	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		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("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }
 
	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }
 
    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
 
    /**
     * 保存
     */
    @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();
    }
 
    /**
     * 修改
     */
    @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();
    }
}

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

 🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~

👇下方有我的微信名片👇文章来源地址https://www.toymoban.com/news/detail-835518.html

到了这里,关于基于微信小程序的图书借阅管理平台-老师满意的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [N-117]基于微信小程序图书馆管理系统

    开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springboot+mybatis-plus 本系统分微信小程序和管理后台两部分,项目采用前后端分离 系统主要分为两个角色:管理员和普通用户。 1.普通用户(小程序):登录、

    2024年01月15日
    浏览(49)
  • 基于微信小程序的图书馆管理系统设计与实现

                                                                         摘要 在当今社会,互联网已经开始成为时代的主流,随着信息技术的发展,人们开始越来越依赖网络。互联网也逐渐成为我们生活中必不可少的一部分,它的出现也重新定义了人们获取信息资源的

    2024年02月12日
    浏览(37)
  • 基于微信小程序的书橱+ssm图书管理后台源码和论文

    随着计算机技术的成熟,互联网的建立,如今,PC平台上有许多关于书橱方面的应用程序,但由于使用时间和地点上的限制,用户在使用上存在着种种不方便,而开发一款基于微信小程序的书橱系统,能够有效地解决这个问题。 本基于微信小程序的书橱系统采用Java技术、MY

    2024年01月20日
    浏览(32)
  • [N-116]基于微信小程序图书馆座位预约管理系统

    开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、uniapp 服务端技术:springboot+mybatis 本系统分微信小程序和管理后台两部分,项目采用前后端分离 项目功能描述:  1.微信小程序:登录、注册、主页、公告、轮播图、图书馆预

    2024年02月03日
    浏览(37)
  • 基于JAVA+SSM+微信小程序+MySql的图书捐赠管理系统设计与实现

    ✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取项目下载方式 🍅 一、项目背景介绍: 在当今社会,图书捐赠是一种普遍而有益的行为,旨

    2024年02月07日
    浏览(35)
  • 基于微信小程序的图书管理系统设计与实现(源码+lw+部署文档+讲解等)

    💗 博主介绍 :✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻 精彩专栏 推荐订阅 👇🏻 2023-2024年最值得选的微信小程序毕业设

    2024年02月07日
    浏览(27)
  • 基于SSM框架的借阅图书管理系统

    目录 一、功能 二、开发环境 三、系统项目文件组织结构 四、数据库设计 1.用户表 2.图书表 3.借阅记录表 五、页面展示 1.登录页面 2.用户端 3.管理员端 六、源码 本系统后台使用SSM框架编写,前台页面使用当前主流的Bootstrap和jQuery框架编写。 借阅图书管理系统主要实现了两

    2024年02月09日
    浏览(43)
  • 基于Java的图书借阅网站, java+springboot+vue开发的图书借阅管理系统 - 毕业设计 - 课程设计

    本程序实现图书的智能化、信息化和简单化;实现图书信息的增加、删除、修改、查找、借阅、还书、收藏的显示操作及实时数据库的提交和更改和对普通用户的增、删、改、查;提高图书管理员工作信息报送及反馈的工作效率,减轻管理员的劳动负担;提高信息的及时性和

    2024年04月28日
    浏览(57)
  • 云借阅图书管理系统[基于SSM框架的项目]

    SSM框架本学期也是刚进行完答辩,在云借阅图书管理系统的基础功能上 新增了一些功能 用来作为SSM框架的大作业进行的答辩。也是对 MyBatis框架、Spring框架、Spring MVC框架 的注解开发有了一定的理解。下面给大家展示效果图,有对这个项目感兴趣的可以到我的 下载资源 里下

    2024年02月05日
    浏览(104)
  • 第七章:借阅管理【基于Servlet+JSP的图书管理系统】

    1.1 查询借书卡   借书卡在正常的 CRUD 操作的基础上,我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息,如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息 然后就是在Dao中处理的时候需要考虑根据当前登录用户查

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包