befly 3.76.1 → 3.76.2
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/Befly.js +159 -0
- package/README.md +50 -11
- package/apis/admin/delete.js +1 -3
- package/apis/admin/select.js +2 -7
- package/apis/admin/update.js +1 -5
- package/apis/api/select.js +2 -7
- package/apis/auth/login.js +16 -20
- package/apis/dict/delete.js +1 -1
- package/apis/dict/detail.js +1 -3
- package/apis/dict/select.js +1 -2
- package/apis/dict/update.js +1 -1
- package/apis/dictType/delete.js +1 -1
- package/apis/dictType/detail.js +1 -1
- package/apis/dictType/insert.js +1 -1
- package/apis/dictType/select.js +2 -7
- package/apis/dictType/update.js +2 -2
- package/apis/email/config.js +4 -7
- package/apis/email/logList.js +2 -7
- package/apis/email/send.js +1 -2
- package/apis/email/verify.js +1 -3
- package/apis/loginLog/select.js +2 -7
- package/apis/menu/select.js +2 -7
- package/apis/operateLog/select.js +2 -7
- package/apis/role/apiSave.js +2 -2
- package/apis/role/menuSave.js +2 -2
- package/apis/role/select.js +2 -7
- package/apis/source/imageList.js +2 -5
- package/apis/tongJi/dailyReport.js +12 -13
- package/apis/tongJi/dailyReportSelect.js +1 -2
- package/apis/tongJi/dailyStats.js +1 -1
- package/apis/tongJi/dailyStatsDistribution.js +2 -2
- package/apis/tongJi/errorList.js +1 -2
- package/apis/tongJi/errorReport.js +1 -2
- package/apis/tongJi/projectDelete.js +1 -3
- package/apis/tongJi/projectSelect.js +2 -4
- package/apis/tongJi/projectUpdate.js +2 -2
- package/apis/upload/file.js +7 -5
- package/checks/api.js +43 -66
- package/checks/config.js +17 -12
- package/checks/corns.js +28 -46
- package/checks/field.js +18 -0
- package/checks/items.js +16 -60
- package/checks/menu.js +28 -39
- package/checks/table.js +106 -26
- package/checks/validation.js +13 -0
- package/configs/beflyConfig.json +6 -6
- package/configs/constConfig.js +2 -63
- package/exports.js +2 -0
- package/hooks/auth.js +11 -7
- package/hooks/parser.js +55 -59
- package/hooks/permission.js +1 -0
- package/hooks/rateLimit.js +25 -62
- package/hooks/validator.js +43 -31
- package/index.js +43 -344
- package/{lib → libs}/cacheHelper.js +3 -8
- package/libs/cron.js +60 -0
- package/libs/logger/index.js +1 -0
- package/libs/logger/logger.js +245 -0
- package/libs/logger/sanitize.js +115 -0
- package/{lib → libs/mysql}/dbHelper.js +100 -73
- package/{lib → libs/mysql}/dbParse.js +16 -9
- package/{lib → libs/mysql}/dbUtil.js +15 -32
- package/libs/mysql/error.js +29 -0
- package/libs/mysql/index.js +6 -0
- package/libs/mysql/is.js +29 -0
- package/libs/mysql/mysql.js +43 -0
- package/libs/mysql/sql/identifier.js +85 -0
- package/libs/mysql/sql/index.js +2 -0
- package/{lib → libs/mysql/sql}/sqlBuilder.js +2 -3
- package/libs/mysql/util.js +44 -0
- package/libs/redis/index.js +2 -0
- package/libs/redis/redis.js +204 -0
- package/libs/redis/redisError.js +8 -0
- package/libs/tableModel.js +72 -0
- package/libs/tool.js +33 -0
- package/libs/validator/compiler.js +248 -0
- package/libs/validator/index.js +10 -0
- package/libs/validator/parser.js +173 -0
- package/libs/validator/util.js +5 -0
- package/package.json +10 -8
- package/paths.js +2 -3
- package/plugins/cache.js +2 -1
- package/plugins/email.js +4 -4
- package/plugins/mysql.js +5 -15
- package/plugins/redis.js +4 -12
- package/router/api.js +14 -10
- package/router/root.js +14 -0
- package/router/static.js +3 -3
- package/schemas/api.json +99 -0
- package/schemas/config.json +255 -0
- package/schemas/corn.json +39 -0
- package/schemas/item.json +43 -0
- package/schemas/menu.json +44 -0
- package/schemas/table.json +80 -0
- package/scripts/syncDb/apply.js +87 -0
- package/scripts/syncDb/ddl.js +43 -0
- package/scripts/syncDb/index.js +175 -30
- package/scripts/syncDb/model.js +60 -0
- package/scripts/syncDb/plan.js +160 -0
- package/scripts/syncDb/preflight.js +98 -0
- package/scripts/syncDb/report.js +177 -162
- package/scripts/syncDb/snapshot.js +118 -0
- package/tables/admin.json +51 -53
- package/tables/api.json +28 -39
- package/tables/dailyReport.json +85 -73
- package/tables/dict.json +27 -39
- package/tables/dictType.json +20 -34
- package/tables/emailLog.json +49 -47
- package/tables/errorReport.json +86 -60
- package/tables/file.json +47 -50
- package/tables/loginLog.json +68 -55
- package/tables/menu.json +20 -34
- package/tables/operateLog.json +53 -47
- package/tables/project.json +18 -30
- package/tables/role.json +33 -37
- package/utils/cors.js +37 -41
- package/utils/deepMerge.js +3 -1
- package/utils/error.js +1 -56
- package/utils/id.js +44 -0
- package/utils/is.js +6 -243
- package/utils/response.js +12 -1
- package/utils/scanFiles.js +13 -4
- package/utils/scanSources.js +58 -20
- package/utils/util.js +11 -163
- package/apis/_apis.js +0 -20
- package/apis/auth/sendSmsCode.js +0 -24
- package/configs/regexpAlias.json +0 -55
- package/lib/connect.js +0 -119
- package/lib/logger.js +0 -430
- package/lib/redisHelper.js +0 -399
- package/lib/validator.js +0 -274
- package/lib/xmlParse.js +0 -149
- package/plugins/config.js +0 -13
- package/plugins/cron.js +0 -115
- package/plugins/logger.js +0 -17
- package/plugins/tool.js +0 -131
- package/plugins/xmlParse.js +0 -10
- package/schemas/config.js +0 -67
- package/scripts/syncDb/context.js +0 -120
- package/scripts/syncDb/diff.js +0 -279
- package/scripts/syncDb/transform.js +0 -113
- package/sql/befly.sql +0 -271
- package/utils/email.js +0 -3
- package/utils/fieldClear.js +0 -22
- package/utils/formatValidationIssues.js +0 -28
- package/utils/getClientIp.js +0 -47
- package/utils/loggerUtils.js +0 -196
- package/utils/regexpUtil.js +0 -52
- /package/{lib → libs}/smtpText.js +0 -0
package/tables/emailLog.json
CHANGED
|
@@ -1,85 +1,87 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"name": "ID",
|
|
4
|
-
"input": "integer",
|
|
5
|
-
"min": 1,
|
|
6
|
-
"max": null
|
|
7
|
-
},
|
|
2
|
+
"$tableName": "邮件发送日志表",
|
|
8
3
|
"adminId": {
|
|
9
4
|
"name": "发送人ID",
|
|
10
|
-
"
|
|
5
|
+
"paramType": "integer",
|
|
6
|
+
"fieldType": "integer",
|
|
7
|
+
"fieldDefault": 0
|
|
11
8
|
},
|
|
12
9
|
"username": {
|
|
13
10
|
"name": "发送人账号",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
11
|
+
"maxValue": 100,
|
|
12
|
+
"paramType": "string",
|
|
13
|
+
"fieldType": "varchar",
|
|
14
|
+
"fieldDefault": ""
|
|
16
15
|
},
|
|
17
16
|
"nickname": {
|
|
18
17
|
"name": "发送人昵称",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
18
|
+
"maxValue": 100,
|
|
19
|
+
"paramType": "string",
|
|
20
|
+
"fieldType": "varchar",
|
|
21
|
+
"fieldDefault": ""
|
|
21
22
|
},
|
|
22
23
|
"toEmail": {
|
|
23
24
|
"name": "收件人邮箱",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
25
|
+
"minValue": 5,
|
|
26
|
+
"maxValue": 200,
|
|
27
|
+
"paramType": "string",
|
|
28
|
+
"pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
|
|
29
|
+
"fieldType": "varchar",
|
|
30
|
+
"fieldDefault": ""
|
|
28
31
|
},
|
|
29
32
|
"subject": {
|
|
30
33
|
"name": "邮件主题",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
+
"minValue": 1,
|
|
35
|
+
"maxValue": 200,
|
|
36
|
+
"paramType": "string",
|
|
37
|
+
"fieldType": "varchar",
|
|
38
|
+
"fieldDefault": ""
|
|
34
39
|
},
|
|
35
40
|
"content": {
|
|
36
41
|
"name": "邮件内容",
|
|
37
|
-
"
|
|
42
|
+
"paramType": "string",
|
|
43
|
+
"fieldType": "text",
|
|
44
|
+
"fieldNullable": true
|
|
38
45
|
},
|
|
39
46
|
"ccEmail": {
|
|
40
47
|
"name": "抄送邮箱",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
48
|
+
"maxValue": 500,
|
|
49
|
+
"paramType": "string",
|
|
50
|
+
"fieldType": "varchar",
|
|
51
|
+
"fieldDefault": ""
|
|
43
52
|
},
|
|
44
53
|
"bccEmail": {
|
|
45
54
|
"name": "密送邮箱",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
55
|
+
"maxValue": 500,
|
|
56
|
+
"paramType": "string",
|
|
57
|
+
"fieldType": "varchar",
|
|
58
|
+
"fieldDefault": ""
|
|
48
59
|
},
|
|
49
60
|
"sendTime": {
|
|
50
61
|
"name": "发送时间",
|
|
51
|
-
"
|
|
62
|
+
"paramType": "integer",
|
|
63
|
+
"fieldType": "integer",
|
|
64
|
+
"fieldDefault": 0
|
|
52
65
|
},
|
|
53
66
|
"sendResult": {
|
|
54
67
|
"name": "发送结果",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
68
|
+
"maxValue": 1,
|
|
69
|
+
"paramType": "integer",
|
|
70
|
+
"fieldType": "integer",
|
|
71
|
+
"fieldDefault": 0
|
|
57
72
|
},
|
|
58
73
|
"messageId": {
|
|
59
74
|
"name": "消息ID",
|
|
60
|
-
"
|
|
61
|
-
"
|
|
75
|
+
"maxValue": 200,
|
|
76
|
+
"paramType": "string",
|
|
77
|
+
"fieldType": "varchar",
|
|
78
|
+
"fieldDefault": ""
|
|
62
79
|
},
|
|
63
80
|
"failReason": {
|
|
64
81
|
"name": "失败原因",
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"name": "状态(0=已删除,1=正常,2=禁用)",
|
|
70
|
-
"input": "enumInteger",
|
|
71
|
-
"check": "0|1|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"
|
|
82
|
+
"maxValue": 500,
|
|
83
|
+
"paramType": "string",
|
|
84
|
+
"fieldType": "varchar",
|
|
85
|
+
"fieldDefault": ""
|
|
84
86
|
}
|
|
85
87
|
}
|
package/tables/errorReport.json
CHANGED
|
@@ -1,123 +1,149 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
2
|
+
"$tableName": "错误上报表",
|
|
3
|
+
"$tableIndexes": {
|
|
4
|
+
"idx_befly_error_report_time": "index#reportTime",
|
|
5
|
+
"idx_befly_error_report_bucket_date": "index#bucketDate",
|
|
6
|
+
"idx_befly_error_report_unique": "unique#bucketDate,errorType,extractedMessage,productCode,member",
|
|
7
|
+
"idx_befly_error_report_bucket_date_error_type": "index#bucketDate,errorType",
|
|
8
|
+
"idx_befly_error_report_product_code_report_time": "index#productCode,reportTime",
|
|
9
|
+
"idx_befly_error_report_error_type_report_time": "index#errorType,reportTime"
|
|
7
10
|
},
|
|
8
11
|
"reportTime": {
|
|
9
12
|
"name": "上报时间",
|
|
10
|
-
"
|
|
13
|
+
"paramType": "integer",
|
|
14
|
+
"fieldType": "integer",
|
|
15
|
+
"fieldDefault": 0
|
|
11
16
|
},
|
|
12
17
|
"firstReportTime": {
|
|
13
18
|
"name": "首次上报时间",
|
|
14
|
-
"
|
|
19
|
+
"paramType": "integer",
|
|
20
|
+
"fieldType": "integer",
|
|
21
|
+
"fieldDefault": 0
|
|
15
22
|
},
|
|
16
23
|
"bucketTime": {
|
|
17
24
|
"name": "时间桶时间",
|
|
18
|
-
"
|
|
25
|
+
"paramType": "integer",
|
|
26
|
+
"fieldType": "integer",
|
|
27
|
+
"fieldDefault": 0
|
|
19
28
|
},
|
|
20
29
|
"bucketDate": {
|
|
21
30
|
"name": "时间桶日期",
|
|
22
|
-
"
|
|
31
|
+
"paramType": "integer",
|
|
32
|
+
"fieldType": "integer",
|
|
33
|
+
"fieldDefault": 0
|
|
23
34
|
},
|
|
24
35
|
"productName": {
|
|
25
36
|
"name": "产品名称",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
37
|
+
"maxValue": 100,
|
|
38
|
+
"paramType": "string",
|
|
39
|
+
"fieldType": "varchar",
|
|
40
|
+
"fieldDefault": ""
|
|
28
41
|
},
|
|
29
42
|
"productCode": {
|
|
30
43
|
"name": "产品代号",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
44
|
+
"maxValue": 100,
|
|
45
|
+
"paramType": "string",
|
|
46
|
+
"fieldType": "varchar",
|
|
47
|
+
"fieldDefault": ""
|
|
33
48
|
},
|
|
34
49
|
"productVersion": {
|
|
35
50
|
"name": "产品版本",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
51
|
+
"maxValue": 100,
|
|
52
|
+
"paramType": "string",
|
|
53
|
+
"fieldType": "varchar",
|
|
54
|
+
"fieldDefault": ""
|
|
38
55
|
},
|
|
39
56
|
"pagePath": {
|
|
40
57
|
"name": "页面路径",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
58
|
+
"maxValue": 200,
|
|
59
|
+
"paramType": "string",
|
|
60
|
+
"fieldType": "varchar",
|
|
61
|
+
"fieldDefault": ""
|
|
43
62
|
},
|
|
44
63
|
"pageName": {
|
|
45
64
|
"name": "页面名称",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
65
|
+
"maxValue": 100,
|
|
66
|
+
"paramType": "string",
|
|
67
|
+
"fieldType": "varchar",
|
|
68
|
+
"fieldDefault": ""
|
|
48
69
|
},
|
|
49
70
|
"errorType": {
|
|
50
71
|
"name": "错误类型",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
72
|
+
"maxValue": 50,
|
|
73
|
+
"paramType": "string",
|
|
74
|
+
"fieldType": "varchar",
|
|
75
|
+
"fieldDefault": ""
|
|
53
76
|
},
|
|
54
77
|
"message": {
|
|
55
78
|
"name": "错误信息",
|
|
56
|
-
"
|
|
57
|
-
"
|
|
79
|
+
"maxValue": 500,
|
|
80
|
+
"paramType": "string",
|
|
81
|
+
"fieldType": "varchar",
|
|
82
|
+
"fieldDefault": ""
|
|
58
83
|
},
|
|
59
84
|
"extractedMessage": {
|
|
60
85
|
"name": "提取的错误信息",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
86
|
+
"maxValue": 200,
|
|
87
|
+
"paramType": "string",
|
|
88
|
+
"fieldType": "varchar",
|
|
89
|
+
"fieldDefault": ""
|
|
63
90
|
},
|
|
64
91
|
"detail": {
|
|
65
92
|
"name": "错误详情",
|
|
66
|
-
"
|
|
67
|
-
"
|
|
93
|
+
"maxValue": 5000,
|
|
94
|
+
"paramType": "string",
|
|
95
|
+
"fieldType": "text",
|
|
96
|
+
"fieldNullable": true
|
|
68
97
|
},
|
|
69
98
|
"clientType": {
|
|
70
99
|
"name": "客户端类型",
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
100
|
+
"minValue": 3,
|
|
101
|
+
"maxValue": 20,
|
|
102
|
+
"paramType": "string",
|
|
103
|
+
"enum": ["browser", "vscode", "desktop", "miniapp", "app"],
|
|
104
|
+
"fieldType": "varchar",
|
|
105
|
+
"fieldDefault": ""
|
|
75
106
|
},
|
|
76
107
|
"clientId": {
|
|
77
108
|
"name": "客户端标识",
|
|
78
|
-
"
|
|
79
|
-
"
|
|
109
|
+
"maxValue": 120,
|
|
110
|
+
"paramType": "string",
|
|
111
|
+
"fieldType": "varchar",
|
|
112
|
+
"fieldDefault": ""
|
|
80
113
|
},
|
|
81
114
|
"memberType": {
|
|
82
115
|
"name": "成员类型",
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
116
|
+
"minValue": 2,
|
|
117
|
+
"maxValue": 6,
|
|
118
|
+
"paramType": "string",
|
|
119
|
+
"enum": ["user", "client", "ip"],
|
|
120
|
+
"fieldType": "varchar",
|
|
121
|
+
"fieldDefault": ""
|
|
87
122
|
},
|
|
88
123
|
"member": {
|
|
89
124
|
"name": "成员标识",
|
|
90
|
-
"
|
|
91
|
-
"
|
|
125
|
+
"maxValue": 200,
|
|
126
|
+
"paramType": "string",
|
|
127
|
+
"fieldType": "varchar",
|
|
128
|
+
"fieldDefault": ""
|
|
92
129
|
},
|
|
93
130
|
"userId": {
|
|
94
131
|
"name": "用户ID",
|
|
95
|
-
"
|
|
132
|
+
"paramType": "integer",
|
|
133
|
+
"fieldType": "integer",
|
|
134
|
+
"fieldNullable": true
|
|
96
135
|
},
|
|
97
136
|
"ip": {
|
|
98
137
|
"name": "IP地址",
|
|
99
|
-
"
|
|
100
|
-
"
|
|
138
|
+
"maxValue": 50,
|
|
139
|
+
"paramType": "string",
|
|
140
|
+
"fieldType": "varchar",
|
|
141
|
+
"fieldNullable": true
|
|
101
142
|
},
|
|
102
143
|
"lastReportTime": {
|
|
103
144
|
"name": "最后上报时间",
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"name": "状态(0=已删除,1=正常,2=禁用)",
|
|
108
|
-
"input": "enumInteger",
|
|
109
|
-
"check": "0|1|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"
|
|
145
|
+
"paramType": "integer",
|
|
146
|
+
"fieldType": "integer",
|
|
147
|
+
"fieldDefault": 0
|
|
122
148
|
}
|
|
123
149
|
}
|
package/tables/file.json
CHANGED
|
@@ -1,80 +1,77 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"max": null
|
|
7
|
-
},
|
|
8
|
-
"state": {
|
|
9
|
-
"name": "状态(0=已删除,1=正常,2=禁用)",
|
|
10
|
-
"input": "enumInteger",
|
|
11
|
-
"check": "0|1|2"
|
|
12
|
-
},
|
|
13
|
-
"createdAt": {
|
|
14
|
-
"name": "创建时间",
|
|
15
|
-
"input": "number"
|
|
16
|
-
},
|
|
17
|
-
"updatedAt": {
|
|
18
|
-
"name": "更新时间",
|
|
19
|
-
"input": "number"
|
|
20
|
-
},
|
|
21
|
-
"deletedAt": {
|
|
22
|
-
"name": "删除时间",
|
|
23
|
-
"input": "number"
|
|
2
|
+
"$tableName": "文件表",
|
|
3
|
+
"$tableIndexes": {
|
|
4
|
+
"idx_befly_file_user_id": "index#userId",
|
|
5
|
+
"idx_befly_file_is_image": "index#isImage"
|
|
24
6
|
},
|
|
25
7
|
"userId": {
|
|
26
8
|
"name": "用户ID",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
9
|
+
"minValue": 1,
|
|
10
|
+
"paramType": "integer",
|
|
11
|
+
"fieldType": "integer"
|
|
30
12
|
},
|
|
31
13
|
"filePath": {
|
|
32
14
|
"name": "文件路径",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
15
|
+
"minValue": 1,
|
|
16
|
+
"maxValue": 500,
|
|
17
|
+
"paramType": "string",
|
|
18
|
+
"fieldType": "varchar",
|
|
19
|
+
"fieldDefault": ""
|
|
36
20
|
},
|
|
37
21
|
"url": {
|
|
38
22
|
"name": "文件地址",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
23
|
+
"minValue": 1,
|
|
24
|
+
"maxValue": 1000,
|
|
25
|
+
"paramType": "string",
|
|
26
|
+
"fieldType": "varchar",
|
|
27
|
+
"fieldDefault": ""
|
|
42
28
|
},
|
|
43
29
|
"isImage": {
|
|
44
30
|
"name": "是否图片",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
31
|
+
"minValue": 0,
|
|
32
|
+
"maxValue": 1,
|
|
33
|
+
"paramType": "integer",
|
|
34
|
+
"fieldType": "integer",
|
|
35
|
+
"fieldDefault": 0
|
|
48
36
|
},
|
|
49
37
|
"fileType": {
|
|
50
38
|
"name": "文件类型",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
39
|
+
"minValue": 4,
|
|
40
|
+
"maxValue": 20,
|
|
41
|
+
"paramType": "string",
|
|
42
|
+
"enum": ["image", "video", "audio", "file"],
|
|
43
|
+
"fieldType": "varchar",
|
|
44
|
+
"fieldDefault": ""
|
|
55
45
|
},
|
|
56
46
|
"fileSize": {
|
|
57
47
|
"name": "文件大小",
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
48
|
+
"minValue": 0,
|
|
49
|
+
"paramType": "integer",
|
|
50
|
+
"fieldType": "integer",
|
|
51
|
+
"fieldDefault": 0
|
|
61
52
|
},
|
|
62
53
|
"fileKey": {
|
|
63
54
|
"name": "文件标识",
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
55
|
+
"minValue": 1,
|
|
56
|
+
"maxValue": 100,
|
|
57
|
+
"paramType": "string",
|
|
58
|
+
"fieldType": "varchar",
|
|
59
|
+
"fieldDefault": ""
|
|
67
60
|
},
|
|
68
61
|
"fileExt": {
|
|
69
62
|
"name": "文件扩展名",
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
63
|
+
"minValue": 1,
|
|
64
|
+
"maxValue": 20,
|
|
65
|
+
"paramType": "string",
|
|
66
|
+
"fieldType": "varchar",
|
|
67
|
+
"fieldDefault": ""
|
|
73
68
|
},
|
|
74
69
|
"fileName": {
|
|
75
70
|
"name": "文件名",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
71
|
+
"minValue": 1,
|
|
72
|
+
"maxValue": 200,
|
|
73
|
+
"paramType": "string",
|
|
74
|
+
"fieldType": "varchar",
|
|
75
|
+
"fieldDefault": ""
|
|
79
76
|
}
|
|
80
77
|
}
|
package/tables/loginLog.json
CHANGED
|
@@ -1,106 +1,119 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
"min": 1,
|
|
6
|
-
"max": null
|
|
2
|
+
"$tableName": "登录日志表",
|
|
3
|
+
"$tableIndexes": {
|
|
4
|
+
"idx_befly_login_log_login_time": "index#loginTime"
|
|
7
5
|
},
|
|
8
6
|
"adminId": {
|
|
9
7
|
"name": "管理员ID",
|
|
10
|
-
"
|
|
8
|
+
"paramType": "integer",
|
|
9
|
+
"fieldType": "integer",
|
|
10
|
+
"fieldDefault": 0
|
|
11
11
|
},
|
|
12
12
|
"username": {
|
|
13
13
|
"name": "用户名",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
14
|
+
"minValue": 1,
|
|
15
|
+
"maxValue": 50,
|
|
16
|
+
"paramType": "string",
|
|
17
|
+
"fieldType": "varchar",
|
|
18
|
+
"fieldDefault": ""
|
|
17
19
|
},
|
|
18
20
|
"nickname": {
|
|
19
21
|
"name": "昵称",
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
+
"maxValue": 50,
|
|
23
|
+
"paramType": "string",
|
|
24
|
+
"fieldType": "varchar",
|
|
25
|
+
"fieldDefault": ""
|
|
22
26
|
},
|
|
23
27
|
"ip": {
|
|
24
28
|
"name": "登录IP",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
29
|
+
"maxValue": 50,
|
|
30
|
+
"paramType": "string",
|
|
31
|
+
"fieldType": "varchar",
|
|
32
|
+
"fieldDefault": ""
|
|
27
33
|
},
|
|
28
34
|
"clientType": {
|
|
29
35
|
"name": "客户端类型",
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
36
|
+
"minValue": 3,
|
|
37
|
+
"maxValue": 20,
|
|
38
|
+
"paramType": "string",
|
|
39
|
+
"enum": ["browser", "vscode", "desktop", "miniapp", "app"],
|
|
40
|
+
"fieldType": "varchar",
|
|
41
|
+
"fieldDefault": ""
|
|
34
42
|
},
|
|
35
43
|
"productName": {
|
|
36
44
|
"name": "产品名称",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
45
|
+
"maxValue": 100,
|
|
46
|
+
"paramType": "string",
|
|
47
|
+
"fieldType": "varchar",
|
|
48
|
+
"fieldDefault": ""
|
|
39
49
|
},
|
|
40
50
|
"productCode": {
|
|
41
51
|
"name": "产品代号",
|
|
42
|
-
"
|
|
43
|
-
"
|
|
52
|
+
"maxValue": 100,
|
|
53
|
+
"paramType": "string",
|
|
54
|
+
"fieldType": "varchar",
|
|
55
|
+
"fieldDefault": ""
|
|
44
56
|
},
|
|
45
57
|
"productVersion": {
|
|
46
58
|
"name": "产品版本",
|
|
47
|
-
"
|
|
48
|
-
"
|
|
59
|
+
"maxValue": 50,
|
|
60
|
+
"paramType": "string",
|
|
61
|
+
"fieldType": "varchar",
|
|
62
|
+
"fieldDefault": ""
|
|
49
63
|
},
|
|
50
64
|
"clientVersion": {
|
|
51
65
|
"name": "客户端版本",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
66
|
+
"maxValue": 100,
|
|
67
|
+
"paramType": "string",
|
|
68
|
+
"fieldType": "varchar",
|
|
69
|
+
"fieldDefault": ""
|
|
54
70
|
},
|
|
55
71
|
"os": {
|
|
56
72
|
"name": "操作系统",
|
|
57
|
-
"
|
|
58
|
-
"
|
|
73
|
+
"maxValue": 100,
|
|
74
|
+
"paramType": "string",
|
|
75
|
+
"fieldType": "varchar",
|
|
76
|
+
"fieldDefault": ""
|
|
59
77
|
},
|
|
60
78
|
"system": {
|
|
61
79
|
"name": "系统",
|
|
62
|
-
"
|
|
63
|
-
"
|
|
80
|
+
"maxValue": 100,
|
|
81
|
+
"paramType": "string",
|
|
82
|
+
"fieldType": "varchar",
|
|
83
|
+
"fieldDefault": ""
|
|
64
84
|
},
|
|
65
85
|
"brand": {
|
|
66
86
|
"name": "设备品牌",
|
|
67
|
-
"
|
|
68
|
-
"
|
|
87
|
+
"maxValue": 100,
|
|
88
|
+
"paramType": "string",
|
|
89
|
+
"fieldType": "varchar",
|
|
90
|
+
"fieldDefault": ""
|
|
69
91
|
},
|
|
70
92
|
"model": {
|
|
71
93
|
"name": "设备型号",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
94
|
+
"maxValue": 100,
|
|
95
|
+
"paramType": "string",
|
|
96
|
+
"fieldType": "varchar",
|
|
97
|
+
"fieldDefault": ""
|
|
74
98
|
},
|
|
75
99
|
"loginTime": {
|
|
76
100
|
"name": "登录时间",
|
|
77
|
-
"
|
|
101
|
+
"paramType": "integer",
|
|
102
|
+
"fieldType": "integer",
|
|
103
|
+
"fieldDefault": 0
|
|
78
104
|
},
|
|
79
105
|
"loginResult": {
|
|
80
106
|
"name": "登录结果",
|
|
81
|
-
"
|
|
82
|
-
"
|
|
107
|
+
"maxValue": 1,
|
|
108
|
+
"paramType": "integer",
|
|
109
|
+
"fieldType": "integer",
|
|
110
|
+
"fieldDefault": 0
|
|
83
111
|
},
|
|
84
112
|
"failReason": {
|
|
85
113
|
"name": "失败原因",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"name": "状态(0=已删除,1=正常,2=禁用)",
|
|
91
|
-
"input": "enumInteger",
|
|
92
|
-
"check": "0|1|2"
|
|
93
|
-
},
|
|
94
|
-
"createdAt": {
|
|
95
|
-
"name": "创建时间",
|
|
96
|
-
"input": "number"
|
|
97
|
-
},
|
|
98
|
-
"updatedAt": {
|
|
99
|
-
"name": "更新时间",
|
|
100
|
-
"input": "number"
|
|
101
|
-
},
|
|
102
|
-
"deletedAt": {
|
|
103
|
-
"name": "删除时间",
|
|
104
|
-
"input": "number"
|
|
114
|
+
"maxValue": 200,
|
|
115
|
+
"paramType": "string",
|
|
116
|
+
"fieldType": "varchar",
|
|
117
|
+
"fieldDefault": ""
|
|
105
118
|
}
|
|
106
119
|
}
|