Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Latest commit

 

History

History
464 lines (387 loc) · 68.2 KB

README-OLD.md

File metadata and controls

464 lines (387 loc) · 68.2 KB

xuxiaowei-cloud-next

徐晓伟微服务-next

License-Anti Link-996 QQ群

基于 JDK 17、Spring Boot 3.x.x、OAuth 2.1、Vite 4、Vue 3、Element Plus 的微服务。
支持支付宝、钉钉、码云、GitHub、GitLab、QQ、微信、企业微信、微博等第三方登录。
包含基于 GitLab Runner 的 kubernetes(k8s)、Docker、Shell 等执行器执行 CI/CD 流水线进行自动构建、制作 Docker 镜像、发布。
永久免费开源。

为简化开发工作、提高生产率、解决常见问题而生

相关项目

依赖版本对比

后端

  • 更新日期:2023-07-27
依赖 本项目版本 新版 说明
spring-boot v3.1.2 限制 Spring Boot 3.x,点击查看 Spring Boot 2.7.x 的项目
spring-cloud v2022.0.3 限制 Spring Boot 3.x
spring-cloud-alibaba v2022.0.0.0 限制 Spring Boot 3.x,Spring Cloud Alibaba
spring-boot-admin v3.1.3 限制 Spring Boot 3.x
spring-authorization-server v1.1.1 限制 Spring Boot 3.x
mybatis v3.0.2 限制 Spring Boot 3.x,指 mybatis-spring-boot-starter
mybatis-plus v3.5.3.1
dynamic-datasource v4.1.2 指 dynamic-datasource-spring-boot3-starter
springdoc v2.1.0 用于生成 API doc,支持从 javadoc 中获取字段注释
guava v32.1.1-jre
fastjson v2.0.37 使用的是不带英文后缀的版本
hutool v5.8.20

前端

  • 更新日期:2023-07-27
依赖 本项目版本 新版 说明
@element-plus/icons-vue 2.1.0
@tauri-apps/api 1.4.0
@toast-ui/editor 3.2.2
@wangeditor/editor-for-vue 5.1.12
axios 1.4.0
crypto-js 4.1.1
echarts 5.4.3
element-plus 2.3.8
js-cookie 3.0.5
jsencrypt 3.3.2
pinia 2.1.6
sockjs-client 1.6.1
stompjs 2.3.3
vue 3.3.4
vue-clipboard3 2.0.0
vue-echarts 6.6.0
vue-router 4.2.4
@tauri-apps/cli 1.4.0
@types/crypto-js 4.1.1
@types/node 20.4.5
@typescript-eslint/eslint-plugin 6.2.0
@typescript-eslint/parser 6.2.0
@vitejs/plugin-vue 4.2.3
eslint 8.45.0
eslint-config-standard 17.1.0
eslint-plugin-import 2.27.5
eslint-plugin-n 16.0.1
eslint-plugin-promise 6.1.1
eslint-plugin-vue 9.15.1
lint-staged 13.2.3
terser 5.19.2
typescript 5.1.6
unocss 0.53.6
unplugin-auto-import 0.16.6
unplugin-vue-components 0.25.1
vite 4.4.7
vue-tsc 1.8.8

模块

cloud.xuxiaowei
├──xuxiaowei-cloud-next-starter-parent      // 微服务父模块
│    └──gateway                             // 网关服务
│    └──admin-server                        // 监控(管理)服务
│    └──passport-ui                         // 登录服务UI
│    └──passport                            // 登录服务
│    └──ui                                  // UI
│    └──resource-services-parent            // 资源服务父模块
│        └──canal                           // 阿里巴巴 MySQL binlog 增量订阅、消费服务
│        └──file                            // 文件服务
│        └──master-data                     // 主数据服务
│        └──user                            // 用户服务
│        └──websocket                       // WebSocket 服务
│        └──webservice                      // WebService 服务
│        └──wechat-miniprogram              // 微信小程序服务
│        └──wechat-offiaccount              // 微信公众号服务
│    └──utils                               // 工具类
│    └──cloud-commons-parent                // 微服务公共组件父模块
│        └──cloud-starter-core              // 核心组件
│        └──cloud-starter-idempotent        // 幂等组件
│        └──cloud-starter-loadbalancer      // 负载均衡组件
│        └──cloud-starter-log               // 日志组件
│        └──cloud-starter-mybatis           // MyBatis 组件
│        └──cloud-starter-oauth2            // OAuth2 组件
│        └──cloud-starter-openfeign         // OpenFeign 组件
│        └──cloud-starter-redis             // Redis 组件
│        └──cloud-starter-session-redis     // Session Redis 组件
│        └──cloud-starter-validation        // 验证组件
│    └──xxl-job-admin                       // XXL JOB Admin
│    └──example-parent                      // 示例模块(独立模块)
│        └──oauth2-client                   // OAuth 2.0 客户端(独立服务)
│        └──cxf-client                      // CXF 2.0 客户端(独立服务)

端口

模块 模块名称 域名(虚拟) 端口
Nacos 注册、配置中心 nacos.example.next.xuxiaowei.cloud 8848
MySQL 数据库 mysql.example.next.xuxiaowei.cloud 3306
Redis 数据库 redis.example.next.xuxiaowei.cloud 6379
canal-deployer 阿里巴巴 MySQL binlog 增量订阅&消费组件 canal-deployer.example.next.xuxiaowei.cloud 11111
sentinel-dashboard 流控防护组件 22222
ui UI example.next.xuxiaowei.cloud 1001
gateway 网关 gateway.example.next.xuxiaowei.cloud 1101
admin-server 监控(管理) admin-server.example.next.xuxiaowei.cloud 1201
passport 登录 passport.example.next.xuxiaowei.cloud 1401
passport-ui 登录UI passport.example.next.xuxiaowei.cloud 1411
canal 阿里巴巴 MySQL binlog 增量订阅、消费服务 1601
user 用户服务 1701
websocket WebSocket 服务 1801
webservice WebService 服务 1901
wechat-miniprogram 微信小程序服务 2001
wechat-offiaccount 微信公众号服务 2101
master-data 主数据服务 2201
file 文件服务 2301
xxl-job-admin XXL Job Admin 5101
oauth2-client OAuth 2.0 客户端(独立服务) 10001
cxf-client CXF 客户端(独立服务) 10002
  • 流控防护限流端口

用户名与密码

账户名 密码 启用
xuxiaowei 123 1

其他服务

名称 地址 账户名 密码
XXL Job http://127.0.0.1:5101/xxl-job-admin admin 123456
网关 Swagger http://127.0.0.1:1101/webjars/swagger-ui/index.html
服务 Swagger http://127.0.0.1:端口/swagger-ui/index.html
docker 守护程序的 URL http://host.docker.example.next.xuxiaowei.cloud:2375
docker 私库 URL registry.docker.example.next.xuxiaowei.cloud admin xuxiaowei

权限

账户名 权限 说明
xuxiaowei audit_authorization_consent_delete 删除授权同意书
xuxiaowei audit_authorization_consent_read 查看授权同意书
xuxiaowei audit_authorization_delete 删除授权记录
xuxiaowei audit_authorization_read 查看授权记录
xuxiaowei clientId_token_delete 客户Token 删除权限
xuxiaowei dict_add 添加字典权限
xuxiaowei dict_delete 删除字典权限
xuxiaowei dict_edit 修改字典权限
xuxiaowei dict_read 查看字典权限
xuxiaowei manage_client_add 管理客户 添加权限
xuxiaowei manage_client_delete 管理客户 删除权限
xuxiaowei manage_client_edit 管理客户 修改权限
xuxiaowei manage_client_read 管理客户 读取权限
xuxiaowei manage_user_add 管理用户 查询权限
xuxiaowei manage_user_authority 管理用户 授权权限
xuxiaowei manage_user_delete 管理用户 删除权限
xuxiaowei manage_user_edit 管理用户 修改权限
xuxiaowei manage_user_read 管理用户 查询权限
xuxiaowei region_read 查看省市区县镇居委会权限
xuxiaowei username_token_delete 用户Token 删除权限
xuxiaowei user_authorities 查看用户权限
xuxiaowei user_details 查看用户详情
xuxiaowei user_info 查看用户信息
xuxiaowei user_oauth2_oauth2Request 查看 oauth2 用户请求
xuxiaowei user_oauth2_userAuthentication 查看 oauth2 用户身份验证

客户ID与秘钥

字段 id client_id client_id_issued_at client_secret client_secret_expires_at client_authentication_methods authorization_grant_types redirect_uris scopes require-authorization-consent authorization-code-time-to-live access-token-time-to-live refresh-token-time-to-live
说明 主键 客户ID 客户ID发布时间 客户秘钥 客户秘钥过期时间 授权认证方法 授权类型 授权码重定向地址 范围 是否需要客户授权同意 授权code有效时间 授权Token有效时间 刷新Token有效时间
网站使用 1 xuxiaowei_client_id 2022-05-30 17:17:41 xuxiaowei_client_secret client_secret_post,client_secret_basic refresh_token,implicit,client_credentials,authorization_code http://127.0.0.1:1401/code,http://gateway.example.next.xuxiaowei.cloud:1101/passport/code,https://gateway.example.next.xuxiaowei.cloud/passport/code snsapi_base,snsapi_info false 300 43200 2592000
微信小程序使用 2 xuxiaowei_client_wechat_miniprogram_id 2022-05-30 17:17:41 xuxiaowei_client_wechat_miniprogram_secret client_secret_post,client_secret_basic refresh_token,wechat_miniprogram snsapi_base,snsapi_info false 300 43200 2592000
微信公众号使用 3 xuxiaowei_client_wechat_offiaccount_id 2022-05-30 17:17:41 xuxiaowei_client_wechat_offiaccount_secret client_secret_post,client_secret_basic refresh_token,wechat_offiaccount snsapi_base,snsapi_info false 300 43200 2592000
微信扫码使用 4 xuxiaowei_client_wechat_oplatform_id 2022-05-30 17:17:41 xuxiaowei_client_wechat_oplatform_secret client_secret_post,client_secret_basic refresh_token,wechat_oplatform_website snsapi_base,snsapi_info false 300 43200 2592000
码云Gitee使用 5 xuxiaowei_client_gitee_id 2022-05-30 17:17:41 xuxiaowei_client_gitee_secret client_secret_post,client_secret_basic refresh_token,gitee snsapi_base,snsapi_info false 300 43200 2592000
QQ扫码使用 6 xuxiaowei_client_qq_website_id 2022-05-30 17:17:41 xuxiaowei_client_qq_website_secret client_secret_post,client_secret_basic refresh_token,qq_website snsapi_base,snsapi_info false 300 43200 2592000
微博扫码使用 7 xuxiaowei_client_weibo_id 2022-05-30 17:17:41 xuxiaowei_client_weibo_secret client_secret_post,client_secret_basic refresh_token,weibo_website snsapi_base,snsapi_info false 300 43200 2592000
gitlab使用 8 xuxiaowei_client_gitlab_id 2022-05-30 17:17:41 xuxiaowei_client_gitlab_secret client_secret_post,client_secret_basic refresh_token,gitlab snsapi_base,snsapi_info false 300 43200 2592000
企业微信扫码使用 9 xuxiaowei_client_wechat_work_website_id 2022-05-30 17:17:41 xuxiaowei_client_wechat_work_website_secret client_secret_post,client_secret_basic refresh_token,wechat_work_website snsapi_base,snsapi_info false 300 43200 2592000
github使用 10 xuxiaowei_client_github_id 2022-05-30 17:17:41 xuxiaowei_client_github_secret client_secret_post,client_secret_basic refresh_token,github snsapi_base,snsapi_info false 300 43200 2592000
钉钉dingtalk使用 11 xuxiaowei_client_dingtalk_id 2022-05-30 17:17:41 xuxiaowei_client_dingtalk_secret client_secret_post,client_secret_basic refresh_token,dingtalk snsapi_base,snsapi_info false 300 43200 2592000
QQ小程序使用 12 xuxiaowei_client_qq_miniprogram_id 2022-05-30 17:17:41 xuxiaowei_client_qq_miniprogram_secret client_secret_post,client_secret_basic refresh_token,qq_miniprogram snsapi_base,snsapi_info false 300 43200 2592000
支付宝小程序使用 13 xuxiaowei_client_alipay_miniprogram_id 2022-05-30 17:17:41 xuxiaowei_client_alipay_miniprogram_secret client_secret_post,client_secret_basic refresh_token,alipay_miniprogram snsapi_base,snsapi_info false 300 43200 2592000
支付宝网站应用使用 14 xuxiaowei_client_alipay_oplatform_website_id 2022-05-30 17:17:41 xuxiaowei_client_alipay_oplatform_website_secret client_secret_post,client_secret_basic refresh_token,alipay_oplatform_website snsapi_base,snsapi_info false 300 43200 2592000
  • authorization_grant_types
    • 授权码模式 authorization_code
    • 刷新Token权限 refresh_token
    • 客户端凭证模式 client_credentials
    • 密码模式 password
    • 简化模式 implicit
    • 微信小程序(个人开发适配 OAuth 2.1、微信小程序的授权方式) wechat_miniprogram
    • 微信公众号(个人开发适配 OAuth 2.1、微信公众号的授权方式) wechat_offiaccount
    • 微信扫码(个人开发适配 OAuth 2.1、微信扫码的授权方式) wechat_oplatform_website
    • 码云(个人开发适配 OAuth 2.1、码云的授权方式) gitee
    • QQ扫码(个人开发适配 OAuth 2.1、QQ扫码的授权方式) qq_website
    • 微博扫码(个人开发适配 OAuth 2.1、微博扫码的授权方式) weibo_website
    • gitlab授权(个人开发适配 OAuth 2.1、gitlab的授权方式) gitlab
    • 企业微信扫码(个人开发适配 OAuth 2.1、企业微信扫码的授权方式) wechat_work_website
    • github授权(个人开发适配 OAuth 2.1、gitlab的授权方式) github
    • 钉钉dingtalk扫码(个人开发适配 OAuth 2.1、钉钉dingtalk扫码的授权方式) dingtalk
    • 支付宝小程序(个人开发适配 OAuth 2.1、支付宝小程序的授权方式) alipay_miniprogram
    • 支付宝网站应用(个人开发适配 OAuth 2.1、支付宝网站应用的授权方式) alipay_oplatform_website

仓库与分支?

  1. 使用了哪六个仓库?

    1. JiHuLab
    2. Gitee
    3. GitCode
    4. GitHub
    5. GitLab
    6. GitLink
  2. 上述六个仓库以哪个为准?其余仓库何时同步?

    1. JiHuLab 为准
    2. 其余仓库每日同步
  3. 各个仓库的作用?

仓库地址 作用 说明
极狐 JiHuLab 供国内用户访问、提问、下载资源、GitLab Runner CI/CD 流水线打包/制作Docker镜像、Kubernetes(k8s) 发布项目使用 开源项目 免费使用 GitLab Runner
码云 Gitee 国内备份仓库 由于技术栈(项目使用 GitLab Runner CI/CD 流水线测试与发布)及不可抗力的因素,将来会关闭 Gitee 的 issues,并将历史数据迁移到 极狐 JiHuLab
GitLab 国外备份仓库,国外流水线测试 免费额度 400 分钟,每月后期可能由于免费额度用完而失败
GitCode 国内备份仓库,国内流水线测试 流水线配额 2000 分钟,申请内侧资格
GitHub 国外备份仓库 使用 CodeQL 每日扫描项目中的 main 分支是否存在漏洞
GitLink 国内备份仓库
  1. 各分支的作用?
    1. main
      • 主分支
      • 不可推送,只能合并
      • 用于 GitLab Runner 的 kubernetes(k8s) 类型的执行器执行 CI/CD
      • 使用 kubernetes(k8s) 编译代码打包
      • 使用 kubernetes(k8s) 将打包后的jar包制作成docker镜像
      • 使用 kubernetes(k8s) 进行发布
    2. xuxiaowei开头的分支
      • 个人分支,按功能PR到主分支main
    3. shell
      • 用于 GitLab Runner 的 shell 类型的执行器执行 CI/CD
      • 使用 shell 命令编译代码打包
      • 使用 shell 命令创建 Linux service 服务进行发布
    4. docker
      • 用于 GitLab Runner 的 docker 类型的执行器执行 CI/CD
      • 使用 docker 编译代码打包
      • 使用 docker 将打包后的jar包制作成docker镜像
      • 使用 docker 进行发布
    5. pages
      • 文档分支
    6. consul
      • 历史版本分支,使用 consul 作为注册与配置中心,后续不再维护(主分支使用 nacos 作为注册与配置中心)
    7. 此处未说明的分支,请勿使用
    8. 已上包含 CI/CD 的分支
      1. 分支内的各阶段,可交替使用,如:使用 docker 编译代码打包、使用 docker 将打包后的jar包制作成docker镜像,使用 kubernetes(k8s) 进行发布。如何选择请使用者自行组合。
      2. 这些分支代码相同,CI/CD 根据分支名进行触发,即:想使用某个分支的某些执行器执行 CI/CD,就将代码 PR (推荐使用PR,方便一键回滚代码、将回滚的内容进行恢复) 到指定的分支。

批量添加远端仓库地址

点击展开

git remote add gitee https://gitee.com/xuxiaowei-cloud/xuxiaowei-cloud-next.git

git remote add gitlab https://gitlab.com/xuxiaowei-cloud/xuxiaowei-cloud-next.git

git remote add jihulab https://jihulab.com/xuxiaowei-cloud/xuxiaowei-cloud-next.git

git remote add github https://github.com/xuxiaowei-cloud/xuxiaowei-cloud-next.git

git remote add gitcode https://gitcode.net/xuxiaowei-cloud/xuxiaowei-cloud-next.git

git remote add gitlink https://gitlink.org.cn/xuxiaowei-cloud/xuxiaowei-cloud-next.git

鸣谢

  1. 感谢 jetbrains 提供开发工具 IDEA 的免费授权

Stargazers over time

Stargazers over time