60 lines
2.2 KiB
Dart
60 lines
2.2 KiB
Dart
library EasyDartModule;
|
|
|
|
import 'package:EasyDartModule/base/database/DataBase.dart';
|
|
import 'package:EasyDartModule/base/database/impl/MongoDb.dart';
|
|
import 'package:EasyDartModule/base/discovery/Discovery.dart';
|
|
import 'package:EasyDartModule/base/discovery/impl/NacosDiscovery.dart';
|
|
import 'package:EasyDartModule/base/http/TraceDio.dart';
|
|
import 'package:EasyDartModule/base/logger/Logger.dart';
|
|
import 'package:EasyDartModule/base/logger/impl/LokiLogger.dart';
|
|
import 'package:EasyDartModule/base/mqtt/mqtt.dart';
|
|
import 'package:EasyDartModule/base/storage/Storage.dart';
|
|
import 'package:EasyDartModule/base/storage/impl/MinIoStorage.dart';
|
|
import 'package:EasyDartModule/base/webserver/WebServer.dart';
|
|
import 'package:EasyDartModule/base/webserver/impl/ShelfWebServer.dart';
|
|
|
|
export 'package:shelf/shelf.dart';
|
|
export 'package:mongo_dart/mongo_dart.dart';
|
|
|
|
class EasyDartModule {
|
|
static Discovery get discovery => Discovery.getInstance();
|
|
static DataBase get dataBase => DataBase.getInstance();
|
|
static WebServer get webServer => WebServer.getInstance();
|
|
static Logger get logger => Logger.getInstance();
|
|
static TraceDio get dio => TraceDio.getInstance();
|
|
static Mqtt get mqtt => Mqtt.getInstance();
|
|
static Storage get storage => Storage.getInstance();
|
|
static bool init(
|
|
{DiscoveryConfig? discoveryConfig,
|
|
DataBaseConfig? dataBaseConfig,
|
|
LoggerConfig? loggerConfig,
|
|
MqttConfig? mqttConfig,
|
|
StorageConfig? storageConfig}) {
|
|
if (discoveryConfig != null) {
|
|
//nacos注册配置中心
|
|
Discovery.setInstance(NacosDiscovery(discoveryConfig));
|
|
}
|
|
if (dataBaseConfig != null) {
|
|
//mongo数据库
|
|
DataBase.setInstance(MongoDb(dataBaseConfig));
|
|
}
|
|
if (mqttConfig != null) {
|
|
//mqtt
|
|
Mqtt.setInstance(Mqtt(mqttConfig));
|
|
}
|
|
if (storageConfig != null) {
|
|
//s3存储
|
|
Storage.setInstance(MinioStorage(storageConfig));
|
|
}
|
|
if (loggerConfig != null) {
|
|
//初始化日志
|
|
Logger.setInstance(LokiLogger(loggerConfig));
|
|
//web服务器
|
|
WebServer.setInstance(ShelfWebServer(logger));
|
|
//Dio组件
|
|
TraceDio.setInstance(TraceDio(logger));
|
|
}
|
|
return true;
|
|
}
|
|
}
|