
原文链接:停车系统SpringCloud+Vue+Uniapp源码、充电桩SpringCloud源码、开源微服务架构充电桩系统、开源停车系统源码前后端分离
小程序端
PDA端
设备兼容路侧停车地磁、PDA、巡检车、高位视频桩、路牙机视频桩,平板车位锁。路内道闸场,海康、大华、臻识、华夏、芊熠、百胜、交流桩、直流桩、云快充等。
单车汽车充电桩源码
平台架构介绍
采用Java主流的微服务技术栈,基于 Spring Cloud Alibaba 的微服务解决方案进行封装的快速开发平台,包含多种常用开箱即用功能的模块,通用技术组件与服务、微服务治理,具备RBAC功能、网关统一鉴权、Xss防跨站攻击、自动生成前后端代码、支持多种存储系统、分布式事务、分布式任务调度、多租户等多个功能和模块,支持多业务系统(多服务)并行开发,平台设计灵活可扩展、可移植,可应用高并发需求,同时兼顾本地化、私有云、公有云部署,支持国产信创数据库、国产信创操作系统部署。核心技术采用 Spring Boot、 Spring Cloud Alibaba、Mybatis Plus、RabbitMQ、MinIO 等主要框架和中间件,采用 Nacos 注册和配置中心,集成流量卫兵 Sentinel ,提供了一个可支持企业各业务系统或产品快速开发实现的微服务应用数字化融合平台,让开发者能够专注于业务功能开发,降低技术难度,节省人力成本,缩短项目周期,帮助提高开发效率。
主体框架:Spring Cloud、Spring Cloud Alibaba、Spring Boot、Spring Cloud Stream、MyBatis-Plus、Alibaba Druid、Apache Dubbo、Hutool、Lombok等主流技术;
前后端分离:采用主流开发模式-前后端分离框架设计,代码风格精简,面向后端开发工程师,易于理解和上手;
统一接口管理:集成Swagger/Knife4j,可自动生成Api文档;
数据库兼容:支持 MySQL、SQLServer、Oracle、PostgreSQL等主流数据库,支持达梦、人大金仓等国产信创数据库;
国产信创操作系统:支持麒麟服务器操作系统、统信UOS、华为欧拉等国产服务器操作系统部署;
服务注册&发现与调用:使用 Nacos 作为注册中心,实现多配置、分群组、分命名空间、多业务模块的注册和发现功能;
内部调用:集成了 Open Feign 和 Apache Dubbo 两种内部调用模式,并且可以实现无缝切换;
业务熔断:采用 Sentinel 实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性,避免服务之间出现雪崩;
应用监控:利用 Spring Boot Admin 来监控各个服务的运行状态;
链路追踪:基于 SkyWalking 作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间;
用户界面
- 基于 Element-UI 平面化界面设计,精细,更加美观、高端、大气、上档次。
- 无刷新设计,除了进入功能页面和新页面,其它情况下全部采用 Ajax 交互,优化体验和性能。
- 支持一键换肤,系统右上角设置即可快速切换整个UI的风格,不仅仅是色调和样式,布局也可改变。支持自定义扩展项目独有的主题样式风格。
- 优化用户功能操作,大众思维模式,功能清晰,更加贴切和友好。
- 国际化的支持,页面标签国际化,字典菜单国际化,数据国际化。
前端开发
- 采用当前比较流行的 Vue,它的优点很多,大家可自行查阅官网介绍。
- 封装通用组件,实现基本表单控件、树选择,列表选择,文件上传,等等,总之是简化开发。
- 数据模板组件封装,自动完成分页、排序、列宽、多表头、子表、编辑表、流程发起等。
- 支持前后分离应用,方便与手机 API 接口对接,Token 方式授权。
功能及组件
- 工具类 Utils 封装优化,应有尽有,包分类层次分明,独立工具类项目。
- 在线任务调度,界面化管理,可新增,编辑、删除、暂停、恢复、运行一次等操作,支持独立数据源,分布式作业调度,调度日志监控分析查询。
- 代码生成工具操作简化及优化,支持多数据源。
- 在线查询在线人员,强踢在线账号。
整体架构
平台设计灵活可扩展、可移植、可应对高并发需求。同时兼顾本地化、私有云、公有云部署,支持SaaS模式应用。
- 采用前后端分离的模式:前端基于
vue-element-admin框架定制开发,后端采用Spring Cloud Alibaba全家桶; - 服务注册&发现与调用:基于
Nacos来实现的服务注册与发现,使用Open Feign/Dubbo RPC来实现服务互调; - 统一授权认证:基于
Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心,登录基于 spring security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的三方账号登录方式,如微信、QQ等。 - 业务熔断:采用
Sentinel实现业务流量控制、熔断降级、系统负载等多个维度保护服务的稳定性; - 应用监控:利用
Spring Boot Admin来监控各个服务的运行状态; - 链路调用监控:基于
SkyWalking作为项目的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间; - 灵活的权限控制:基于
RBAC权限管理,该功能模块下的功能用于维护企业的组织架构信息以及员工信息。主要包含了组织架构管理、部门管理、分级管理员、角色管理、岗位管理、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中; - 支持多租户:简单配置即可转为多租户模式,实现数据隔离,真实达到城市级停车运营,一个城市一套租户数据库隔离管理;
- 统一接口管理:基于
Swagger拓展的API文档服务,主要提供在平台开发阶段的API文档管理和API调试等功能。
主要技术栈
后端技术栈
- 主框架:Spring Cloud Alibaba + Spring Boot + Spring Framework
- 安全框架:Spring Cloud Security OAuth2+JWT
- 持久层框架:Mybatis-plus、Hibernate Validation、
- 数据库连接池:Alibaba Druid
- JSON序列化:Jackson&FastJSON
- 数据缓存:Redis
- 消息队列: RabbitMQ
- API网关:Spring Cloud Gateway
- 服务注册&发现和配置中心: Nacos
- 服务监控:Spring Boot Admin
- 服务消费:OpenFeign/Dubbo RPC
- 大数据检索框架:Elasticsearch+Canal+Mysql数据同步
- 日志收集:E(Elasticsearch)+L(Logstash)+K(Kibana)
- 负载均衡:Ribbon
- 服务熔断:Sentinel
- 项目构建:Maven
- 分布式事务:Seata
- 链路追踪:Skywalking
- 即时通讯:spring-boot-starter-websocket
- AOP:spring-boot-starter-aop
- 文件服务:阿里云OSS、本地存储、七牛云kodo、MinIO
前端技术栈
- Vue2 全家桶
- Element-ui
技术特色
基于Java主流开源技术构建
平台基于流行的J2EE技术栈,应用稳定的Spring Cloud微服务框架进行构建,主流开源的架构给我们带来了以下优势:
- 广泛的业界支持:流行的开源技术都是广泛使用的,是业界默认的标准。
- 提高开发效率:流行的开源技术会有大量的开发人员提供大量个性的解决方案,能更快速的找到满足需求的各种解决方案。
- 提高平台的技术稳定性:流行的开源技术已经通过大量的业务场景验证,保证了技术的成熟性,提高了平台和稳定性。
- 可维护性:流行的开源技术确保了各种社区的活跃度,可以更好的解决平台维护过程中遇到的问题。
基于微服务架构设计和扩展
城市智慧停车云平台采用微服务架构设计,平台基础模块的每一个应用功能都使用微服务完成:
- 每个服务都有一个清楚的功能边界
- 每一个后台服务开放REST API,许多服务本身也采用了其它服务提供的API
- 通过 API Gateway来统一API暴露
- 通过 Nacos 配置中心来统一管理平台服务配置
- 每个微服务可以选择独立部署和弹性资源配置
基于城市智慧停车云平台开发的应用系统,可以很容易的将业务对象作为基本单元进行纵向拆分,以交互层次作为标准进行横向拆分,从而形成多应用交互的微应用架构体系,有效的实现应用的拆分,实现敏捷开发和部署。
服务无状态
单个微服务节点的性能在大业务量时性能会遇到瓶颈,无法满足对业务系统的要求,城市智慧停车云平台服务采用无状态化设计,可以实现水平扩展部署。
前后端分离
提供完整的REST API接口,采用前后端分离技术,可以同时高效的支持移动APP、Web、小程序等应用的开发场景,同时结合Spring Security的OAuth2扩展,采用统一的认证中心,保障REST API的安全性。
架功能说明
统一安全认证中心
基于 Spring Security、Spring OAuth2、JWT 实现的统一认证服务中心,登录基于 Spring Security 的标准登录流程。客户端授权支持 oauth2.0 的四种授权模式:授权码模式、简化模式、密码模式、客户端模式,授权流程跟标准的 oauth2 流程一致。web 端采用简化模式(implicit)登录系统,移动端可使用密码模式(password)登录系统。同时还支持基于 Spring Social 的第三方账号登录方式,如微信、QQ等。
基于RBAC的权限体系
基于角色的访问控制方法(Role-Based Access Control,简称 RBAC)是目前公认的解决大型企业的统一资源访问控制的有效方法。其显著的两大特征是:
- 减小授权管理的复杂性,降低管理开销;
- 灵活地支持企业的安全策略,并对企业的变化有很大的伸缩性。
用于维护企业的组织架构信息以及员工信息。主要包含了组织信息、员工定义、组织架构、企业通讯录、通信录同步等功能。用户可在此功能模块下维护公司的组织架构信息(组织/部门/角色/岗位)和用户信息,也可以通过第三方应用(钉钉/企业微信)将组织架构信息一键导入到系统中,也可以使用组织架构和员工信息的导入功能将数据导入到系统中。
多租户实现
系统平台支持一个实例服务多个用户(Customer),每一个用户被称之为租户(tenant),软件给予租户可以对系统进行部分;支持添加多平台租户流行和租户管理,通过管理租户来实现不同平台之间的数据隔离;如Saas多租户身份验证,每个管理账号有独立数据、可配置子账户,方便多人使用或统一管理。
文件存储
支持本地存储、网络存储(minIO)、Aliyun OSS,Tencent COS等存储方案。
服务高可用
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。城市智慧停车云平台整合Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况
兼容性
停车,充电,停车系统,城市停车,智能智慧停车,停车场系统: 【功能介绍】:停车,充电,等这些功能目前都是正常的,充电桩只接入了一家,适用于,停车场,充电站,等场景,设备兼容路侧停车地磁、PDA、巡检车、高位视频桩、路牙机视频桩,平板车位锁。路内道闸场,海康、大华、臻识、华夏、芊熠、百胜、交流桩、直流桩、云快充等,本停车场系统兼容市面上主流的多家相机,理论上兼容所有硬件,可灵活扩展,②相机识别后数据自动上传到云端并记录,校验相机唯一id和硬件序列号,防止非法数据录入,③用户手机查询停车记录详情可自主缴费(支持微信,支付宝,银行接口支付,支持每个停车场指定不同的商户进行收款),支付后出场在免费时间内会自动抬杆。④支持app上查询附近停车场(导航,可用车位数,停车场费用,优惠券,评分,评论等),可预约车位。⑤断电断网支持岗亭人员使用app可接管硬件进行停车记录的录入。

