基于springboot+vue实现的在线医疗问答平台 (源码+L文+ppt)4-088
4 系统设计
4.1 功能模块设计
在线医疗问答平台根据权限类型进行分类,主要可分为用户、医生和管理员三大模块。用户、医生模块主要实现了修改个人信息,查看公告信息、医疗问答等操作,加强了用户的操作体验。管理员模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范[11]。系统总体模块设计如下图所示:
图4-1 系统总体模块设计
4.2 系统数据库设计
4.2.1 数据库系统
本系统采用MySQL来进行数据库的管理。基于WEB的MySQL体积小、速度快、成本低,能够及时处理上千万条记录,初步满足和支持大型的数据库高并发的读写和高效率读写等要求。
4.2.2 数据库概念设计
概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们往往把现实世界抽象成信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从现实世界到机器世界的中间层。
信息世界的基本要素包括实体和关联。实体(entity) 客观存在并可相互区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体E-R如下:
用户信息E-R图如下图4-2所示。
图4-2用户信息E-R图
回复信息E-R图如下图4-3所示。
图4-3回复信息E-R图
医生信息E-R图如下图4-4所示。
图4-4医生信息E-R图
问题信息E-R图如下图4-5所示。
图4-5问题信息E-R图
在线医疗问答平台总体E-R图如下图4-6所示。
图4-6在线医疗问答平台总体E-R图
4.2.3 数据表设计(共13张表)
本管理系统的数据表的设计根据管理过程中的具体流程所需,方便了管理员对数据进行添加、删除、修改和查询的操作。
4.2.4 数据表的建立
系统使用MySQL工具对数据库进行操作,它有着简便的数据库管理操作以及强大的数据处理能力。以下是数据表的建立情况:
表4-1:医疗问答
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
userid | bigint |
| 用户id |
|
|
adminid | bigint |
| 管理员id |
|
|
ask | longtext | 4294967295 | 提问 |
|
|
reply | longtext | 4294967295 | 回复 |
|
|
isreply | int |
| 是否回复 |
|
|
表4-2:问题信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
wentibiaoti | varchar | 200 | 问题标题 |
|
|
wentineirong | longtext | 4294967295 | 问题内容 |
|
|
yishenggonghao | varchar | 200 | 医生工号 |
|
|
yishengxingming | varchar | 200 | 医生姓名 |
|
|
tupian | longtext | 4294967295 | 图片 |
|
|
zhanghao | varchar | 200 | 账号 |
|
|
xingming | varchar | 200 | 姓名 |
|
|
tiwenshijian | datetime |
| 提问时间 |
|
|
zhuangtai | varchar | 200 | 状态 |
|
|
此处省略10张表。。。
表4-13:医生
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint |
| 主键 | 主键 |
|
addtime | timestamp |
| 创建时间 |
| CURRENT_TIMESTAMP |
yishenggonghao | varchar | 200 | 医生工号 |
|
|
mima | varchar | 200 | 密码 |
|
|
xingbie | varchar | 200 | 性别 |
|
|
yishengxingming | varchar | 200 | 医生姓名 |
|
|
zhicheng | varchar | 200 | 职称 |
|
|
dianhua | varchar | 200 | 电话 |
|
|
zhaopian | longtext | 4294967295 | 照片 |
|
|
yishengjianjie | longtext | 4294967295 | 医生简介 |
|
|
discussnum | int |
| 评论数 |
| 0 |
storeupnum | int |
| 收藏数 |
| 0 |
5 系统实现
5.1前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到在线医疗问答平台的导航条显示首页、医生、公告信息、医疗问答、个人中心等,如图5-1所示。
图5-1前台功能界面图
在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。如图5-2所示。
图5-2用户注册界面图
在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示。
图5-3用户登录界面图
用户点击医生,在医生页面可以查看医生工号、性别、医生姓名、职称、电话、照片、评论数、收藏数等信息,还可以进行在线咨询、收藏或者评论等操作,如图5-4所示。
图5-4医生界面图
用户点击公告信息,在公告信息页面的查询栏输入标题,进行查询,然后可以查看公告信息等,还可以可以进行收藏或者点赞等操作;如图5-5所示。
图5-5公告信息界面图
用户点击个人中心,在个人中心页面可以修改个人信息,还可以对修改密码、问题信息、回复信息、我的收藏进行详细操作,如图5-6所示。
图5-6个人中心界面图
5.2前台医生功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到在线医疗问答平台的导航条显示首页、医生、公告信息、医疗问答、个人中心等,如图5-7所示
图5-7前台功能界面图
在注册流程中,医生在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知医生完成注册。这个过程实现了新医生的数据收集、验证和存储。如图5-8所示。
图5-8医生注册界面图
在登录流程中,医生首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证医生凭证。如果认证成功,后端会返回给前端,允许医生访问系统。这个过程涵盖了从医生输入到系统验证和响应的全过程。如图5-9所示。
图5-9医生登录界面图
医生点击个人中心,在个人中心页面可以修改个人信息,还可以对修改密码、问题信息、回复信息、我的收藏进行详细操作,如图5-10所示。
图5-10个人中心界面图
5.3后台管理员模块实现
后台管理员登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-11所示。
图5-12 后台管理员登录界面
管理员进入系统主页面,主要功能包括对系统首页、个人中心、用户管理、医生管理、问题信息管理、回复信息管理、系统管理等进行操作。如图5-13所示:
图5-13管理员主界面
用户信息功能在视图层(view层)进行交互,比如点击“添加”按钮或填写用户信息表单。这些用户信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、在、更新或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户信息功能可以看到最新的信息或相应的操作反馈。在用户信息页面的输入栏中输入账号进行查询,可以查看到用户信息详细信息,并根据需要进行查询、添加或者删除等操作。如图5-14所示。
图5-14用户管理界面图
医生信息在视图层(view层)进行交互,比如点击“添加”按钮或填写医生信息表单。这些医生信息动作被视图层捕获并作为请求发送给相应的控制器层(control1er层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查询、添加、更新或删除医生信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便医生信息可以看到最新的信息或相应的操作反馈。在医生信息页面的输入栏中输入医生工号进行查询,可以查看到医生详细信息,并根据需要进行查询、添加或者删除等操作。如图5-15所示。
图5-15医生管理界面图
管理员点击问题信息,在问题信息页面的输入问题标题、医生工号、医生姓名、图片、账号、姓名、提问时间、状态等信息,进行查询或者删除问题信息等操作,如图5-16所示。
图5-16问题信息界面图
管理员点击回复信息,在回复信息页面的对医生工号、医生姓名、问题标题、回复图片、回复时间、账号、姓名等信息,进行查询或者删除回复信息等操作,如图5-17所示。
图5-17回复信息界面图
管理员点击系统管理,在系统管理页面的对公告信息、公告信息分类、医疗问答、智能助手、轮播图管理等信息,进行详情操作,如图5-18所示。
图5-18系统管理界面图