Files
flutter_thingsboard_app/lib/utils/utils.dart
2021-05-27 16:31:18 +03:00

31 lines
904 B
Dart

import 'dart:convert';
import 'package:thingsboard_client/thingsboard_client.dart';
abstract class Utils {
static String createDashboardEntityState(EntityId entityId, {String? entityName, String? entityLabel}) {
var stateObj = [<String, dynamic>{
'params': <String, dynamic>{
'entityId': entityId.toJson()
}
}];
if (entityName != null) {
stateObj[0]['params']['entityName'] = entityName;
}
if (entityLabel != null) {
stateObj[0]['params']['entityLabel'] = entityLabel;
}
var stateJson = json.encode(stateObj);
var encodedUri = Uri.encodeComponent(stateJson);
encodedUri = encodedUri.replaceAllMapped(RegExp(r'%([0-9A-F]{2})'), (match) {
var p1 = match.group(1)!;
return String.fromCharCode(int.parse(p1, radix: 16));
});
return Uri.encodeComponent(
base64.encode(utf8.encode(encodedUri))
);
}
}