更新redis操作

This commit is contained in:
2026-01-20 10:51:17 +08:00
parent 022eac2d97
commit 2948d2567c
6 changed files with 77 additions and 183 deletions

View File

@@ -5,7 +5,7 @@ LABEL qmqz=admin@ipayl.com
# Resolve app dependencies. # Resolve app dependencies.
WORKDIR /app WORKDIR /app
COPY pubspec.* ./ COPY pubspec.* ./
RUN dart pub get RUN export PUB_HOSTED_URL=https://pub.flutter-io.cn && dart pub get
ADD bin /app/bin ADD bin /app/bin
RUN dart compile exe bin/main.dart -o bin/server RUN dart compile exe bin/main.dart -o bin/server

View File

@@ -2,15 +2,10 @@ import 'dart:convert';
import 'dart:io'; import 'dart:io';
import 'package:EasyDartModule/EasyDartModule.dart'; 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/logger/Logger.dart';
import 'package:EasyDartModule/base/mqtt/mqtt.dart';
import 'package:EasyDartModule/base/redis/redis.dart'; import 'package:EasyDartModule/base/redis/redis.dart';
import 'package:EasyDartModule/base/storage/Storage.dart';
import 'package:EasyDartModule/base/websocket/WebSocket.dart'; import 'package:EasyDartModule/base/websocket/WebSocket.dart';
import './const/Constants.dart';
import './controller/AreaController.dart'; import './controller/AreaController.dart';
import './controller/BedController.dart'; import './controller/BedController.dart';
import './controller/BedTypeController.dart'; import './controller/BedTypeController.dart';
@@ -23,138 +18,27 @@ import './controller/RoomTypeController.dart';
// import './service/AlarmRuleService.dart'; // import './service/AlarmRuleService.dart';
import './controller/FileUploadController.dart'; import './controller/FileUploadController.dart';
import 'handler/MqttHandler.dart';
import 'const/ServiceConstant.dart'; import 'const/ServiceConstant.dart';
// import 'service/DailyTaskService.dart'; // import 'service/DailyTaskService.dart';
import './const/CommonVariables.dart'; import './const/CommonVariables.dart';
void main(List<String> args) async { void main(List<String> args) async {
if (true) { initEasyDartModule();
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() { Future<void> initEasyDartModule() async {
try { try {
String? web = Platform.environment["web_port"] ?? "9200";
List<String> redis =
(Platform.environment["redis"] ?? "127.0.0.1:6379").split(":");
if (redis.length == 1) {
redis.add("6379");
}
EasyDartModule.init( EasyDartModule.init(
loggerConfig: LoggerConfig( loggerConfig: LoggerConfig(
host: ServiceConstant.logService, serviceName: "快检报告服务"), host: ServiceConstant.logService, serviceName: "快检报告服务"),
redisConfig: RedisConfig(host: "192.168.1.129", port: 6379), redisConfig: RedisConfig(host: redis[0], port: int.parse(redis[1])),
webSocketConfig: webSocketConfig:
WebSocketConfig(ServiceConstant.webSocketService, (data) { WebSocketConfig(ServiceConstant.webSocketService, (data) {
// 接收到服务消息 // 接收到服务消息
@@ -193,6 +77,10 @@ void initEasyDartModule() {
print("object"); print("object");
})); }));
while (!EasyDartModule.redis.isConnected()) {
await Future.delayed(Duration(seconds: 1));
}
EasyDartModule.webServer.addHandler(RoomController()); EasyDartModule.webServer.addHandler(RoomController());
EasyDartModule.webServer.addHandler(RoomTypeController()); EasyDartModule.webServer.addHandler(RoomTypeController());
EasyDartModule.webServer.addHandler(BedTypeController()); EasyDartModule.webServer.addHandler(BedTypeController());
@@ -203,7 +91,9 @@ void initEasyDartModule() {
// EasyDartModule.webServer.addHandler(StatisticsController()); // EasyDartModule.webServer.addHandler(StatisticsController());
EasyDartModule.webServer.addHandler(AreaController()); EasyDartModule.webServer.addHandler(AreaController());
EasyDartModule.webServer.addHandler(FileUploadController()); EasyDartModule.webServer.addHandler(FileUploadController());
EasyDartModule.webServer.start(9200,); EasyDartModule.webServer.start(
int.parse(web),
);
} catch (e) { } catch (e) {
print(e); print(e);
EasyDartModule.logger.error("websocket连接失败--》:$e"); EasyDartModule.logger.error("websocket连接失败--》:$e");

View File

@@ -71,7 +71,7 @@ class AreaService {
Future<void> _recoverExperiences() async { Future<void> _recoverExperiences() async {
try { try {
// 使用keys方法获取所有体验中的设备 // 使用keys方法获取所有体验中的设备
final keys = await edm.EasyDartModule.redis.keys("experience_*"); final keys = await edm.EasyDartModule.redis.scanKeys("experience_*");
for (var key in keys) { for (var key in keys) {
try { try {

2
build.bat Normal file
View File

@@ -0,0 +1,2 @@
@echo off
docker build -t 10.20.2.5:5000/data_manage .

View File

@@ -6,7 +6,7 @@ packages:
description: description:
path: "." path: "."
ref: master ref: master
resolved-ref: fadc39301e5c57173e5f16c2600bc4c2abd47102 resolved-ref: a34d58f93eb692c976d1be165920a03a54dea027
url: "https://git.he-info.cn/qmqz/easy_dart_module.git" url: "https://git.he-info.cn/qmqz/easy_dart_module.git"
source: git source: git
version: "1.0.0" version: "1.0.0"
@@ -83,10 +83,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: bson name: bson
sha256: "9071b154b5cd96482c2e116b015e87acfdc8412630cc8f3aba60c539a8ef5442" sha256: f8c80be7a62a88f4add7c48cc83567c36a77532de107224df8328ef71f125045
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.0.5" version: "5.0.7"
buffer: buffer:
dependency: transitive dependency: transitive
description: description:
@@ -155,10 +155,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: built_value name: built_value
sha256: ea90e81dc4a25a043d9bee692d20ed6d1c4a1662a28c03a96417446c093ed6b4 sha256: "7931c90b84bc573fef103548e354258ae4c9d28d140e41961df6843c5d60d4d8"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "8.9.5" version: "8.12.3"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@@ -183,6 +183,14 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "2.0.3" version: "2.0.3"
cli_config:
dependency: transitive
description:
name: cli_config
sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.2.0"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@@ -219,10 +227,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: coverage name: coverage
sha256: e3493833ea012784c740e341952298f1cc77f1f01b1bbc3eb4eecf6984fb7f43 sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.11.1" version: "1.15.0"
cross_file: cross_file:
dependency: transitive dependency: transitive
description: description:
@@ -235,10 +243,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: crypto name: crypto
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.6" version: "3.0.7"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
@@ -275,18 +283,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: decimal name: decimal
sha256: "28239b8b929c1bd8618702e6dbc96e2618cf99770bbe9cb040d6cf56a11e4ec3" sha256: fc706a5618b81e5b367b01dd62621def37abc096f2b46a9bd9068b64c1fa36d0
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.2.1" version: "3.2.4"
dio: dio:
dependency: transitive dependency: transitive
description: description:
name: dio name: dio
sha256: "253a18bbd4851fecba42f7343a1df3a9a4c1d31a2c1b37e221086b4fa8c8dbc9" sha256: d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "5.8.0+1" version: "5.9.0"
dio_web_adapter: dio_web_adapter:
dependency: transitive dependency: transitive
description: description:
@@ -406,10 +414,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: google_identity_services_web name: google_identity_services_web
sha256: "55580f436822d64c8ff9a77e37d61f5fb1e6c7ec9d632a43ee324e2a05c3c6c9" sha256: "5d187c46dc59e02646e10fe82665fc3884a9b71bc1c90c2b8b749316d33ee454"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.3.3" version: "0.3.3+1"
googleapis_auth: googleapis_auth:
dependency: transitive dependency: transitive
description: description:
@@ -430,10 +438,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: grpc name: grpc
sha256: "30e1edae6846b163a64f6d8716e3443980fe1f7d2d1f086f011d24ea186f2582" sha256: "2dde469ddd8bbd7a33a0765da417abe1ad2142813efce3a86c512041294e2b26"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.0.4" version: "4.1.0"
hive: hive:
dependency: transitive dependency: transitive
description: description:
@@ -454,18 +462,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: html name: html
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.15.5" version: "0.15.6"
http: http:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: http name: http
sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.3.0" version: "1.6.0"
http2: http2:
dependency: transitive dependency: transitive
description: description:
@@ -582,10 +590,10 @@ packages:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
name: meta name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c sha256: "1741988757a65eb6b36abe716829688cf01910bbf91c34354ff7ec1c3de2b349"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.16.0" version: "1.18.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@@ -598,18 +606,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: minio name: minio
sha256: "9fa3d041237d3a0dabfd14c11f6adbefe71f6973d64192f6f1fc3e174013001e" sha256: ee2ce47766e46c7d164f960f2f5ed6a9a82844d877f6b82574f6876ec50c56d1
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.5.7" version: "3.5.8"
mongo_dart: mongo_dart:
dependency: "direct main" dependency: "direct main"
description: description:
name: mongo_dart name: mongo_dart
sha256: "5e94f2f7fc779eeab677afd5d98dc63f1f35a6adb4629d4b9d25028a4d06fd21" sha256: "43b62b43c6449a0159bf138fba27653cb35acd92d3587ad26d1ec068cd645559"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.10.4" version: "0.10.5"
mongo_dart_query: mongo_dart_query:
dependency: transitive dependency: transitive
description: description:
@@ -742,10 +750,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: pool name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.5.1" version: "1.5.2"
posix: posix:
dependency: transitive dependency: transitive
description: description:
@@ -911,14 +919,6 @@ packages:
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.10.1" version: "1.10.1"
sprintf:
dependency: transitive
description:
name: sprintf
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
url: "https://pub.flutter-io.cn"
source: hosted
version: "7.0.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@@ -963,26 +963,26 @@ packages:
dependency: "direct dev" dependency: "direct dev"
description: description:
name: test name: test
sha256: "301b213cd241ca982e9ba50266bd3f5bd1ea33f1455554c5abb85d1be0e2d87e" sha256: "75906bf273541b676716d1ca7627a17e4c4070a3a16272b7a3dc7da3b9f3f6b7"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.25.15" version: "1.26.3"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.7.4" version: "0.7.7"
test_core: test_core:
dependency: transitive dependency: transitive
description: description:
name: test_core name: test_core
sha256: "84d17c3486c8dfdbe5e12a50c8ae176d15e2a771b96909a9442b40173649ccaa" sha256: "0cc24b5ff94b38d2ae73e1eb43cc302b77964fbf67abad1e296025b78deb53d0"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.6.8" version: "0.6.12"
timing: timing:
dependency: transitive dependency: transitive
description: description:
@@ -1019,18 +1019,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: unorm_dart name: unorm_dart
sha256: "23d8bf65605401a6a32cff99435fed66ef3dab3ddcad3454059165df46496a3b" sha256: "0c69186b03ca6addab0774bcc0f4f17b88d4ce78d9d4d8f0619e30a99ead58e7"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.3.0" version: "0.3.2"
uuid: uuid:
dependency: transitive dependency: transitive
description: description:
name: uuid name: uuid
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "4.5.1" version: "4.5.2"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
@@ -1043,10 +1043,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "15.0.0" version: "15.0.2"
vy_string_utils: vy_string_utils:
dependency: transitive dependency: transitive
description: description:
@@ -1059,10 +1059,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: watcher name: watcher
sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "1.1.1" version: "1.2.1"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -1075,18 +1075,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: web_socket name: web_socket
sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "0.1.6" version: "1.0.1"
web_socket_channel: web_socket_channel:
dependency: transitive dependency: transitive
description: description:
name: web_socket_channel name: web_socket_channel
sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5" sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
url: "https://pub.flutter-io.cn" url: "https://pub.flutter-io.cn"
source: hosted source: hosted
version: "3.0.2" version: "3.0.3"
webkit_inspection_protocol: webkit_inspection_protocol:
dependency: transitive dependency: transitive
description: description:

2
push.bat Normal file
View File

@@ -0,0 +1,2 @@
@echo off
docker push 10.20.2.5:5000/data_manage