fluro_convert_utils.dart
1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import 'dart:convert';
import 'package:collection/collection.dart' show IterableExtension;
import 'package:one_key/models/statics_model.dart';
import 'package:one_key/models/table_list.dart';
/// fluro 参数编码解码工具类
class FluroConvertUtils {
/// fluro 传递中文参数前,先转换,fluro 不支持中文传递
static String fluroCnParamsEncode(String originalCn) {
return jsonEncode(Utf8Encoder().convert(originalCn));
}
/// fluro 传递后取出参数,解析
static String fluroCnParamsDecode(String encodeCn) {
List<int> list = [];
///字符串解码
jsonDecode(encodeCn).forEach(list.add);
String value = Utf8Decoder().convert(list);
return value;
}
/// string 转为 int
static int string2int(String str) {
return int.parse(str);
}
/// string 转为 double
static double string2double(String str) {
return double.parse(str);
}
/// string 转为 bool
static bool string2bool(String str) {
if (str == 'true') {
return true;
} else {
return false;
}
}
/// object 转为 string json
static String object2string<T>(T t) {
return fluroCnParamsEncode(jsonEncode(t));
}
/// string json 转为 map
static Map<String, dynamic>? string2map(String str) {
return json.decode(fluroCnParamsDecode(str));
}
/// string json 转为 map
static List<dynamic>? string2list(String str) {
return json.decode(fluroCnParamsDecode(str));
}
/// string json 转为 map
static Map<String, List<TableList>>? string2mapTableList(String str) {
return json.decode(fluroCnParamsDecode(str));
}
///枚举类型转string
static String enumToString(o) => o.toString().split('.').last;
///string转枚举类型
static T? enumFromString<T>(Iterable<T> values, String value) {
return values.firstWhereOrNull((type) => type.toString().split('.').last == value);
}
}