基于乾坤的微前端+SpringBoot2.7整套解决方案的基础通用平台及组件_springboot qiankun-程序员宅基地

技术标签: 微前端  spring boot  基础组件  

所有源码均已上传github,欢迎各位star哈

介绍

包含前后端整套解决方案的企业级基础通用平台及组件

  • 前端
    • 基于 qiankun 实现的微前端基础方案
    • 主应用(main-project)基于Vue3.0+Element-plus
    • 子应用1(zp-project)基于Vue2+Element
    • 子应用2(pricefile-project)基于React18+Antd4+React-router6
      • 子应用2中包含两个项目:通过路由切换
        • 猜价攻略(/price)默认进这个路由
        • 享到(/file)
  • 后端
    • 基于Spring boot2.7.5,划分多module
    • 基础组件包含多种常用组件配置及工具类,所有组件均可插拔
      • 组件类
        • 登录校验:采用JWT,适配多端登录
        • 日志:提供多种配置项,日志异步发送平台端入库
        • 初始化:提供基础初始化实现,业务系统继承基础类即可完成初始化操作
        • WebSocket:封装WebSocket配置及实现,提供发送消息和接收消息工具类
        • 定时任务:集成xxl-job,提供配置项初始化
        • LogBack:添加traceIdrequestUrl,便于日志跟踪
        • 异常封装拦截
      • 工具类
        • RestHelper:封装RestTemplate,提供多种配置项
        • MinioHelper:封装minio实现
        • MsgPushHelper:集成PushPlus,封装消息推送逻辑
    • 通用平台提供基础功能,业务系统只需关注业务逻辑,提高生产力
      • 登录注册、用户信息更新
      • Token刷新
      • 文件上传、下载、缩略图预览、删除
      • 日志记录
      • 消息推送回调

项目模块结构

  • backend:后端源码文件夹
    • zlp-base-component:基础组件包,封装常用组件,集成多种工具类
      • autoconfig:自动配置相关类
      • config:按照内部包名存放配置信息
      • property:配置项包
      • util:工具类包
    • zlp-base-entity:基础实体模块
    • zlp-platform:通用平台,需单独部署
  • frontend:前端源码文件夹

如何使用

后端

引入基于github的个人maven仓库

<repositories>
    <repository>
        <id>mvn-repo</id>
        <!-- https://raw.github.com/用户名/仓库名/分支名 -->
        <url>https://raw.github.com/Nagisazz/mvn-repo/main</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </repository>
</repositories>

启动通用平台

直接打包zlp-platform,运行即可

业务项目集成组件

  • 定义parent
<parent>
    <groupId>com.nagisazz</groupId>
    <artifactId>zlp-base</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>
  • 引入基础组件
<dependency>
    <groupId>com.nagisazz</groupId>
    <artifactId>zlp-base-component</artifactId>
    <version>${project.version}</version>
</dependency>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Nagisazz/article/details/128728151

智能推荐

java给pdf打水印_java pdf 画水印-程序员宅基地

文章浏览阅读134次。package test3;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Calendar;import com.itextpdf.text.BaseColor;import com.itextpdf.t._java pdf 画水印

【C++】回调函数与仿函数-程序员宅基地

文章浏览阅读1.9k次,点赞8次,收藏41次。C++学习笔记–回调函数与仿函数文章目录C++学习笔记--回调函数与仿函数一、回调函数1.定义2.例子函数指针利用函数指针实现回调函数二、仿函数1.定义2.使用仿函数来实现回调函数总结使用回调函数(函数指针实现)与使用仿函数优缺点比较一、回调函数1.定义我们先看百度百科定义:回调函数就是一个被作为参数传递的函数。在C语言中,回调函数只能使用函数指针实现,在C++、Python、ECMAScript等更现代的编程语言中还可以使用仿函数或匿名函数。为什么需要一个被作为参数传递的函数? 在实际需求中,往_回调函数与仿函数

PHPStorm/IntelliJ Idea不能选择 php language level 问题_在“php language level”选项下,没有7.4-程序员宅基地

文章浏览阅读436次。Preferences > Languages & Frameworks > PHP. 发现php language level 是 php 5.4 。 这是phpstorm 默认的设置,我们改成7.1 及以上就可以了。这时有的朋友会发现,这里没法改呀。 那我们需要先修改一下别的地方,然后再回来改这里。 还是同样的路径 Preferences > Languages & Frameworks > PHP > Composer 。 找到Synchr_在“php language level”选项下,没有7.4

Authentication failed due to invalid credentials with brokers older than 1.0.0,_authentication failed during authentication due to-程序员宅基地

文章浏览阅读1.3w次,点赞2次,收藏2次。Connection to node -1) terminated during authentication. This may happen due to any of the following reasons: (1) Authentication failed due to invalid credentials with brokers older than 1.0.0, (2) Firewall blocking Kafka TLS traffic (eg it may only allow _authentication failed during authentication due to invalid credentials with

一文总结十大经典排序算法(思维导图 + 动图演示 + 代码实现 C/C++/Python + 致命吐槽)_排序算法思维导图-程序员宅基地

文章浏览阅读1.2w次,点赞86次,收藏587次。冒泡排序void Swap( ElementType *a, ElementType *b ){ ElementType t = *a; *a = *b; *b = t;}void BubbleSort(ElementType A[], int N){ int P,i; int flag; for(P=N-1;P>=0;P--){ flag=0; for(i=0..._排序算法思维导图

webpack插件_while resolving: [email protected]程序员宅基地

文章浏览阅读361次。add-asset-html-webpack-plugin将JavaScript或CSS资产添加到生成的HTML中 html-webpack-pluginbabel-coreBabel编译器核心。babel-loader该软件包允许使用Babel和webpack转换JavaScript文件。babel-plugin-syntax-dynamic-impor语法动态导入babel-p..._while resolving: [email protected]

随便推点

使用Gitee多人项目协作开发的流程实例_gitee可以只开放部分目录给协作者吗-程序员宅基地

文章浏览阅读7.3k次,点赞8次,收藏60次。上一篇文章主要是初学Gitee,实现代码托管的功能,这一篇文章主要是学习Gitee协作开发的使用。这里我们用了一个企业账号来和两个社区账号进行演示。1.首先,企业账号下新建一个名称为协作开发测试仓库的公司主仓库,同时在仓库下新建两个分支lhy和lxw,同时仓库成员添加小组成员A和B。lhy用来存放组员A开发的代码部分,lxw用来存放组员B开发的代码部分。组员A、B此时在各自的账户下可以看到..._gitee可以只开放部分目录给协作者吗

idea上的maven形式的java web项目打包部署到linux的tomcat上_idea 接口发到linux 的tomcat中-程序员宅基地

文章浏览阅读378次。项目写好后,按照上述打成war包,丢到tomcat 的webapp目录里面,重启tomcat,访问链接是ip:8080/项目名/index.jsp_idea 接口发到linux 的tomcat中

详解离线安装Python库_python离线安装库-程序员宅基地

文章浏览阅读4.6w次,点赞12次,收藏22次。前段时间在项目上用到了离线部署Python环境及其依赖库,所以正好将离线安装Python库的解决方案分享给大家,希望能对新手有所帮助。文章目录1. 寻找库之间的依赖关系2. 使用requirements.txt进行批量安装_python离线安装库

python面向对象程序设计的三要素_第八章 Python——面向对象编程-程序员宅基地

文章浏览阅读561次。目录一、面向对象编程二、类class与对象object三、继承与派生四、多态与多态性(抽象类)五、封装六、绑定方法七、反射八、与面向对象有关的内置函数九、自定义内置方法十、元类十一、单例模式一、面向对象编程【面向过程编程】核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么。。。基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式优点:复杂的问题流程化、进而简单化缺点:..._python面向对象的三要素实例

ASTC纹理压缩格式(Adaptive Scalable Texture Compression)_astcenc-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏11次。ASTC(Adaptive Scalable Texture Compression)介绍Adaptive Scalable Texture Compression(ASTC)是一种世界领先的新型纹理压缩格式。这种压缩格式已经加入Khronos标准,并已在某些硬件平台中提供。本文介绍了它的工作原理、使用方法和如何最大程度地使用它。更深入的信息可以参考编码器提供的规范[Eva]。背景ASTC由ARM Limited针对目前已有的填充率较低的纹理压缩开发的一种灵活解决方案。在过..._astcenc

关于python中numpy生成随机数的那点事_numpy 让数组内色数据随机浮动-程序员宅基地

文章浏览阅读611次。python 中 numpy 是一个非常实用的工具包,它的底层由 c 编写,效率快于原生的 python。本文将主要介绍 python 产生随机数的主流方法,有一定的可视化图片,通俗易通理解他们的用法。_numpy 让数组内色数据随机浮动

推荐文章

热门文章

相关标签