第3章 系统设计
3.1系统功能结构设计
本系统的结构分为管理员和用户、店长。本系统的功能结构图如下图3.1所示:
图3.1系统功能结构图
3.2数据库设计
本系统为小程序类的预约平台,所以对信息的安全和稳定要求非常高。为了解决本问题,采用前端界面展示,后端数据处理的方式进行设计。在后端数据的存储中采用Mysql数据库进行设计。数据库设计分为ER图设计和数据库表设计。
3.2.1数据ER图设计
本系统中的数据种类非常多,想要把数据都有效的关联起来就需要注意数据之间的联系。因为数据之间都有联系,所以在数据库的操作中不能任意的删除,如果删除了一方的数据会造成系统的出错。
本系统中的数据有用户信息、管理员信息、预约信息、打印店信息和打印服务信息等。
-
管理员信息的ER图如下图3.2所示:
图3.2管理员信息ER图
(2)用户信息ER图如下图3.3所示:
图3.3用户信息ER图
(3)打印店信息ER图如下图3.4所示:
图3.4打印店信息ER图
(4)打印服务信息ER图如下图3.5所示:
图3.5打印服务信息ER图
(5)预约信息ER图如下图3.6所示:
图3.6预约信息ER图
3.2.2数据库表设计
数据库表的设计质量关系着系统的运行是否稳定,一个好的数据库表可以保证系统数据的正确处理,数据库表中设计了数据的分类和主外键、长度等信息。根据系统的ER图设计中本系统的数据库表有管理员信息表、打印店信息表、预约信息表、打印服务信息表、用户信息表等,具体的表详情如下表3.1-3.11所示:
表3.1 config
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | name | varchar | 100 | 否 | ||||||
3 | value | varchar | 100 | 是 |
表3.2 dayindian
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | dianzhangzhanghao | varchar | 200 | 是 | ||||||
4 | dianpumingcheng | varchar | 200 | 是 | ||||||
5 | dianpudizhi | varchar | 200 | 是 | ||||||
6 | dianzhangxingming | varchar | 200 | 是 | ||||||
7 | lianxishouji | varchar | 200 | 是 | ||||||
8 | dianputupian | varchar | 200 | 是 | ||||||
9 | zhuyingyewu | varchar | 200 | 是 | ||||||
10 | yingyeshijian | varchar | 200 | 是 | ||||||
11 | dianpujianjie | longtext | 是 |
表3.3 dayinfuwu
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | fuwumingcheng | varchar | 200 | 否 | ||||||
4 | fuwufengmian | varchar | 200 | 是 | ||||||
5 | fuwuleixing | varchar | 200 | 否 | ||||||
6 | zhizhangleixing | varchar | 200 | 否 | ||||||
7 | fuwujiage | varchar | 200 | 是 | ||||||
8 | zhuyishixiang | varchar | 200 | 是 | ||||||
9 | fuwuxiangqing | longtext | 是 | |||||||
10 | dianzhangzhanghao | varchar | 200 | 是 | ||||||
11 | dianpumingcheng | varchar | 200 | 是 | ||||||
12 | lianxishouji | varchar | 200 | 是 |
表3.4 dianzhang
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | dianzhangzhanghao | varchar | 200 | 否 | ||||||
4 | mima | varchar | 200 | 否 | ||||||
5 | dianpumingcheng | varchar | 200 | 否 | ||||||
6 | dianpudizhi | varchar | 200 | 否 | ||||||
7 | dianzhangxingming | varchar | 200 | 是 | ||||||
8 | xingbie | varchar | 200 | 是 | ||||||
9 | youxiang | varchar | 200 | 是 | ||||||
10 | lianxishouji | varchar | 200 | 是 | ||||||
11 | xiangpian | varchar | 200 | 是 |
表3.5 fuwuleixing
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | fuwuleixing | varchar | 200 | 否 |
表3.6 news
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | title | varchar | 200 | 否 | ||||||
4 | introduction | longtext | 是 | |||||||
5 | picture | varchar | 200 | 否 | ||||||
6 | content | longtext | 否 |
表3.7 storeup
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | userid | bigint | 20 | 否 | ||||||
4 | refid | bigint | 20 | 是 | ||||||
5 | tablename | varchar | 200 | 是 | ||||||
6 | name | varchar | 200 | 否 | ||||||
7 | picture | varchar | 200 | 否 | ||||||
8 | type | varchar | 200 | 是 | 1 | |||||
9 | inteltype | varchar | 200 | 是 |
表3.8 token
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | userid | bigint | 20 | 否 | ||||||
3 | username | varchar | 100 | 否 | ||||||
4 | tablename | varchar | 100 | 是 | ||||||
5 | role | varchar | 100 | 是 | ||||||
6 | token | varchar | 200 | 否 | ||||||
7 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
8 | expiratedtime | timestamp | 否 | CURRENT_TIMESTAMP |
表3.9 users
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |||
2 | username | varchar | 100 | 否 | ||||||
3 | password | varchar | 100 | 否 | ||||||
4 | role | varchar | 100 | 是 | 管理员 | |||||
5 | addtime | timestamp | 否 | CURRENT_TIMESTAMP |
表3.10 yonghu
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_incr | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | zhanghao | varchar | 200 | 否 | ||||||
4 | mima | varchar | 200 | 否 | ||||||
5 | xingming | varchar | 200 | 否 | ||||||
6 | xingbie | varchar | 200 | 是 | ||||||
7 | youxiang | varchar | 200 | 是 | ||||||
8 | shoujihaoma | varchar | 200 | 是 | ||||||
9 | xiangpian | varchar | 200 | 是 |
表3.11 yuyuedayin
序号 | 列名 | 数据类型 | 长度 | 小数位 | 标识 | 主键 | 外键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto | |||
2 | addtime | timestamp | 否 | CURRENT_TIMESTAMP | ||||||
3 | fuwumingcheng | varchar | 200 | 否 | ||||||
4 | fuwuleixing | varchar | 200 | 否 | ||||||
5 | zhizhangleixing | varchar | 200 | 否 | ||||||
6 | fuwujiage | varchar | 200 | 是 | ||||||
7 | zhuyishixiang | varchar | 200 | 是 | ||||||
8 | dianzhangzhanghao | varchar | 200 | 是 | ||||||
9 | dianpumingcheng | varchar | 200 | 是 | ||||||
10 | lianxishouji | varchar | 200 | 是 | ||||||
11 | dayintupian | varchar | 200 | 是 | ||||||
12 | dayinneirong | varchar | 200 | 是 | ||||||
13 | zhanghao | varchar | 200 | 是 | ||||||
14 | xingming | varchar | 200 | 是 | ||||||
15 | xiadanshijian | datetime | 是 | |||||||
16 | sfsh | varchar | 200 | 是 | 否 | |||||
17 | shhf | longtext | 是 | |||||||
18 | ispay | varchar | 200 | 是 | 未支付 | |||||
19 | userid | bigint | 20 | 是 |
第4章 系统详细实现
4.1登录功能模块的界面实现
在系统调试运行后,可以进入本界面,本界面是最基本的功能,可以保证系统的安全,采用验证的安全机制进行设计。在本界面里可以看到账号和密码的输入框。本系统中的登录权限为普通用户。必须三种信息都正确才可以验证成功进入到对应的操作界面。系统的登录功能模块的实现界面如下图4.1所示:
图4.1系统登录功能的实现界面
4.2管理员操作界面的功能模块实现
4.2.1个人中心管理功能模块的界面实现
本功能的设计可以保证管理员账号的安全,使用本功能可以修改管理员的登录密码。管理员修改密码功能模块的实现界面如下图4.2所示:
图4.2管理员修改密码功能的实现界面
4.2.2用户管理功能模块的界面实现
本功能可以实现用户信息的查询和删除,管理员添加用户信息功能填写正确的信息就可以实现用户信息的添加,点击用户信息管理功能可以看到系统里所有用户的信息,在添加用户信息的界面里需要填写姓名信息,当信息填写不正确就会造成用户信息添加失败。管理员管理用户信息功能的实现界面如下图4.3所示:
图4.3管理员管理用户信息的实现界面
4.2.3打印店管理功能模块的界面实现
打印店可以使用户更好的了解店铺信息。打印店信息管理的流程为,管理员点击打印店信息管理功能,查看打印店信息,点击打印店修改功能,输入打印店信息然后点击提交按钮就可以完成打印店信息的修改。管理员查询打印店信息的实现界面如下图4.4所示:
图4.4管理员查询打印店信息的实现界面
4.2.4打印服务管理功能模块的界面实现
打印服务可以帮助用户了解服务内容,管理员负责审核打印店发布的打印服务。管理员查询打印服务信息功能的实现界面如下图4.5所示:
图4.5管理员查询打印服务信息的界面实现
4.2.5预约打印管理功能模块的界面实现
预约打印信息属于本系统里的核心数据,管理员可以对预约打印的信息进行查询。本功能设计的目的可以使预约打印进行及时的安排。管理员查询预约打印信息的实现界面如下图4.6所示:
图4.6管理员查询预约打印信息功能的实现界面
4.2.6店长管理功能模块的界面实现
管理员可以查询店长信息,可以进行修改删除。管理员查询店长信息的实现界面如下图4.7所示:
图4.7管理员查询店长信息的实现界面
4.3用户角色的操作界面实现
用户可以查看自己的预约和修改自己的资料并管理收藏信息。用户角色的操作界面的实现效果如下图4.8所示:
图4.8用户操作界面的实现效果
4.4首页界面的操作功能实现
在首页里可以看到管理员添加和管理的信息,用户可以在首页里进行打印的预约和打印店信息的了解。首页界面的实现如下图4.9所示:
图4.9首页界面的实现效果
4.5店长角色功能的界面实现
店长可以发布打印店信息和打印服务信息以及管理预约打印。实现界面如下图4.10所示:
图4.10店长角色的功能实现界面