befly 3.21.1 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/tables/admin.json CHANGED
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "nickname": {
3
9
  "name": "昵称",
4
10
  "input": "string",
@@ -57,5 +63,23 @@
57
63
  "name": "最后登录IP",
58
64
  "input": "string",
59
65
  "max": 50
66
+ },
67
+ "state": {
68
+ "name": "状态",
69
+ "input": "integer",
70
+ "min": 0,
71
+ "max": 2
72
+ },
73
+ "createdAt": {
74
+ "name": "创建时间",
75
+ "input": "number"
76
+ },
77
+ "updatedAt": {
78
+ "name": "更新时间",
79
+ "input": "number"
80
+ },
81
+ "deletedAt": {
82
+ "name": "删除时间",
83
+ "input": "number"
60
84
  }
61
85
  }
package/tables/api.json CHANGED
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "name": {
3
9
  "name": "接口名称",
4
10
  "input": "string",
@@ -28,5 +34,23 @@
28
34
  "input": "string",
29
35
  "min": 1,
30
36
  "max": 200
37
+ },
38
+ "state": {
39
+ "name": "状态",
40
+ "input": "integer",
41
+ "min": 0,
42
+ "max": 2
43
+ },
44
+ "createdAt": {
45
+ "name": "创建时间",
46
+ "input": "number"
47
+ },
48
+ "updatedAt": {
49
+ "name": "更新时间",
50
+ "input": "number"
51
+ },
52
+ "deletedAt": {
53
+ "name": "删除时间",
54
+ "input": "number"
31
55
  }
32
56
  }
package/tables/dict.json CHANGED
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "typeCode": {
3
9
  "name": "字典类型代码",
4
10
  "input": "regexp",
@@ -28,5 +34,23 @@
28
34
  "name": "备注",
29
35
  "input": "string",
30
36
  "max": 200
37
+ },
38
+ "state": {
39
+ "name": "状态",
40
+ "input": "integer",
41
+ "min": 0,
42
+ "max": 2
43
+ },
44
+ "createdAt": {
45
+ "name": "创建时间",
46
+ "input": "number"
47
+ },
48
+ "updatedAt": {
49
+ "name": "更新时间",
50
+ "input": "number"
51
+ },
52
+ "deletedAt": {
53
+ "name": "删除时间",
54
+ "input": "number"
31
55
  }
32
56
  }
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "code": {
3
9
  "name": "类型代码",
4
10
  "input": "regexp",
@@ -21,5 +27,23 @@
21
27
  "name": "排序",
22
28
  "input": "number",
23
29
  "max": 9999
30
+ },
31
+ "state": {
32
+ "name": "状态",
33
+ "input": "integer",
34
+ "min": 0,
35
+ "max": 2
36
+ },
37
+ "createdAt": {
38
+ "name": "创建时间",
39
+ "input": "number"
40
+ },
41
+ "updatedAt": {
42
+ "name": "更新时间",
43
+ "input": "number"
44
+ },
45
+ "deletedAt": {
46
+ "name": "删除时间",
47
+ "input": "number"
24
48
  }
25
49
  }
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "adminId": {
3
9
  "name": "发送人ID",
4
10
  "input": "number"
@@ -58,5 +64,23 @@
58
64
  "name": "失败原因",
59
65
  "input": "string",
60
66
  "max": 500
67
+ },
68
+ "state": {
69
+ "name": "状态",
70
+ "input": "integer",
71
+ "min": 0,
72
+ "max": 2
73
+ },
74
+ "createdAt": {
75
+ "name": "创建时间",
76
+ "input": "number"
77
+ },
78
+ "updatedAt": {
79
+ "name": "更新时间",
80
+ "input": "number"
81
+ },
82
+ "deletedAt": {
83
+ "name": "删除时间",
84
+ "input": "number"
61
85
  }
62
86
  }
@@ -0,0 +1,140 @@
1
+ {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
8
+ "reportTime": {
9
+ "name": "上报时间",
10
+ "input": "number"
11
+ },
12
+ "firstReportTime": {
13
+ "name": "首次上报时间",
14
+ "input": "number"
15
+ },
16
+ "bucketTime": {
17
+ "name": "时间桶时间",
18
+ "input": "number"
19
+ },
20
+ "bucketDate": {
21
+ "name": "时间桶日期",
22
+ "input": "number"
23
+ },
24
+ "hitCount": {
25
+ "name": "命中次数",
26
+ "input": "number"
27
+ },
28
+ "source": {
29
+ "name": "来源",
30
+ "input": "string",
31
+ "max": 50
32
+ },
33
+ "productName": {
34
+ "name": "产品名称",
35
+ "input": "string",
36
+ "max": 100
37
+ },
38
+ "productCode": {
39
+ "name": "产品代号",
40
+ "input": "string",
41
+ "max": 100
42
+ },
43
+ "productVersion": {
44
+ "name": "产品版本",
45
+ "input": "string",
46
+ "max": 100
47
+ },
48
+ "pagePath": {
49
+ "name": "页面路径",
50
+ "input": "string",
51
+ "max": 200
52
+ },
53
+ "pageName": {
54
+ "name": "页面名称",
55
+ "input": "string",
56
+ "max": 100
57
+ },
58
+ "errorType": {
59
+ "name": "错误类型",
60
+ "input": "string",
61
+ "max": 50
62
+ },
63
+ "message": {
64
+ "name": "错误信息",
65
+ "input": "string",
66
+ "max": 500
67
+ },
68
+ "detail": {
69
+ "name": "错误详情",
70
+ "input": "string"
71
+ },
72
+ "userAgent": {
73
+ "name": "用户代理",
74
+ "input": "string",
75
+ "max": 500
76
+ },
77
+ "browserName": {
78
+ "name": "浏览器名称",
79
+ "input": "string",
80
+ "max": 100
81
+ },
82
+ "browserVersion": {
83
+ "name": "浏览器版本",
84
+ "input": "string",
85
+ "max": 100
86
+ },
87
+ "osName": {
88
+ "name": "操作系统名称",
89
+ "input": "string",
90
+ "max": 100
91
+ },
92
+ "osVersion": {
93
+ "name": "操作系统版本",
94
+ "input": "string",
95
+ "max": 100
96
+ },
97
+ "deviceType": {
98
+ "name": "设备类型",
99
+ "input": "string",
100
+ "max": 50
101
+ },
102
+ "deviceVendor": {
103
+ "name": "设备厂商",
104
+ "input": "string",
105
+ "max": 100
106
+ },
107
+ "deviceModel": {
108
+ "name": "设备型号",
109
+ "input": "string",
110
+ "max": 100
111
+ },
112
+ "engineName": {
113
+ "name": "引擎名称",
114
+ "input": "string",
115
+ "max": 100
116
+ },
117
+ "cpuArchitecture": {
118
+ "name": "CPU架构",
119
+ "input": "string",
120
+ "max": 100
121
+ },
122
+ "state": {
123
+ "name": "状态",
124
+ "input": "integer",
125
+ "min": 0,
126
+ "max": 2
127
+ },
128
+ "createdAt": {
129
+ "name": "创建时间",
130
+ "input": "number"
131
+ },
132
+ "updatedAt": {
133
+ "name": "更新时间",
134
+ "input": "number"
135
+ },
136
+ "deletedAt": {
137
+ "name": "删除时间",
138
+ "input": "number"
139
+ }
140
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
8
+ "reportTime": {
9
+ "name": "上报时间",
10
+ "input": "number"
11
+ },
12
+ "reportDate": {
13
+ "name": "上报日期",
14
+ "input": "number"
15
+ },
16
+ "memberKey": {
17
+ "name": "成员标识",
18
+ "input": "string",
19
+ "max": 100
20
+ },
21
+ "source": {
22
+ "name": "来源",
23
+ "input": "string",
24
+ "max": 50
25
+ },
26
+ "productName": {
27
+ "name": "产品名称",
28
+ "input": "string",
29
+ "max": 100
30
+ },
31
+ "productCode": {
32
+ "name": "产品代号",
33
+ "input": "string",
34
+ "max": 100
35
+ },
36
+ "productVersion": {
37
+ "name": "产品版本",
38
+ "input": "string",
39
+ "max": 100
40
+ },
41
+ "pagePath": {
42
+ "name": "页面路径",
43
+ "input": "string",
44
+ "max": 200
45
+ },
46
+ "pageName": {
47
+ "name": "页面名称",
48
+ "input": "string",
49
+ "max": 100
50
+ },
51
+ "detail": {
52
+ "name": "扩展详情",
53
+ "input": "string"
54
+ },
55
+ "userAgent": {
56
+ "name": "用户代理",
57
+ "input": "string",
58
+ "max": 500
59
+ },
60
+ "browserName": {
61
+ "name": "浏览器名称",
62
+ "input": "string",
63
+ "max": 100
64
+ },
65
+ "browserVersion": {
66
+ "name": "浏览器版本",
67
+ "input": "string",
68
+ "max": 100
69
+ },
70
+ "osName": {
71
+ "name": "操作系统名称",
72
+ "input": "string",
73
+ "max": 100
74
+ },
75
+ "osVersion": {
76
+ "name": "操作系统版本",
77
+ "input": "string",
78
+ "max": 100
79
+ },
80
+ "deviceType": {
81
+ "name": "设备类型",
82
+ "input": "string",
83
+ "max": 50
84
+ },
85
+ "deviceVendor": {
86
+ "name": "设备厂商",
87
+ "input": "string",
88
+ "max": 100
89
+ },
90
+ "deviceModel": {
91
+ "name": "设备型号",
92
+ "input": "string",
93
+ "max": 100
94
+ },
95
+ "engineName": {
96
+ "name": "引擎名称",
97
+ "input": "string",
98
+ "max": 100
99
+ },
100
+ "cpuArchitecture": {
101
+ "name": "CPU架构",
102
+ "input": "string",
103
+ "max": 100
104
+ },
105
+ "state": {
106
+ "name": "状态",
107
+ "input": "integer",
108
+ "min": 0,
109
+ "max": 2
110
+ },
111
+ "createdAt": {
112
+ "name": "创建时间",
113
+ "input": "number"
114
+ },
115
+ "updatedAt": {
116
+ "name": "更新时间",
117
+ "input": "number"
118
+ },
119
+ "deletedAt": {
120
+ "name": "删除时间",
121
+ "input": "number"
122
+ }
123
+ }
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "adminId": {
3
9
  "name": "管理员ID",
4
10
  "input": "number"
@@ -82,5 +88,23 @@
82
88
  "name": "失败原因",
83
89
  "input": "string",
84
90
  "max": 200
91
+ },
92
+ "state": {
93
+ "name": "状态",
94
+ "input": "integer",
95
+ "min": 0,
96
+ "max": 2
97
+ },
98
+ "createdAt": {
99
+ "name": "创建时间",
100
+ "input": "number"
101
+ },
102
+ "updatedAt": {
103
+ "name": "更新时间",
104
+ "input": "number"
105
+ },
106
+ "deletedAt": {
107
+ "name": "删除时间",
108
+ "input": "number"
85
109
  }
86
110
  }
package/tables/menu.json CHANGED
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "name": {
3
9
  "name": "菜单名称",
4
10
  "input": "string",
@@ -20,5 +26,23 @@
20
26
  "name": "父级路径",
21
27
  "input": "string",
22
28
  "max": 200
29
+ },
30
+ "state": {
31
+ "name": "状态",
32
+ "input": "integer",
33
+ "min": 0,
34
+ "max": 2
35
+ },
36
+ "createdAt": {
37
+ "name": "创建时间",
38
+ "input": "number"
39
+ },
40
+ "updatedAt": {
41
+ "name": "更新时间",
42
+ "input": "number"
43
+ },
44
+ "deletedAt": {
45
+ "name": "删除时间",
46
+ "input": "number"
23
47
  }
24
48
  }
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "adminId": {
3
9
  "name": "管理员ID",
4
10
  "input": "number"
@@ -64,5 +70,23 @@
64
70
  "name": "备注",
65
71
  "input": "string",
66
72
  "max": 500
73
+ },
74
+ "state": {
75
+ "name": "状态",
76
+ "input": "integer",
77
+ "min": 0,
78
+ "max": 2
79
+ },
80
+ "createdAt": {
81
+ "name": "创建时间",
82
+ "input": "number"
83
+ },
84
+ "updatedAt": {
85
+ "name": "更新时间",
86
+ "input": "number"
87
+ },
88
+ "deletedAt": {
89
+ "name": "删除时间",
90
+ "input": "number"
67
91
  }
68
92
  }
package/tables/role.json CHANGED
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "name": {
3
9
  "name": "角色名称",
4
10
  "input": "string",
@@ -29,5 +35,23 @@
29
35
  "name": "排序",
30
36
  "input": "number",
31
37
  "max": 9999
38
+ },
39
+ "state": {
40
+ "name": "状态",
41
+ "input": "integer",
42
+ "min": 0,
43
+ "max": 2
44
+ },
45
+ "createdAt": {
46
+ "name": "创建时间",
47
+ "input": "number"
48
+ },
49
+ "updatedAt": {
50
+ "name": "更新时间",
51
+ "input": "number"
52
+ },
53
+ "deletedAt": {
54
+ "name": "删除时间",
55
+ "input": "number"
32
56
  }
33
57
  }
@@ -1,4 +1,10 @@
1
1
  {
2
+ "id": {
3
+ "name": "ID",
4
+ "input": "integer",
5
+ "min": 1,
6
+ "max": null
7
+ },
2
8
  "name": {
3
9
  "name": "配置名称",
4
10
  "min": 2,
@@ -41,5 +47,23 @@
41
47
  "name": "描述说明",
42
48
  "input": "string",
43
49
  "max": 500
50
+ },
51
+ "state": {
52
+ "name": "状态",
53
+ "input": "integer",
54
+ "min": 0,
55
+ "max": 2
56
+ },
57
+ "createdAt": {
58
+ "name": "创建时间",
59
+ "input": "number"
60
+ },
61
+ "updatedAt": {
62
+ "name": "更新时间",
63
+ "input": "number"
64
+ },
65
+ "deletedAt": {
66
+ "name": "删除时间",
67
+ "input": "number"
44
68
  }
45
69
  }
@@ -31,15 +31,10 @@ export function buildSensitiveKeyMatcher(options) {
31
31
  return { exactSet: exactSet, contains: contains };
32
32
  }
33
33
 
34
- function truncateString(value, maxLen) {
35
- if (value.length <= maxLen) return value;
36
- return value.slice(0, maxLen);
37
- }
38
-
39
34
  function sanitizeErrorValue(err, options) {
40
35
  const out = {
41
36
  name: err.name || "Error",
42
- message: truncateString(err.message || "", options.maxStringLen)
37
+ message: err.message || ""
43
38
  };
44
39
  const state = { nodes: 0 };
45
40
  const visited = new WeakSet();
@@ -47,7 +42,7 @@ function sanitizeErrorValue(err, options) {
47
42
  visited.add(err);
48
43
 
49
44
  if (isString(err.stack)) {
50
- out["stack"] = truncateString(err.stack, options.maxStringLen);
45
+ out["stack"] = err.stack;
51
46
  }
52
47
 
53
48
  if (!isNullable(err.cause)) {
@@ -67,13 +62,13 @@ function sanitizeErrorValue(err, options) {
67
62
  }
68
63
 
69
64
  function safeToStringMasked(value, options, visited) {
70
- if (isString(value)) return truncateString(value, options.maxStringLen);
65
+ if (isString(value)) return value;
71
66
 
72
67
  if (value instanceof Error) {
73
68
  try {
74
- return truncateString(JSON.stringify(sanitizeErrorValue(value, options)), options.maxStringLen);
69
+ return JSON.stringify(sanitizeErrorValue(value, options));
75
70
  } catch {
76
- return truncateString(`${value.name || "Error"}: ${value.message || ""}`, options.maxStringLen);
71
+ return `${value.name || "Error"}: ${value.message || ""}`;
77
72
  }
78
73
  }
79
74
 
@@ -100,10 +95,10 @@ function safeToStringMasked(value, options, visited) {
100
95
  return v;
101
96
  };
102
97
 
103
- return truncateString(JSON.stringify(value, replacer), options.maxStringLen);
98
+ return JSON.stringify(value, replacer);
104
99
  } catch {
105
100
  try {
106
- return truncateString(String(value), options.maxStringLen);
101
+ return String(value);
107
102
  } catch {
108
103
  return "[Unserializable]";
109
104
  }
@@ -114,7 +109,7 @@ function sanitizeAny(value, options, state, depth, visited) {
114
109
  if (isNullable(value)) return value;
115
110
 
116
111
  if (isString(value)) {
117
- return truncateString(value, options.maxStringLen);
112
+ return value;
118
113
  }
119
114
 
120
115
  if (isNumber(value) || isBoolean(value) || typeof value === "bigint") {
@@ -151,7 +146,7 @@ function sanitizeAny(value, options, state, depth, visited) {
151
146
  const arr = value;
152
147
  const out = [];
153
148
 
154
- const limit = arr.length > options.maxArrayItems ? options.maxArrayItems : arr.length;
149
+ const limit = arr.length;
155
150
  for (let i = 0; i < limit; i++) {
156
151
  out[i] = sanitizeAny(arr[i], options, state, depth + 1, visited);
157
152
  }