技术架构图
前端工具及环境
名称 | 版本 | 介绍 |
---|---|---|
NodeJS | 16.13.2 | 开源、跨平台的 JavaScript 运行时环境 |
Npm | 8.1.2 | npm包管理工具可以快速引入别人开发好的工具包进行使用 |
Webpack | 4.0.0 | 打包工具 |
Vue | 2.6.14 | Vue 的核心库只关注视图层,易于上手,便于与第三方库或既有项目整合。 |
Vue-element-admin | 3.11.0 | 为了加快项目的开发,前端项目直接使用开源的优秀管理系统前端模板vue-element-admin,其内置了动态路由,权限验证,提炼了典型的业务模型,封装了快捷的请求方法,提供了丰富的功能组件,可以帮助我们快速搭建管理系统。 |
Echarts | 4.2.1 | Echarts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表,系统首页的柱形图、饼图 、条形图、折线图……需要使用Echarts来进行绘制。 |
dhtmlx-gantt | 7.1.13 | dhtmlx-gantt提供了一套完整的Ajax驱动的UI 组件,可以帮助我们简洁地绘制每日排班对应甘特图。 |
tinymce | 5.8.2 | tinymce是一款易用、组件丰富、支持多语言的富文本编辑器,可以帮助企业、门店管理员编辑出更加美观的文本通知。 |
小程序工具及环境
名称 | 版本 | 介绍 |
---|---|---|
uni-app | 3.7.9 | Uni-app 使用 Vue.js 开发所有前端应用,基于通用的前端技术栈,采用 vue 语法+微信小程序 api,无额外学习成本,开发成本低。 |
微信开发者工具 | 1.06.2303220 | 微信开发者工具,开发人员可以简单和高效地开发和调试微信小程序。 |
Vant Weapp | 1.10.15 | Vant 是一个轻量、可靠的移动端组件库,提供优美高质量的组件,性能极佳。 |
后端工具及环境
名称 | 版本 | 介绍 |
---|---|---|
Java | 1.8 | Java语言功能强大和简单易用,拥有众多成熟的web开发工具,非常适合用来写后台服务 |
Maven | 3.6.3 | 通过pom.xml文件的配置获取jar包,不用手动添加jar包,提高开发效率,同时帮助团队将项目进行打包 |
MySql | 8.0.27 | 一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,增加了速度并提高了灵活性 |
SpringBoot | 2.1.8.RELEASE | Spring Boot是Spring的一套快速配置脚手架,抛弃了繁琐的xml配置过程,使用默认大于配置的理念,可基于Spring Boot快速开发单个微服务 |
MyBatis Plus | 3.2.0 | 内置通用 Mapper、通用 Service,通过少量配置即可实现数据表的大部分增删改查操作,将开发人员从繁琐的简单代码中解放出来,开发人员可以将更多精力投入到复杂的业务代码实现中 |
Swagger | 2.9.2 | 使用 Swagger 可以直接通过代码生成文档,不需要手动编写接口文档;支持接口在线测试,请求参数和格式都定义好了,只需要输入参数对应的值即可完成测试,提高接口测试效率,同时提高前后端的对接效率 |
Redis | 6.0.10 | Redis是支持网络交互的、基于内存、可持久化的键值对数据库,用来实现数据缓存 |
Redisson | 3.17.5 | 用来实现分布式锁 |
SpringSecurity | 2.1.8.RELEASE | 登录验证、权限验证、防止常见攻击 |
SpringCloud | Greenwich.SR6 | 很多技术框架的集合,帮助开发者方便、快捷地实现微服务操作 |
SpringCloud Alibaba | 2.1.0.RELEASE | SpringCloud部分组件停止维护更新,给开发带来不便,且部分环境搭建复杂,没有完善的可视化界面。SpringCloud Alibaba的组件经历了大量的考验,性能强悍,设计更加合理,且组件搭配完善的可视化界面,给开发运维带来了便利 |
SpringCloud Gateway | 2.1.0.RELEASE | 可用来做请求转发、负载均衡、流量限制、熔断降级、黑白名单、流量染色、统一接口保护、灰色发布、统一业务处理、统一处理跨域 |
SpringCloud Seata | 2.1.0.RELEASE | 分布式事务的解决方案 |
Nacos | 2.0.3 | 服务注册、服务发现、配置中心 |
Spring Cache | 2.1.8.RELEASE | 允许使用注解的方式来使用缓存,提高开发效率 |
WebSocket | 9.0.39 | 用来解决服务端主动向客户端推送数据的问题,任务计算成功通知前端 |
RabbitMq | 5.9.0 | 帮助我们进行应用解耦、流量削峰 |
Jwt | 0.7.0 | JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个token,并且这个token带有签名信息,接收后可以校验是否被篡改,可以用于在各方之间安全地将信息传输 |
Fastjson | 1.2.80 | FastJson是阿里巴巴的开源库,支持将java bean序列化为json字符串,也支持将json字符串反序列化成java bean,且速度非常快 |
Lombok | 1.18.8 | 可以通过注解的方式减少get、set方法、构造方法的代码。让代码更加简洁,同时让后台开发更加高效 |
Calendarist | 1.0.9 | 日历工具,帮助我们进行新历、农历转换 |
Quartz | 2.1.8.RELEASE | @Schedule注解不能处理复杂定时任务,Quartz具有更高的灵活性,可以处理复杂业务 |
Druid | 1.1.10 | Druid 是阿里巴巴开源的数据库连接池,它是一个高效的并发连接管理工具,可大幅提升应用程序的数据库访问效率,且功能丰富,含有防火墙、拦截器、监控、监测慢SQL等功能。在使用Quartz配置文件中使用 |
Hikari | 3.2.0 | Hikari连接池的特点就是快,虽然功能少于Druid,但是速度比Druid快。本系统中的服务模块连接数据库都是使用Hikari,Hikari也是SpringBoot推荐的数据库连接池 |
Poi | 4.0.0 | 一个读写xlsx文件的工具,帮助我们从excel表格中导入不同时间段的客流量数据 |
Cron-utils | 9.2.0 | Cron-utils可以根据传入的时间参数生成cron表达式,与SpringQuartz配合来帮助我们完成定时通知业务的开发 |
Devtools | 2.1.8.RELEASE | 项目热部署工具,用debug方式启动,修改代码之后无需重启服务,重新编译代码即可,帮助团队提高开发效率,减少服务重启所浪费的时间 |
Oshi | 6.0.0 | Oshi是一个免费的基于 JNA(本机)的 Java 操作系统和硬件信息库。可以获取操作系统版本、进程、内存和 CPU 使用率、磁盘和分区等信息。帮助我们在web端系统完成对服务器的监控 |
第三方服务
名称 | 版本 | 介绍 |
---|---|---|
OSS | 2.2.0.RELEASE | 帮助我们更高效地存储图片资源,降低服务器的压力 |
SpringMail | 2.1.8.RELEASE | 相较于短信发送服务,邮件发送服务免费,可以降低系统的通知成本 |
微信登录 | OAuth2.0是一个关于授权的开放网络标准,允许用户授权第三方应用访问他们所开放的信息,而不需要提供用户名和密码。通过绑定系统账户和微信账号,web用户可以通过微信扫码快捷登录智能排班系统,小程序用户可以快速获取微信信息登录小程序,无需进行账号密码的输入 |