功能介绍
- 用户功能
登录注册:用户可以创建账户,登录系统进行预约挂号等操作。
个人中心:展示用户个人信息,允许用户更新个人资料。
我的收藏:用户可以收藏喜欢的医生或科室,便于快速预约。
咨询信息:用户可以查看医疗咨询信息,获取健康知识。
在线预约:用户可在线进行预约挂号,选择医生和预约时间(提供自动回复!)。
疑问咨询:提供在线咨询功能,用户可以向医生提问。
值班医生预约:特定时间段内,用户可以预约值班医生进行咨询或治疗。 - 医生功能
注册登录:医生可注册账户,登录系统查看和管理预约信息。
查看资讯:医生可以查看最新的医疗资讯和研究信息。
个人中心:医生可以管理自己的个人信息和服务设置。
我的收藏:医生可以收藏重要信息或文章。
挂号管理:管理患者的挂号信息,包括预约情况和取消挂号。
科室信息:医生可查看和更新所属科室的信息。
预约管理:管理患者预约,调整预约安排。
就诊记录:记录患者的就诊信息,包括病情分析和治疗过程。
处方信息:生成和管理患者的处方信息。
值班信息:查看和管理自己的值班安排。 - 管理员功能
登录:管理员登录系统进行管理。
轮播图管理:管理首页轮播图展示的内容。
公告信息管理:发布和管理医院公告信息。
用户管理:管理系统用户,包括用户信息审核、启用或禁用账户。
内容管理:管理医疗资讯内容,包括编辑和发布新资讯。
挂号管理:管理整个系统的挂号流程,包括预约、取消等。
科室管理:管理医院内各科室的信息,包括科室介绍、医生团队等。
医生信息管理:管理医生的注册信息,审核医生资格。
药品信息管理:管理药品目录,包括药品信息的添加、修改和删除。
预约管理:监控和管理患者的预约情况,确保预约系统正常运行。
就诊管理:管理患者就诊流程,确保医疗服务顺畅。
留言反馈管理:收集和处理用户留言和反馈,改善服务质量。
具体实现截图





技术栈
开发语言 node.js
框架:Express
前端:vue.js+ElementUi
数据库:mysql
数据库工具:Navicat/SQLyog都可以
开发运行软件:VScode/webstorm/hbuiderx均可
系统的开发框架使用Vue技术,数据库服务器使用MySQL,开发环境使用VScode。 MySQL体积较小运行十分便捷,执行命令迅速。
nodejs+vue.js+express
技术论证
本课题拟采用主流的MVC架构、MySQL数据库技术、Vue.js技术和现代网络通讯技术来完成。
- 表现层:写多个vue页面,负责接收用户请求数据和处理后的结果显示
- 控制器层:又多个控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,并处理用户请求,根据不同的处理结果发送到相应的表现层组件
- 业务逻辑层:由实现所需业务的各个业务对象组成,它们共同完成了整个所需业务的业务逻辑方法。
DAO层:由各种DAO组件构成,实现对数据库的增删改查等操作。
Vue特点:
(1) 轻量级的框架:Vue.js 能够自动追踪依赖的模板表达式和计算属性,提供 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API,使读者更加容易理解,能够更快上手。
(2) 双向数据绑定:声明式渲染是数据双向绑定的主要体现,同样也是 Vue.js 的核心,它允许采用简洁的模板语法将数据声明式渲染整合进 DOM。
(3) 组件化:在 Vue 中,父子组件通过 props 传递通信,从父向子单向传递。子组件与父组件通信,通过触发事件通知父组件改变数据。这样就形成了一个基本的父子通信模式。在开发中组件和 HTML、JavaScript 等有非常紧密的关系时,可以根据实际的需要自定义组件,使开发变得更加便利,可大量减少代码编写量。
解决的思路
采用B/S模式架构系统,开发简单,只需要连接网络即可登录本系统,不需要安装任何客户端。开发工具采用VSCode,前端采用Vue+ElementUI,后端采用Node.js,数据库采用MySQL。
涉及的技术栈
1) 前台页面:
页面结构布局采用Vue框架,可能会使用到第三方组件库Element-ui或View Design组件库、axios发送请求、html和less语法。
2) 后台服务器:
服务器搭建采用基于node的Express框架快速搭建服务器,需要引入mysql模块进行对数据库的操作
3) 数据库:
mysql数据库,Navicat可视化工具辅助操作数据库
论文目录
目 录
1 概 述 1
1.1 课题研究背景 1
1.2 课题研究意义 1
1.3 课题研究内容 2
2 系统开发环境及相关技术 3
2.1 系统开发环境 3
2.2 系统开发技术 3
2.1 nodejs简介 3
2.2 express框架 3
2.3 Vue技术 4
2.4 MySQL数据库 4
2.5 本章小结 4
3 系统需求分析 5
2.1 可行性分析 5
3.2 功能需求分析 5
3.3 系统流程分析 7
3.3.1 登录流程 7
3.3.2 添加信息流程 8
3.3.3 收藏信息流程 8
4 系统设计 9
4.1 功能模块设计 9
4.2 系统数据库设计 9
4.2.1 数据库系统 9
4.2.2 数据库概念设计 10
4.2.3 数据表设计 12
4.2.4 数据表的建立 12
5 系统实现 25
5.1系统功能实现 25
5.2后台管理员模块实现 29
5.3宠物店后台模块实现 35
6 系统测试 36
6.1软件测试过程 36
6.2测试用例 37
结 论 38
致 谢 39
参 考 文 献 40
核心代码风格
import { version } from '../../package.json'
import { Router } from 'express'
import { Op } from 'sequelize'
import toRes from '../lib/toRes'
import UsersModel from '../models/UsersModel'
import jwt from 'jsonwebtoken'
export default ({ config, db }) => {
let api = Router()
// 用户退出接口
api.all('/logout', (req, res) => {
if (!toRes.auth(req, res, '管理员')) return
req.session.destroy(err => {
toRes.session(res, 0, '退出成功!')
})
})
// 注册接口
api.post('/register', async (req, res) => {
try {
const userinfo = await UsersModel.create(req.body)
if (userinfo === null) {
toRes.session(res, -1, '注册失败!')
} else {
toRes.session(res, 0, '注册成功!')
}
} catch(err) {
toRes.session(res, 500, '服务器错误!', '', 500)
}
})
// 用户登录接口
api.post('/login', async (req, res) => {
try {
let userinfo = await UsersModel.findOne({ where: { username: req.query.username, password: req.query.password } })
if (userinfo === null) {
toRes.session(res, -1, '用户名或密码错误!')
return;
}
userinfo.dataValues.token = token
delete userinfo.dataValues.password
req.session.userinfo = userinfo
toRes.session(res, 0, '登录成功!', token)
} catch(err) {
toRes.session(res, 500, '服务器错误!', '', 500)
}
})
详细视频演示
请联系我获取更详细的演示视频
源码获取
获取源码方式
文章下方名片联系我即可~

589

被折叠的 条评论
为什么被折叠?



