系统分享-01

PigX Microservice Architecture

 

pig4cloud.com

服务端

如果项目没有 JDK 版本的要求,建议使用 SpringBoot3分支。SpringBoot2目前已不再受到 Spring 官方的维护。

Java 版本选择

  • 长期支持(LTS):长期支持版本是指提供长时间支持和维护的版本。选择一个长期支持版本可以确保在未来一段时间内获得持续的支持和补丁更新。

  • 功能和特性:不同的Java版本可能会引入新的功能和特性。了解每个版本的功能增强和改进,可以根据需求选择适合的版本。

  • 生态系统支持:Java有一个庞大的生态系统,包括各种库、框架和工具。确保所选版本与所需的生态系统兼容,并能够满足项目的需求。

前端技术栈

  • 框架:Vue 3.2、TypeScript
  • CSS 框架:Sass、TailwindCSS
  • 组件库:ElementPlus
  • 打包构建工具:Vite
  • 状态管理: Pinia

TailwindCSS

TailwindCSS官方称一个可以让你脱离css文件,在html直接通过class修改样式的框架。

但是TailwindCSS一直受到CSS 方案备受争议。第一个问题就是这和写style css有什么区别

<div style="{ borderRadius: '0.5rem', padding: '1rem' }"> Click </div>


<div class="rounded-lg p-4"> Click </div>


<div class="button"> Click </div>


<Button> Click </Button>

TailwindCSS

  1. 加速开发流程: 通过使用预定义的实用类,开发者可以快速构建用户界面组件,无需编写大量自定义CSS代码。
  2. 高度可定制: 通过tailwind.config.js文件,开发者可以自定义颜色、断点、字体等,这提供了极高的灵活性。
  3. 响应式实用类: Tailwind CSS提供了一系列响应式实用类,使得创建适应不同屏幕大小的设计变得简单。
  4. 统一的设计系统: Tailwind CSS通过其统一的设计系统,确保了所有页面间的前端一致性,并维护了连贯的设计风格。
  5. 减少重复代码: 这种方法减少了重复工作,提高了开发效率。

开发环境

软件 版本 备注
jdk 8/(17、21) 根据代码分支决定
mysql 8 设置数据库大小写不敏感
redis 3.2+
node 16+ 不支持 node 20
maven 3.8+
IDEA 2022+ Lombok、MyBatisX、Maven Helper

代码目录

pigx
├── pigx-ui -- 前端工程[8080]
├── pigx-auth -- 授权服务提供[3000]
├── pigx-app-server -- 移动端服务[7060]
├── pigx-common -- 系统公共模块
├    ├── pigx-common-bom -- 公共依赖版本
├    ├── pigx-common-audit -- 变更审计工具
├    ├── pigx-common-core -- 公共工具类核心包
├    ├── pigx-common-data -- 数据相关
├    ├── pigx-common-datasource -- 动态数据源相关
├    ├── pigx-common-encrypt-api -- 接口加解密操作相关
├    ├── pigx-common-excel -- excel操作相关
├    ├── pigx-common-feign -- feign 通用封装
├    ├── pigx-common-gateway -- 动态路由定义
├    ├── pigx-common-gray -- 灰度路由控制封装
├    ├── pigx-common-idempotent -- 幂等插件
├    ├── pigx-common-job -- 定时任务
├    ├── pigx-common-log -- 日志服务
├    ├── pigx-common-oss -- 通用文件系统
├    ├── pigx-common-security -- 安全工具类
├    ├── pigx-common-sentinel -- sentinel分装
├    ├── pigx-common-sequence -- 全局发号器
├    ├── pigx-common-swagger -- Swagger Api文档生成
├    ├── pigx-common-xss  -- xss 安全过滤组件
├    ├── pigx-common-websocket  -- websocket 组件
├    └── pigx-common-seata -- 分布式事务工具包
├── pigx-register -- 注册中心、配置中心[8848]
├── pigx-flow
│   └── pigx-flow-engine -- flowable工作流引擎 [9020]
│   └── pigx-flow-task  --  工作流任务工单 [9030]
├── pigx-gateway -- Spring Cloud Gateway网关[9999]
├── pigx-upms -- 通用用户权限管理模块
├    └── pigx-upms-api -- 通用用户权限管理系统公共api模块
├    └── pigx-upms-biz -- 通用用户权限管理系统业务处理模块[4000]
└── pigx-visual  -- 图形化模块
├    ├── pigx-monitor -- Spring Boot Admin监控 [5001]
├    ├── pigx-seata-server -- Seata Server 控制台[7091]
├    ├── pigx-daemon-elastic-job -- 分布式调度中心[elastic-job 版本]
├    ├── pigx-daemon-quartz -- 分布式调度中心[quartz]
├    ├── pigx-code-gen -- 图形化代码生成[5003]
├    ├── pigx-jimu-platform -- 报表在线设计模块[5006]
├    ├── pigx-report-platform -- 大屏在线设计模块[9095]
├    ├── pigx-pay-platform -- 微信支付宝收单模块[5010]
├    ├── pigx-mp-platform -- 微信管理模块[6000]
├    └── pigx-sentinel-dashboard -- sentinel 控制台[5005]

代码目录

├── auto-imports.d.ts
├── docker
│   ├── Dockerfile
│   ├── docker-compose.yaml
│   └── pigx-ui.conf
├── index.html
├── package-lock.json
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
│   ├── assets
│   └── favicon.ico
├── src
│   ├── App.vue
│   ├── api
│   ├── assets
│   ├── components
│   ├── directive
│   ├── hooks
│   ├── i18n
│   ├── layout
│   ├── main.ts
│   ├── router
│   ├── stores
│   ├── theme
│   ├── types
│   ├── utils
│   └── views
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts

业务微服务

mvn org.apache.maven.plugins:maven-archetype-plugin:3.1.0:generate ^
       -DjavaVersion=17 ^
       -DgroupId=com.pig4cloud ^
       -DartifactId=demo ^
       -Dversion=5.4.0 ^
       -Dpackage=com.pig4cloud.pigx.demo ^
       -DarchetypeGroupId=com.pig4cloud.archetype ^
       -DarchetypeArtifactId=pigx-gen ^
       -DarchetypeVersion=5.4.0 ^
       -DarchetypeCatalog=local
demo
  ├── README.md
  ├── demo-api     # api 模块主要存放 实体、feign 调用接口
  │   ├── pom.xml
  │   └── src
  ├── demo-biz    # biz 模块主要存放 controller、业务service、mapper
  │   ├── pom.xml
  │   └── src
  └── pom.xml

微服务调用

自定义代码生成

敏捷开发

敏捷开发

核心认证

扩展登录方式

多表认证

Thank you  👋

pig4cloud.com

Made with Slides.com