基于Spring Cloud + VUE 3开源的Java基础框架,开箱即用!打造一体化数字平台

项目介绍

今天给大家推荐一套由软开企服开源免费、定位于企业数字化底座的高效多租户私有化平台架构——JVS基础框架。JVS是一个面向软件开发团队的企业级应用构建基础脚手架,提供开箱即用的基础功能集成,集成了账户管理、租户管理、用户权限体系、三方登录、环境配置、业务日志等核心能力,支持对接低代码平台与数据中台,助力企业快速实现数字化转型 。JVS基于主流的Spring Cloud微服务架构与Vue前端技术栈,具备高度的灵活性和可扩展性,支持原生应用开发与低代码/无代码的轻应用配置,兼顾传统编码与可视化搭建的双重需求。

项目使命

JVS的使命是降低中小型研发团队构建基础框架的成本与难度,通过提供完整的企业级数字化底座解决方案,让开发者避免重复“造轮子”。框架致力于成为“技术普惠型”开源产品,结合私有化部署能力和源码开放,帮助企业快速搭建稳定、安全、可扩展的服务平台 。

应用场景

  • 企业自动化管理解决方案
  • 智能制造与工业自动化领域的应用
  • 物联网(IoT)与大数据分析场景
  • 企业员工协同智能办公
  • 行业支持系统定制化解决方案

功能模块

JVS提供的基础模块涵盖企业级应用的核心需求 :

1、用户与权限管理

  • 基于RBAC模型的用户、角色、菜单权限体系,支持数据权限控制(按组织架构或自定义规则)。
  • 基于RBAC(Role-Based Access Control)与ABAC(Attribute-Based Access Control)混合模型,实现细粒度的权限分配与访问控制,支持权限的动态调整与审计。
  • 支持多租户,用户与租户可为多对多关系(参考的钉钉模式)。

2、租户管理

  • 支持多租户架构,每个租户是独立的数据隔离空间,可以配置系统名称、Logo、登录页、域名等,租户管理员可自主管理组织架构。

3、认证与登录

  • 支持用户名密码、手机动态码、三方登录(钉钉、企业微信、微信公众号、LDAP),提供单点登录(SSO)对接能力。

4、应用管理

  • 支持原生应用(代码开发)、轻应用(低代码配置)、混合应用三类运行模式,按应用独立配置登录界面。

5、系统管理

  • 包含组织架构、岗位管理、群组管理、字典管理(普通字典与树形字典)、正则表达式库、公告管理等功能。

6、消息中心

  • 统一消息推送,支持站内信、邮件、短信、IM消息,基于WebSocket实现实时通信。

7、日志与审计

  • 支持多级别日志记录,可以记录请求日志、登录日志(IP、浏览器、登录方式),支持行为追踪与安全审计。

8、环境变量:

  • 环境变量是全局的,整个系统体系都可以使用,环境变量同时具有租户属性,不同租户下的环境变量数据是隔离的。在低代码、逻辑编排中都可以使用。

9、引擎支撑(低代码套件) :

  • 表单引擎、流程引擎、列表引擎、图表引擎、逻辑引擎等,助力快速配置轻应用。

10、运维支持和API

  • 统一文件管理、分布式定时任务(XXL-Job)、链路追踪(Skywalking)、API限流(Sentinel)。
  • 资源路径管理:负责实现文件的精细化存储与访问鉴权治理。通过预定义的路径规则,系统能够将不同业务类型(如图片、文档、日志、公共素材等)的文件按预设策略进行物理隔离存储,并为每条路径配置独立的安全访问策略。
  • 网关自定义路由:根据规则将请求分发到正确的服务,所有客户端请求都先到达这里,然后根据请求路径,准确地将其指引到相应的后端服务。
  • 凭证管理:用于创建和管理第三方系统调用本平台API的访问凭证。每个凭证包含认证信息、访问限制和权限范围等配置。

功能特点

  1. 开箱即用:基于Docker容器化部署,简化环境搭建;提供100%源码,支持私有化部署 。
  2. 代码与技术通用性:采用Spring Cloud Alibaba + Vue/Element-UI主流技术栈,降低人员学习成本,易于招聘与维护 。
  3. 高性能:微服务架构支持分布式扩展,接口响应高效(实测在普通网络环境下延迟低至毫秒级) 。
  4. 灵活的应用模式:支持原生开发、低代码配置、混合应用,满足不同复杂度业务需求 。
  5. 企业级组件集成:预置知识库、任务协同、OA、CRM等应用Demo,加速项目落地 。
  6. 文档完善:提供详尽的开发文档、API参考与最佳实践指南。

项目技术栈

组件名称

组件作用

开源协议

表现层(前端)

EsLint

前端代码质量检测

MIT

Vuex

前端框架

MIT

Element-ui

前端组件库

MIT

Crypto-Js

前端加密

BSD

axios

基于promise用于浏览器和node.js的http客户端

MIT

data-set

前端数据绑定

MIT

vue-router

前端路由

MIT

v-charts

图形化组件渲染

MIT

E-charts

图形化组件渲染

Apache 2.0

WebPack

前端代码打包

MIT

G2

图形化组件渲染

MIT

G6

图形化组件渲染

MIT

组件归属

组件名称

组件作用

开源协议

应用逻辑层(后端框架)

Lombok

代码精简

MIT

Mybatis plus

数据持久层

Apache 2.0

Hutool

底层工具集

木兰宽松许可证 V2

Swagger

在线接口文档

Apache 2.0

Groovy

敏捷脚本语言

Apache 2.0

Spring boot

基础脚手架

Apache 2.0

spring cloud alibaba

微服务框架

Apache 2.0

Xxl-job

定时任务

GNU 3.0

通过端口调用

Nacos

注册中心

Apache 2.0

Sentinel

接口限流

Apache 2.0

seata

分布式事务处理

Apache 2.0

Skywalking

链路跟踪

Apache 2.0

Redisson

分布式锁

Apache 2.0

RabbitMq

消息队列

MPL 1.1

Kafka

分布式消息队列

Apache 2.0

组件归属

组件名称

组件作用

开源协议

数据存储层

ElasticSearch

文件搜索引擎(日志、打文本)

Apache 2.0

Mongo

分布式文件存储数据库

Apache 2.0

Mysql

关系型数据库

GPL

通过端口调用

MariaDB

MYSQL集群

GNU 2.0

通过端口调用

mycat

数据分库

Redis

高性能的key-value数据库

BSD 3

组件归属

组件名称

组件作用

开源协议

运维支持层

Docker

容器

Apache 2.0

demo功能演示

全部评论

相关推荐

原文发布于个人博客 liuhongwei dot org,访问以获得更好的阅读体验❤️Time is Tight一年多前,我开始学前端开发,时间虽然很遥远,我的技术水平却一直没能够让我自信地去面试。转眼到了大三,实习不可避免地被提上日程,终于在潦草匆忙地写了写项目后,修修改改简历开始了投递。You Miss 100% of the Shots You Don't Take投递时,我并不觉得我的简历会拿到很多面试,所以选择了海投,也没有因为是大厂而不去投递,对我来说就是 “不试试怎么会知道呢” 或者 “You miss 100% of the shots you don't take“,在 Boss 直聘、实习僧、牛客上都是见到合适的岗位就打招呼/投递。前前后后总共投递了有一百多个岗位,三个软件中,直聘应该是面试最多的,其次是牛客。(这不太具有参考意义,面试的岗位,时间,简历水平都会影响约面情况,所以这可能是由于前端刚好缺人比较多,而直聘上正好是组内“直聘”)Lose Yourself始料不及的是约面试的公司主要是大厂,上周一(11 月 10 日)晚上开始投递,次日就开始约面试了,周三(11 月 12 日)就约了三场面试:第一周面试安排如上其中不乏大厂。第一个面试懂车帝,面试官真的很好,得知我第一次面试,一步步引导我表达自己的能力范围,最后也提醒需要多写技术文章和总结;字节的面试官也很好,不过我过于紧张,发挥得并不好,但是最后他也鼓励我,说我再积累一两个月应该会达到一个不错的水准,但也提醒基础不算好,最好从小厂面起,不然容易脏面评。我在第一天面完试后,觉得自己水平确实不够,立马取消了两个面试:滴滴和京东,不然周四和周五都有面试。面了头几场后,发觉面试确实需要技巧,也是需要某种“硬”实力,例如如何表达自己,如何描述一个技术,如何回答一些开放性的问题,其中也涉及八股的拷问如何讲解,如何展现自己的技术与能力。面试的结果不一定能衡量一个人的能力,但良好的面试技巧可以“提升”一个人的能力。取消两个面试痛定思痛后,决定精进自己的八股,并及时复盘面试。有意思的是懂车帝在当天晚上通知我过了一面,这无疑是给了我一个机会,我更需要抓住了。这里应播放《Lose Yourself》哈哈,近乎疯狂地背了两天八股,到了周末,我却看起了《浪潮之巅》…不过这都不重要了,我个人基础虽说不算好,也不至于太差,故所谓的八股不过是在我原有的知识基础上拓展,并没有存在知识点“脱节”的情况,加上 AI 的加持,理解知识的速度很快。接着到了周一周二,一场场面试袭来,每一场我都尽量努力复盘,面试的反馈还是比较明显的,我能感觉到面试官对我的评价会因表现而不同,特别是京东 Young 一面面试官反而说我的基础还不错,其实是刚好问得都会,也接触过相关八股。到了周三终于达到高潮,一天面了四场,其中百度一面二面仅间隔十来分钟,更是对心智的考验。如同修炼一般,最后达到一个相对熟练的状态,周三后面试前甚至没有太准备,也主要有我个人的懒惰了,以至于面完后,就想着就这样吧,实在不行就去中小厂积累经验。Fail as You Like在这如同期末周一般的面试周中,我却不会像以往期末周那样厌倦,是因为我对前端确实是感兴趣的,也能感觉到不同的面试官对于一个人能力的考察是多元的,并不只是看技术能力,我也享受在此过程中慢慢改进自己的过程,中间也意识到了很多很多自己的不足,特别是那些无法短期内改变的。面试过程中,有三个失败我觉得尤为关键,而正是这三个失败对我未来有很多的启发,希望有所启发:实习要趁早:如果能回到过去,我会在更早的时间去面试,去实习,倒不是说愿意早一些时候成为打工人一员,而是通过面试发现自己的能力不足在哪,体验一下真正工业界需要的能力有什么,以及自己追求的到底是什么。面试得准备:我真的是天真到头了,以为面试只是对自己能力的展现,并没有特别准备面试,对于八股,只是大概看了看面经,觉得可以回答个七七八八就觉得差不多,结果自然是亡羊补牢,为时略晚。这里有个小 Tips,使用 AI 来拷问自己的简历,和用 AI 来问常考的八股,并进行相应的知识补充。能力需积累:百度二面的面试官和我交流的时候有些走神,我以为她在忙工作,后面她提到我最近的一次 commit 改的代码背后的原理,我才明白原来她在看我的 GitHub 的提交记录,我想她大概把所有代码提交都看了看吧。且不提面试过程中对于最直接的代码提交考察(aka 日常积累的展现)我以为所有的思考积淀,无论是否技术相关,都会在面试中以某种方式展现。以上为抛砖引玉,下面推荐一些资源:Zack Wu 的《校招面试不完全指南》Web Worker 播客的校招系列CSDIY…
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务