初始提交

This commit is contained in:
wyf
2026-01-20 09:26:55 +08:00
commit dd4447a029
106 changed files with 11690 additions and 0 deletions

211
bin/main.dart Normal file
View File

@@ -0,0 +1,211 @@
import 'dart:convert';
import 'dart:io';
import 'package:EasyDartModule/EasyDartModule.dart';
import 'package:EasyDartModule/base/database/DataBase.dart';
import 'package:EasyDartModule/base/discovery/Discovery.dart';
import 'package:EasyDartModule/base/logger/Logger.dart';
import 'package:EasyDartModule/base/mqtt/mqtt.dart';
import 'package:EasyDartModule/base/redis/redis.dart';
import 'package:EasyDartModule/base/storage/Storage.dart';
import 'package:EasyDartModule/base/websocket/WebSocket.dart';
import './const/Constants.dart';
import './controller/AreaController.dart';
import './controller/BedController.dart';
import './controller/BedTypeController.dart';
import './controller/DiseaseTypeController.dart';
import './controller/PersonController.dart';
import './controller/PersonTypeController.dart';
import './controller/RoomController.dart';
import './controller/RoomTypeController.dart';
// import './controller/StatisticsController.dart';
// import './service/AlarmRuleService.dart';
import './controller/FileUploadController.dart';
import 'handler/MqttHandler.dart';
import 'const/ServiceConstant.dart';
// import 'service/DailyTaskService.dart';
import './const/CommonVariables.dart';
void main(List<String> args) async {
if (true) {
initEasyDartModule();
await EasyDartModule.redis.connect();
// return;
}
if (false) {
String? ep = Platform.environment["vsbs_server_port"];
int port = ep == null ? 9200 : int.parse(ep);
String nacosServer =
Platform.environment["nacos_server"] ?? "http://10.20.1.2:8848";
String nacosNameSpaceId = Platform.environment["nacos_namespaceId"] ??
"d3b43bfe-f584-4b8f-a390-353abc69c856";
String nacosBindIp = Platform.environment["nacos_bindIp"] ?? "";
//初始化服务发现
EasyDartModule.init(
discoveryConfig:
DiscoveryConfig(host: nacosServer, namespaceId: nacosNameSpaceId));
//注册实例
await EasyDartModule.discovery
.registerInstance(Constants.serviceName, nacosBindIp, Constants.port);
//查询日志服务配置信息
String logger = await EasyDartModule.discovery.getConfig("logger");
var loggerConfig = jsonDecode(logger);
//查询数据库配置信息
String mongodb = await EasyDartModule.discovery.getConfig("mongodb");
var mongodbConfig = jsonDecode(mongodb);
//查询存储配置
String storage = await EasyDartModule.discovery.getConfig("storage");
var storageConfig = jsonDecode(storage);
//查询mqtt配置
String mqtt = await EasyDartModule.discovery.getConfig("mqtt");
var mqttConfig = jsonDecode(mqtt);
var redisConfig =
jsonDecode(await EasyDartModule.discovery.getConfig("redis"));
var gatewayConfig =
jsonDecode(await EasyDartModule.discovery.getConfig("gateway"));
ServiceConstant.service_address = gatewayConfig["host"];
// ServiceConstant.service_address = "https://vsbst-api.he-info.cn";
MqttHandler mqttHandler = MqttHandler();
EasyDartModule.init(
loggerConfig: LoggerConfig(
host: loggerConfig["host"], serviceName: Constants.serviceName),
dataBaseConfig: DataBaseConfig(
host: mongodbConfig["host"],
userName: mongodbConfig["userName"],
password: mongodbConfig["password"],
dataBase: mongodbConfig["dataBase"]),
storageConfig: StorageConfig(
host: storageConfig["host"],
port: storageConfig["port"],
accessKey: storageConfig["accessKey"],
secretKey: storageConfig["secretKey"]),
mqttConfig: MqttConfig(
host: mqttConfig["host"],
clientId: mqttConfig["clientId"],
topic: [mqttConfig["topic"]],
messgae: (topic, msg) {
mqttHandler.message(topic, msg);
// print("topic: $topic, msg:$msg");
}),
redisConfig:
RedisConfig(host: redisConfig["host"], port: redisConfig["port"]));
EasyDartModule.webServer.addHandler(RoomController());
EasyDartModule.webServer.addHandler(RoomTypeController());
EasyDartModule.webServer.addHandler(BedTypeController());
EasyDartModule.webServer.addHandler(BedController());
EasyDartModule.webServer.addHandler(DiseaseTypeController());
EasyDartModule.webServer.addHandler(PersonController());
EasyDartModule.webServer.addHandler(PersonTypeController());
// EasyDartModule.webServer.addHandler(StatisticsController());
EasyDartModule.webServer.addHandler(AreaController());
EasyDartModule.webServer.addHandler(FileUploadController());
EasyDartModule.webServer.start(port);
//测试mqtt 订阅
// EasyDartModule.mqtt
// .subscribe("/vsbs/sensor/mattress/676a227a1e121f98e5000000", 0);
// EasyDartModule.mqtt.connect();
// EasyDartModule.mqtt.
//推送
// EasyDartModule.mqtt.publish(topic, msg);
//测试db
// Future.delayed(Duration(seconds: 5), () async {
// var db = EasyDartModule.dataBase;
// var r = await db.query("uc_sys_user");
// print(r);
// });
//测试storage
// String bucketName = "test-bu";
// String objectName = "/aa/bb/objectName.gif";
// EasyDartModule.storage.createBucket(bucketName).then((v) {
// EasyDartModule.storage
// .uploadObject(bucketName, objectName, File("a.gif").readAsBytesSync())
// .then((path) {
// print("上传文件: $path");
// EasyDartModule.storage.getObject(bucketName, objectName).then((data) {
// print("下载文件");
// File("b.gif").writeAsBytesSync(data);
// print("下载完毕");
// });
// });
// // EasyDartModule.storage.deleteObject(bucketName, "objectName");
// });
await EasyDartModule.redis.connect();
// AlarmRuleService();
// DailyTaskService();
// EasyDartModule.logger
// .info("${Constants.serviceName}启动完毕", tag: Constants.serviceName);
}
}
void initEasyDartModule() {
try {
EasyDartModule.init(
loggerConfig: LoggerConfig(
host: ServiceConstant.logService, serviceName: "快检报告服务"),
redisConfig: RedisConfig(host: "192.168.1.129", port: 6379),
webSocketConfig:
WebSocketConfig(ServiceConstant.webSocketService, (data) {
// 接收到服务消息
var json = jsonDecode(data);
// ef.log("[websokcet]:${json}");
EasyDartModule.logger.info("[websokcet数据]:${json}");
if (json['wsId'] != null) {
// ef.kvRoot.websocketId = json['wsId'];
}
if (json['code'] != null && json['code'] != 200) {
EasyDartModule.logger
.error("[websokcet数据]:websocket连接失败--》" + json['msg']);
}
if (json["path"] != null) {
var call = CommonVariables.callMap[json["path"]];
if (call != null) {
try {
if (json['path'] != "/smartbed/connect") {
call(json["data"]);
} else {
call(json);
}
} catch (e) {
print(e);
}
} else {
print("未找到当前路径: ${json["path"]} 回调函数");
EasyDartModule.logger.error("未找到当前路径: ${json["path"]} 回调函数");
}
}
// print(data);
}, onOpen: () {
// 连接建立完毕
// EasyDartModule.websocket
// .sendData(jsonEncode({"path": "/aa/bb", "type": 1}));
print("object");
}));
EasyDartModule.webServer.addHandler(RoomController());
EasyDartModule.webServer.addHandler(RoomTypeController());
EasyDartModule.webServer.addHandler(BedTypeController());
EasyDartModule.webServer.addHandler(BedController());
EasyDartModule.webServer.addHandler(DiseaseTypeController());
EasyDartModule.webServer.addHandler(PersonController());
EasyDartModule.webServer.addHandler(PersonTypeController());
// EasyDartModule.webServer.addHandler(StatisticsController());
EasyDartModule.webServer.addHandler(AreaController());
EasyDartModule.webServer.addHandler(FileUploadController());
EasyDartModule.webServer.start(9200,);
} catch (e) {
print(e);
EasyDartModule.logger.error("websocket连接失败--》:$e");
}
}