摘 要
本文首先研究并介绍选题背景及意义,在此基础上给出论文的主要研究内容,其次,对个人书籍互享小程序的需求进行了分析。再次,对个人书籍互享小程序进行了总体设计,根据其总体设计、软件架构和总体功能模块进行了详细设计,作出了业务流程图以及数据流程图。总体上把系统分为微信端和后台端,琼中微信端上用户进入本小程序可以查看我的书籍的查询和增加、我要借书、借书审批、借入记录、借出记录;后台端上管理员登录后功能有用户管理、书籍管理、借阅申请审批等最后根据详细设计的结果,运用Java技术平台并配合微信开发者工具平台和结合MySQL数据库实现了个人书籍互享小程序的信息化管理,并列出核心代码和部分主要页面。还对系统的核心功能就行了压力测试。
关键词:微信小程序;个人书籍互享;Java;MySQL
3.3功能需求分析
本个人书籍互享小程序主要实现了微信端和服务器端两部分,其具体功能介绍如下: 微信端:微信端用户进入本小程序可以查看我的书籍(查询,增加),我要借书,借书审批,借入记录,借出记录。 服务器端:服务器端管理员登录后功能有用户管理,书籍管理,借阅申请审批。
3.4 系统UML用例分析
微信端用户UML分析图如下图所示。
服务器端管理员UML分析图如下图所示。
4.1系统功能结构设计
根据上面第3章节的需求分析,得出了个人书籍互享小程序的功能结构如下图所示:
4.2.2 数据库表设计
个人书籍互享小程序需要后台MySQL数据库,下面介绍数据库中的主要数据库表的详细信息。
表4-1 book图书信息表
字段 | 描述 | 类型和长度 | 是否主键 | 是否外键 | 是否可空 |
Id | 编号 | varchar(100) | 是 | 否 | 否 |
author | 作者 | varchar(100) | 否 | 否 | 是 |
hold_wx_user_id | 用户编号 | varchar(100) | 否 | 否 | 是 |
name | 书名 | varchar(100) | 否 | 否 | 是 |
press | 出版社 | varchar(100) | 否 | 否 | 是 |
cover | 照片 | varchar(100) | 否 | 否 | 是 |
itemize | 图书分类 | varchar(100) | 否 | 否 | 是 |
表4-2 borrow借阅审核记录信息表
字段 | 描述 | 类型和长度 | 是否主键 | 是否外键 | 是否可空 |
Id | 编号 | varchar(100) | 是 | 否 | 否 |
admin_note | 管理员审核备注 | varchar(100) | 否 | 否 | 是 |
admin_result | 管理员审核结果 | varchar(100) | 否 | 否 | 是 |
admin_time | 管理员审核时间 | datetime | 否 | 否 | 是 |
book_id | 书籍编号 | varchar(100) | 否 | 否 | 是 |
borrow_time | 借书时间 | varchar(100) | 否 | 否 | 是 |
borrow_wx_user_id | 借书人微信编号 | varchar(100) | 否 | 否 | 是 |
hold_note | 持有人审核备注 | varchar(100) | 否 | 否 | 是 |
hold_result | 持有人审核结果 | varchar(100) | 否 | 否 | 是 |
hold_time | 持有人审核时间 | datetime | 否 | 否 | 是 |
status | 状态 | varchar(500) | 否 | 否 | 是 |
表4-3 user管理员信息表
字段 | 描述 | 类型和长度 | 主键 | 外键 | 是否可空 |
Id | 编号 | varchar(100) | 是 | 否 | 否 |
loginname | 登录名 | varchar(100) | 否 | 是 | 是 |
password | 密码 | varchar(100) | 否 | 否 | 是 |
表4-4 wx_user微信用户信息表
字段 | 描述 | 类型和长度 | 是否主键 | 是否外键 | 是否可空 |
Id | 编号 | varchar(500) | 是 | 否 | 否 |
avatar_url | 用户头像图片的URL | varchar(500) | 否 | 否 | 是 |
city | 所在城市 | varchar(500) | 否 | 否 | 是 |
country | 所在国家 | varchar(500) | 否 | 否 | 是 |
gender | 用户性别 | varchar(500) | 否 | 否 | 是 |
language | 所用语言 | varchar(500) | 否 | 否 | 是 |
nick_name` | 用户昵称 | varchar(500) | 否 | 否 | 是 |
province | 所在省份 | varchar(500) | 否 | 否 | 是 |