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

OSCHINA-MIRROR/x91270-meiam.system

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

Meiam.System — .NET 7 / .NET 5 WebAPI + Vue 2.0 + RBAC: корпоративный фреймворк для раздельного фронтенд- и бэкенд-программирования с контролем доступа

[.NET 7]
[.NET 5]
VUE 2.6.10
SqlSugar 5.0
Платформа: Linux, Win, OSX
Лицензия: Apache 2
Звёзды: 91270/Meiam.System
Форки: 91270/Meiam.System
Блог: Meiam's Home

Разветвление

master — .NET 7 net5 — .NET 5

Демонстрационный адрес: https://demo.meiam.top

Среда выполнения: CENTOS7, .NET 5, MYSQL

Пользователь бэкенда: 9999 Пароль: 123456

Дайте звезду! ⭐️ Если вам нравится этот проект или он вам помог, пожалуйста, поставьте ему звезду! (Спасибо!)

Описание фреймворка

  • Использование сервисов и интерфейсов для инкапсуляции фреймворка (без слоя репозитория).
  • Хранение сеансов пользователей (информация о пользователе, права пользователя) в REDIS для лучшей поддержки распределённых приложений, выхода пользователей, входа в систему и т. д.
  • Применение Autofac для внедрения зависимостей IoC-контейнера и пакетной автоматической инъекции всех сервисов.
  • Использование компонента ORM SqlSugar для разработки DBFirst и инкапсуляция базового сервиса для базовых операций с базой данных.
  • Реализация кэширования через компонент CSRedis и возможность автоматического управления кешем с помощью SqlSugar WithCache и RemoveDataCache.
  • Автоматическое создание документации WebAPI с использованием Swagger.
  • Объектное сопоставление с высокой производительностью с Mapster для более краткого написания кода.
  • Интеграция NLog для ведения журнала с Microsoft.Extensions.Logging (ILogger для инъекций).
  • Расширение NLog.Web.AspNetCore для добавления дополнительных свойств макета в журнал.
  • Инкапсуляция Quartz.Net для функций планирования задач.
  • Создание глобального менеджера сеансов (управление токенами сеансов пользователей).
  • Создание глобальных перехватчиков разрешений (управление правами пользователей).
  • Создание глобальных перехватчиков исключений (автоматическая запись системных исключений в журнале).
  • Создание глобальных перехватчиков запросов (автоматическая регистрация журналов запросов API).
  • Поддержка распределения прав пользователей и прав на данные.
  • Поддержка конфигурации CORS для междоменного доступа.
  • Генератор кода для автоматического создания моделей, сервисов и слоёв IService.
  • Предложение схемы транзакций на уровне метода для централизованного управления транзакциями на уровне логики.
  • Возможность переключения между различными базами данных: SQLite, SQLServer, MySQL, PostgreSQL, Oracle.
  • Разделение чтения и записи базы данных и поддержка операций с несколькими базами данных.
  • Планируется интеграция RabbitMQ для очередей сообщений.
  • Планируется интегрировать ImCore для обмена мгновенными сообщениями.

Бэкенд-функции (.Net Core)

# Модуль функций Проектный файл Описание
1 Базовая библиотека Meiam.System.Common Хранилище общих классов, модулей шифрования и дешифрования и т.д.
2 Основная библиотека Meiam.System.Core Классы, связанные с базой данных и кешем.
3 Библиотека расширений Meiam.System.Extensions Интеграция внешних интерфейсов.
4 Уровень обслуживания Meiam.System.Interfaces Сервис, IServer, базовые классы обслуживания.
5 Модель слоя Meiam.System.Model Сущности, Dto, ViewModel.
6 Бизнес-уровень Meiam.System.Hostd WebAPI.
7 Библиотека инструментов Meiam.System.Tools Генератор кода.
8 Задачи по расписанию Meiam.System.Tasks Центр планирования задач.

Продолжение следует.

Внешний вид (Vue)

Продолжение следует.

Документация по использованию (соответствующая конфигурация)

Импорт файлов базы данных

Импортируйте файлы резервных копий [Meiam.System-SQLServer.sql] или [Meiam.System-MySQL.sql] в соответствии с выбранной вами базой данных.

Замена файла конфигурации журнала

Скопируйте [NLog-SQLServer.config] или [NLog-MySQL.config] в каталог Meiam.System.Hostd и переименуйте его в NLog.config в соответствии с используемой вами базой данных.

Изменение appsettings.json и Nlog.Config (конфигурация базы данных, информация о пароле REDIS и т. д.)

// Соединение с базой данных
"DbConnection": {
    "ConnectionString": "Server=192.168.0.3;Database=MeiamSystem;UID=meiamsystem;Password=HApVpL8XhFFGz3Oy",
    "DbType": 1 //<= Выберите используемую базу данных MySql = 0, SqlServer = 1, Sqlite = 2, Oracle = 3, PostgreSQL = 4
},
// Конфигурация REDIS, по умолчанию используется 3 базы данных
"RedisServer": {
    "Cache": "192.168.0.3:6379,password=redis,preheat=5,idleTimeout=600,defaultDatabase=13,prefix=Cache",
    "Sequence": "192.168.0.3:6379,password=redis,preheat=5,idleTimeout=600,defaultDatabase=14,prefix=Sequence:",
    "Session": "192.168.0.3:6379,password=redis,preheat=5,idleTimeout=600,defaultDatabase=15,prefix=Session:"
}, 
// Конфигурация CORS
"Startup": {
    "ApiName": "Meiam.System",
    "ApiUrls": "http://*:19999",
    "AllowOrigins": "http://127.0.0.1:18888|http://localhost:18888"
},
// Срок действия TOKEN
"AppSettings": {
    "Demo": true,  //<= Отключить демонстрационный режим 
    "WebSessionExpire": 24,
    "MiniProgramSessionExpire": 720
},
// Каталог загрузки аватара
"AvatarUpload": {
    "AvatarDirectory": "D://wwwroot/avatars",
    "AvatarUrl": "/"
}

Запуск проекта

dotnet Meiam.System.Hostd.dll

Вклад

Самый простой способ внести свой вклад — это участвовать в обсуждениях и решать проблемы (issues). Вы также можете внести свой вклад, отправив Pull Request с изменениями кода. Благодарю!

В своей работе мы опирались на подход авторов к написанию периодических задач.

anjoy8/Blog.Core, sunkaixuan/SqlSugar.

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

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

Введение

Meiam.System — NET Core 3.1 WebAPI + Vue 2.0 + RBAC, корпоративный уровень разделения полномочий между фронтендом и бэкендом. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

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

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