1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuxiaowei-cloud-xuxiaowei-cloud-next

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-OLD.md 33 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:13 ba3f931

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.
Поддерживает сторонние системы входа: Alipay, DingTalk, Code Cloud, GitHub, GitLab, QQ, WeChat, Enterprise WeChat и Weibo.
Включает в себя выполнение CI/CD конвейера с использованием GitLab Runner, Kubernetes (K8S), Docker и Shell для автоматического построения, создания образов Docker и публикации.
Открытый исходный код навсегда бесплатно.

Для упрощения разработки, повышения производительности и решения распространённых проблем.

Примечание: перевод выполнен автоматически, возможны неточности. Данный текст написан на языке Markdown.

В тексте содержатся элементы оформления, которые не несут смысловой нагрузки и не могут быть переведены.

Текст представляет собой изображение с логотипом и текстом «Блог CSDN».

Перевод: Блог CSDN. ``` <img alt="CSDN 粉丝"

  <a target="_blank" href="https://blog.csdn.net/qq_32596527">
    <img alt="CSDN 访问" Данный текст написан на языке JSON. 

Это язык программирования, который используется для хранения структурированных данных, их обмена и работы с ними.

В тексте содержатся данные в формате JSON, которые представляют собой объект со свойствами. К сожалению, без дополнительной информации о контексте и цели использования этих данных невозможно определить основной язык текста запроса и перевести его. **Текст**:

<a target="_blank" href="https://www.jetbrains.com/idea">
  <img alt="IntelliJ IDEA" src="https://img.shields.io/static/v1?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAAAAAByaaZbAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfmBRkBICRBfW8eAAABPklEQVRIx+2UTStEYRiGr/kqZWaKMoyQUsoCWdn4AZKPlZSF5fgPVhYWStlZqPkB7GynWSg/QCmhUFOUGCPNZBrlnNtijmneOYZzykrn2p2e536f577P2wsBPvmQlACQg13Mr4b9CCTpuMunQIdGT8gQRCBZAQRPu0B6aRjsvqKXCRcAJO8lTTf3/GQJKF8Bz5481CfMvEnnxtrRduKhPET7R6GWka+UrBW//8Hej3haqZQFYgNz8VDmYbNNT8iSFDdMM1iSyh3uWHsAesNgVc1D7k4hMeISrN0uAOtAwTYF6Smg2UQUYDYbO8qdjS0Cua9CahsgPd8NleuW3WOFRiTV+nTj8mnL5XbixinVlnEJ7L1vkuzcuJT0ejDufL98UTjZmWyJsqFJvT9aBAT8J5zrrXYFF788xn8gCPDCJ2cr3I1zqSjOAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTI1VDAxOjMyOjM2KzAwOjAwH/0yeQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0yNVQwMTozMjozNiswMDowMG6gisUAAAAASUVORK5CYII=&message=IntelliJ IDEA">
</a>

**Перевод**:

Ссылка с целью открытия в новом окне на сайт JetBrains:
  <изображение alt="IntelliJ IDEA"
                  src="https://img.shields.io/static/v1?logo=данные:изображение/png;база64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAAAAAByaaZbAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAHdElNRQfmBRkBICRBfW8eAAABPklEQVRIx+2UTStEYRiGr/kqZWaKMoyQUsoCWdn4AZKPlZSF5fgPVhYWStlZqPkB7GynWSg/QCmhUFOUGCPNZBrlnNtijmneOYZzykrn2p2e536f577P2wsBPvmQlACQg13Mr4b9CCTpuMunQIdGT8gQRCBZAQRPu0B6aRjsvqKXCRcAJO8lTTf3/GQJKF8Bz5481CfMvEnnxtrRduKhPET7R6GWka+UrBW//8Hej3haqZQFYgNz8VDmYbNNT8iSFDdMM1iSyh3uWHsAesNgVc1D7k4hMeISrN0uAOtAwTYF6Smg2UQUYDYbO8qdjS0Cua9CahsgPd8NleuW3WOFRiTV+nTj8mnL5XbixinVlnEJ7L1vkuzcuJT0ejDufL98UTjZmWyJsqFJvT9aBAT8J5zrrXYFF788xn8gCPDCJ2cr3I1zqSjOAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTI1VDAxOjMyOjM2KzAwOjAwH/0yeQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0yNVQwMTozMjozNiswMDowMG6gisUAAAAASUVORK5CYII=&message=IntelliJ IDEA"/>

*Аналогично для всех остальных фрагментов текста.* **Соответствующие проекты**

* xuxiaowei-cloud:
    * используется Spring Boot 2.7.x, чтобы удалить «-next» в конце адреса репозитория (полное имя платформы репозитория одинаково).
        1. GitLab Jihulab: https://jihulab.com/xuxiaowei-cloud/xuxiaowei-cloud.
        2. Gitee: https://gitee.com/xuxiaowei-cloud/xuxiaowei-cloud.
        3. GitCode: https://gitcode.net/xuxiaowei-cloud/xuxiaowei-cloud.
        4. GitLink: https://gitlink.org.cn/xuxiaowei-cloud/xuxiaowei-cloud.
        5. GitHub: https://github.com/xuxiaowei-cloud/xuxiaowei-cloud.
        6. GitLab: https://gitlab.com/xuxiaowei-cloud/xuxiaowei-cloud.

**Код форматирования spring-javaformat**

https://github.com/spring-io/spring-javaformat

**Инструкции по внесению кода**

https://www.yuque.com/xuxiaowei-com-cn/xuxiaowei-cloud/how-to-contribute-code

IntelliJ IDEA:

* Добавьте зависимость io.spring.javaformat:spring-javaformat-maven-plugin в проект Maven. После этого можно установить плагин автоматического форматирования без необходимости выполнения следующих команд: spring-javaformat-intellij-idea-plugin.

```shell
./mvnw spring-javaformat:apply

или

mvn spring-javaformat:apply

Документация по проекту

https://www.yuque.com/xuxiaowei-com-cn/xuxiaowei-cloud

Сравнение версий зависимостей

Зависимость Версия проекта Новая версия Описание
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-authorization-server v1.1.1 Ограничение Spring Boot 3.x
mybatis v3.0.2
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

Фронтенд

  • Дата обновления: 27 июля 2023 года
Зависимость Версия в проекте Новая версия Описание
@element-plus/icons-vue 2.1.0
@tauri-apps/api 1.4.0
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
unocss 0.53.6 1801
WebService 服务 1901
WeChat-минипрограмма WeChat 小程序服务 2001
WeChat-официальный аккаунт WeChat 公众号服务 2101
Мастер-данные Главный сервис данных 2201
Файл Сервис файлов 2301
XXL Job Admin XXL Job администратор 5101
OAuth 2.0 клиент (независимый сервис) OAuth 2.0 客户端(独立服务) 10001
CXF клиент (независимый сервис) 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
URL программы защиты докера http://host.docker.example.next.xuxiaowei.cloud:2375
Частный реестр докера 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 Удаление прав на удаление токена клиента
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 Удаление прав на удаление пользовательского токена
xuxiaowei user_authorities Просмотр прав пользователей
xuxiaowei user_details Просмотр деталей пользователей
xuxiaowei user_info Просмотр информации о пользователях
xuxiaowei user_oauth2_oauth2Request Просмотр запросов пользователей oauth2
xuxiaowei user_oauth2_userAuthentication Просмотр аутентификации пользователей oauth2

Идентификатор клиента и ключ

| Поле | id | client_id | client_id_issued_at | client_secret | client_secret_expires_at | client_authentication_methods | authorization_grant_types | redirect_uris | | Область применения | Ключ | Идентификатор клиента | Время создания идентификатора клиента | Клиентский секрет | Срок действия клиентского секрета | Метод аутентификации клиента | Тип авторизации | URL перенаправления кода авторизации | Область действия | Требуется ли согласие клиента на авторизацию | Срок действия кода авторизации | Срок действия токена доступа | Срок действия обновляющего токена | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Сайт | 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 | Нет | 300 | 43200 | 2592000 | | Маленькая программа WeChat | 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 | Нет | 300 | 43200 | 2592000 | | Официальный аккаунт WeChat | 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 | Нет | 300 | 43200 | 2592000 | | Сканирование кода WeChat | 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 | Нет | 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 | Нет | 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 |

И так далее.

В запросе используется язык программирования YAML. Авторизация и типы грантов

  • Авторизация:
    • код;
    • refresh token;
    • клиентские полномочия;
    • пароль;
    • упрощённый режим;
    • WeChat Mini Program (OAuth 2.1, адаптация для личного использования);
    • официальный аккаунт WeChat (OAuth 2.1, адаптация для личного использования);
    • сканирование кода WeChat (OAuth 2.1, адаптация для личного использования);
    • Gitee (OAuth 2.1, адаптация для личного использования);
    • QQ сканирование (OAuth 2.1, адаптация для личного использования);
    • сканирование Weibo (OAuth 2.1, адаптация для личного использования);
    • GitLab (OAuth 2.1, адаптация для личного использования);
    • корпоративный WeChat (сканирование, OAuth 2.1, адаптация для личного использования);
    • GitHub (OAuth 2.1, адаптация для личного использования);
    • DingTalk (сканирование кода, OAuth 2.1, адаптация для личного использования);
    • Alipay Mini Program (OAuth 2.1, адаптация для личного использования);
    • веб-приложение Alipay (OAuth 2.1, адаптация для личного использования).

Репозитории и ветки

  1. Какие шесть репозиториев используются?

    1. JiHuLab.
    2. Gitee.
    3. GitCode.
    4. GitHub.
    5. GitLab.
    6. GitLink.
  2. Какой из этих шести репозиториев является основным? Когда синхронизируются остальные репозитории?

    1. Основной — JiHuLab. Остальные репозитории синхронизируются ежедневно.
  3. Назначение каждого репозитория: | Репозиторий | Назначение | Описание | | --- | --- | --- | | JiHuLab | Доступ для пользователей внутри страны, вопросы, загрузка ресурсов, GitLab Runner CI/CD конвейер для упаковки/создания образов Docker, Kubernetes (k8s) для публикации проектов | Открытый проект, бесплатное использование GitLab Runner | | Gitee | Резервный репозиторий внутри страны | Из-за технического стека (проект использует GitLab Runner CI/CD для тестирования и публикации конвейеров) и форс-мажорных обстоятельств в будущем будут закрыты проблемы Gitee, а исторические данные будут перенесены в JiHuLab | | GitLab | Резервный репозиторий за рубежом, тестирование конвейера за рубежом | Бесплатная квота 400 минут, возможно, сбой в конце месяца из-за исчерпания бесплатной квоты | 1. Какие функции у каждой ветки?

  4. main:

    • главная ветка;
    • нельзя отправлять, можно только объединять;
    • используется для выполнения CI/CD типа Kubernetes (k8s) исполнителем GitLab Runner;
    • с помощью Kubernetes (k8s) компилируется код и создаётся пакет;
    • из пакета создаётся образ Docker с помощью Kubernetes (k8s);
    • публикация происходит с использованием Kubernetes (k8s).
  5. xuxiaowei — начало ветки:

    • личная ветка, PR отправляется в главную ветку main.
  6. shell:

    • для выполнения CI/CD используется тип исполнителя GitLab Runner shell;
    • компиляция кода и создание пакета происходит с помощью команд shell;
    • создаётся сервис Linux service для публикации с помощью команд shell.
  7. docker:

    • для выполнения CI/CD используется тип исполнителя GitLab Runner docker;
    • компилируется код с помощью docker, создаётся пакет;
    • пакет превращается в образ Docker с помощью docker;
    • происходит публикация с использованием docker.
  8. pages:

    • ветка для документации.
  9. consul:

    • историческая версия ветки, используется консул как центр регистрации и конфигурации, не поддерживается в дальнейшем (в главной ветке используется Nacos как центр регистрации и конфигурации).
  10. Остальные ветки не используются.

  11. Ветки, которые включают CI/CD:

    • этапы внутри ветки могут чередоваться, например, компиляция кода с помощью docker и превращение пакета в образ Docker, публикация с помощью kubernetes (k8s); выбор остаётся за пользователем;
    • код в этих ветках одинаковый, запуск CI/CD происходит в зависимости от имени ветки, то есть если вы хотите использовать определённый исполнитель для CI/CD в определённой ветке, отправьте PR в эту ветку. Рекомендуется использовать PR, это удобно для быстрого возврата кода и восстановления содержимого после возврата.

2. Массовое добавление адресов удалённых репозиториев

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

3. Благодарности

Благодарим за предоставление инструментов разработки jetbrains с бесплатной лицензией.

4. Звёзды проекта с течением времени

Stargazers over time

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xuxiaowei-cloud-xuxiaowei-cloud-next.git
git@api.gitlife.ru:oschina-mirror/xuxiaowei-cloud-xuxiaowei-cloud-next.git
oschina-mirror
xuxiaowei-cloud-xuxiaowei-cloud-next
xuxiaowei-cloud-xuxiaowei-cloud-next
main