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

OSCHINA-MIRROR/cslc-cslc-admin

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

cslc-admin

cslc-admin — базовая сущность с разделением на клиентскую и серверную части, проект с разделённой архитектурой.

Задействованы основные технологии backend: Spring Boot 3, Spring, Spring MVC, MyBatis, MyBatis-plus, Shiro и другие.

Для frontend используется Vue 3 + Vite 5 + TypeScript 5 + Element-Plus + Pinia и другие современные технологии.

Телефон WeChat: jk_cloud

1. Описание системы

1. Описание модулей каталога

  • admin-ui
    Проект frontend
  • сервис admin
    Пакет, предоставляющий базовые функции управления back-end, используемый в бизнес-проектах
    • Управление пользователями
    • Управление организационной структурой
    • Управление правами доступа
    • Управление словарями данных
    • Управление меню системы
    • Управление арендаторами системы
  • сервис common
    Пакет, предоставляющий общие инструменты системы, используемый в бизнес-проектах
  • сервис auth
    Сервис аутентификации и авторизации, обеспечивающий функционал входа и проверки, используемый в бизнес-проектах
  • сервис biz (бизнес-сервис)
    Основной бизнес-сервис, главный программный модуль, предназначенный для разработки бизнес-системы, другие сервисы собираются в пакет и внедряются в этот сервис (через pom зависимость)
  • сервис generator
    Кодогенератор, отдельный проект, позволяющий через визуальное окружение выполнять операции над таблицами базы данных для генерации пакетов кода для front-end и back-end
  • каталог doc
    Материалы проекта### 2. Описание архитектуры
  • Валидация форм осуществляется с помощью Hibernate-Validator, на фронтенде выполняется валидация форм, на бэкенде только проверка, без вывода сообщений об ошибках; запросы, проходящие через валидацию формы, считаются некорректными, поэтому выдается единое сообщение об ошибке.
  • Основные технологии: Spring, Spring MVC, MyBatis, Shiro
  • Плагины: Lombok, Swagger, MyBatis-plus, PageHelper
  • Базы данных: MySQL 8, Redis 6
  • JDK 17, Node.js 20

3. Кодовые стандарты (рекомендуются)

Проект основан на коде Alibaba и использует общепризнанные кодовые стандарты.

2. Настройка среды разработки

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

1. Настройка среды backend

1. Расширения редактора

  • Расширение Lombok, которое требуется установить вручную в редактор
  • Maven расширение, обычно уже установлено в редакторе, достаточно связать его с локальным Maven

2. Упаковка Maven

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

# Упаковка текущего проекта
mvn clean install
```#### 3. Конфигурация проекта
- Выполнение скриптов SQL для создания таблиц (*/doc/db/base_db.sql*) и инициализации данных (*/doc/db/init_data.sql*)
- Настройка баз данных (MySQL, Redis), просто измените конфигурацию в *application.yml* сервиса biz
- Запуск сервиса BizBootstrap, учетная запись admin, пароль 123456

### 2. Передняя часть проекта: установка окружения
[Описание проекта admin-ui](https://gitee.com/xhbug_cs4380/cslc-admin/tree/master/cslc-admin-ui)

## 3. Развертывание проекта
Серверное окружение JDK 17, последняя версия Nginx

### 3.1 Развертывание серверной части
Используйте Maven для сборки бизнес-проекта, создайте jar-файл cslc-admin-server.jar и разместите его на облачном сервере.
- Для запуска серверной части в каталоге с jar-файлом создайте скрипт start.sh, который можно выполнить через командную строку Linux.
- Для остановки серверной части используйте команду `kill -9 xxx` для завершения процесса.
```bash
#! /bin/bash
nohup java -server -Xms128m -Xmx128m -jar ./cslc-admin-server.jar --spring.profiles.active=prod --spring.config.additional-location=./config.yml >./logs/nohup.out 2>&1 &

3.2 Развертывание клиентской части

В конфигурационном файле nginx.conf добавьте следующие настройки

    server {
        listen       80;
        # публичный домен или IP-адрес
        server_name  www.xxxxx.cn;
        location ^~ /api/ {
           # адрес серверной части программы
           proxy_pass http://localhost:4380;
           proxy_connect_timeout 500s;
           proxy_read_timeout 500s;
           proxy_send_timeout 500s;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
``````markdown
## Конфигурация веб-сервера

### 3.1 Настройка пути к клиентской части проекта
```nginx
location / {
    # каталог размещения клиентской части проекта
    root   /html/cslc-admin-ui/;
    index  index.html index.htm;
}

3.2 Шифрование паролей

3.2.1 Получение зашифрованных данных

public static void main(String[] args) {
    BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
    // salt для шифрования
    textEncryptor.setPassword("xxxxx");
    // данные для шифрования, использует ENC(xxx)
    System.out.println("ENC(" + textEncryptor.encrypt("123456") + ")");
}

3.2.2 Добавление следующих настроек

jasypt:
  encryptor:
    password: rinxt527c # ваша соль
    algorithm: PBEWithMD5AndDES
    iv-generator-classname: org.jasypt.iv.NoIvGenerator

3.2.3 Пример использования MySQL

spring:
  datasource:
    password: ENC(xxx) # xxx замените на свои зашифрованные данные

Рекомендации по окружению проекта

4.1 Рекомендации для локальной разработки

4.2 Рекомендации по серверной среде

4.3 Другие рекомендации

 - [Настройка внешних зависимостей в IDEA](https://blog. csdn. net/cs4380/article/details/108937132)
 Spring Boot поддерживает конфигурацию внешних файлов, что позволяет прямо в IDEA настроить переменные окружения без необходимости редактирования файла bootstrap.yml## 5. Предварительный просмотр проекта
<table>
    <tr>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/index.png"/></td>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/user_info.png"/></td>
    </tr>
    <tr>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/role.png"/></td>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/menus.png"/></td>
    </tr>
    <tr>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/api.png"/></td>
        <td><img src="https://gitee.com/xhbug_cs4380/cslc-documentation/raw/master/images/preview/user_list.png"/></td>
    </tr>
</table>

Комментарии ( 0 )

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

Введение

Архитектура микросервисной архитектуры cslc-admin с разделением на клиент и сервер. Серверная часть проекта реализована на основе популярных технологий Spring Boot, Spring, Spring MVC, MyBatis, Shiro. Клиентская часть проекта основана на Vue, Vuex, Element-UI, Axios. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (2)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/cslc-cslc-admin.git
git@api.gitlife.ru:oschina-mirror/cslc-cslc-admin.git
oschina-mirror
cslc-cslc-admin
cslc-cslc-admin
master