befly 3.76.0 → 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.
Files changed (155) hide show
  1. package/Befly.js +159 -0
  2. package/README.md +50 -11
  3. package/apis/admin/delete.js +1 -3
  4. package/apis/admin/insert.js +2 -1
  5. package/apis/admin/select.js +2 -7
  6. package/apis/admin/update.js +3 -8
  7. package/apis/api/select.js +2 -7
  8. package/apis/auth/login.js +16 -20
  9. package/apis/dict/delete.js +1 -1
  10. package/apis/dict/detail.js +1 -3
  11. package/apis/dict/select.js +1 -2
  12. package/apis/dict/update.js +1 -1
  13. package/apis/dictType/delete.js +1 -1
  14. package/apis/dictType/detail.js +1 -1
  15. package/apis/dictType/insert.js +1 -1
  16. package/apis/dictType/select.js +2 -7
  17. package/apis/dictType/update.js +2 -2
  18. package/apis/email/config.js +4 -7
  19. package/apis/email/logList.js +2 -7
  20. package/apis/email/send.js +1 -2
  21. package/apis/email/verify.js +1 -3
  22. package/apis/loginLog/select.js +2 -7
  23. package/apis/menu/select.js +2 -7
  24. package/apis/operateLog/select.js +2 -7
  25. package/apis/role/apiSave.js +2 -2
  26. package/apis/role/menuSave.js +2 -2
  27. package/apis/role/select.js +2 -7
  28. package/apis/source/imageList.js +2 -5
  29. package/apis/tongJi/dailyReport.js +12 -13
  30. package/apis/tongJi/dailyReportSelect.js +1 -2
  31. package/apis/tongJi/dailyStats.js +1 -1
  32. package/apis/tongJi/dailyStatsDistribution.js +2 -2
  33. package/apis/tongJi/errorList.js +1 -2
  34. package/apis/tongJi/errorReport.js +1 -2
  35. package/apis/tongJi/projectDelete.js +1 -3
  36. package/apis/tongJi/projectSelect.js +2 -4
  37. package/apis/tongJi/projectUpdate.js +2 -2
  38. package/apis/upload/file.js +7 -5
  39. package/checks/api.js +43 -66
  40. package/checks/config.js +17 -12
  41. package/checks/corns.js +28 -46
  42. package/checks/field.js +18 -0
  43. package/checks/items.js +16 -60
  44. package/checks/menu.js +28 -39
  45. package/checks/table.js +106 -26
  46. package/checks/validation.js +13 -0
  47. package/configs/beflyConfig.json +6 -6
  48. package/configs/constConfig.js +2 -63
  49. package/exports.js +2 -0
  50. package/hooks/auth.js +11 -7
  51. package/hooks/parser.js +55 -59
  52. package/hooks/permission.js +5 -2
  53. package/hooks/rateLimit.js +25 -62
  54. package/hooks/validator.js +43 -31
  55. package/index.js +43 -344
  56. package/{lib → libs}/cacheHelper.js +3 -8
  57. package/libs/cron.js +60 -0
  58. package/libs/logger/index.js +1 -0
  59. package/libs/logger/logger.js +245 -0
  60. package/libs/logger/sanitize.js +115 -0
  61. package/{lib → libs/mysql}/dbHelper.js +100 -73
  62. package/{lib → libs/mysql}/dbParse.js +16 -9
  63. package/{lib → libs/mysql}/dbUtil.js +15 -32
  64. package/libs/mysql/error.js +29 -0
  65. package/libs/mysql/index.js +6 -0
  66. package/libs/mysql/is.js +29 -0
  67. package/libs/mysql/mysql.js +43 -0
  68. package/libs/mysql/sql/identifier.js +85 -0
  69. package/libs/mysql/sql/index.js +2 -0
  70. package/{lib → libs/mysql/sql}/sqlBuilder.js +2 -3
  71. package/libs/mysql/util.js +44 -0
  72. package/libs/redis/index.js +2 -0
  73. package/libs/redis/redis.js +204 -0
  74. package/libs/redis/redisError.js +8 -0
  75. package/libs/tableModel.js +72 -0
  76. package/libs/tool.js +33 -0
  77. package/libs/validator/compiler.js +248 -0
  78. package/libs/validator/index.js +10 -0
  79. package/libs/validator/parser.js +173 -0
  80. package/libs/validator/util.js +5 -0
  81. package/package.json +10 -8
  82. package/paths.js +2 -3
  83. package/plugins/cache.js +2 -1
  84. package/plugins/email.js +4 -4
  85. package/plugins/mysql.js +5 -15
  86. package/plugins/redis.js +4 -12
  87. package/router/api.js +14 -10
  88. package/router/root.js +14 -0
  89. package/router/static.js +3 -3
  90. package/schemas/api.json +99 -0
  91. package/schemas/config.json +255 -0
  92. package/schemas/corn.json +39 -0
  93. package/schemas/item.json +43 -0
  94. package/schemas/menu.json +44 -0
  95. package/schemas/table.json +80 -0
  96. package/scripts/syncDb/apply.js +87 -0
  97. package/scripts/syncDb/ddl.js +43 -0
  98. package/scripts/syncDb/index.js +175 -30
  99. package/scripts/syncDb/model.js +60 -0
  100. package/scripts/syncDb/plan.js +160 -0
  101. package/scripts/syncDb/preflight.js +98 -0
  102. package/scripts/syncDb/report.js +177 -162
  103. package/scripts/syncDb/snapshot.js +118 -0
  104. package/sync/syncUtil.js +7 -13
  105. package/tables/admin.json +51 -53
  106. package/tables/api.json +29 -40
  107. package/tables/dailyReport.json +85 -73
  108. package/tables/dict.json +27 -39
  109. package/tables/dictType.json +20 -34
  110. package/tables/emailLog.json +49 -47
  111. package/tables/errorReport.json +86 -60
  112. package/tables/file.json +47 -50
  113. package/tables/loginLog.json +68 -55
  114. package/tables/menu.json +20 -34
  115. package/tables/operateLog.json +53 -47
  116. package/tables/project.json +18 -30
  117. package/tables/role.json +33 -37
  118. package/utils/cors.js +37 -41
  119. package/utils/deepMerge.js +3 -1
  120. package/utils/error.js +1 -56
  121. package/utils/id.js +44 -0
  122. package/utils/is.js +6 -243
  123. package/utils/response.js +12 -1
  124. package/utils/scanFiles.js +13 -4
  125. package/utils/scanSources.js +58 -20
  126. package/utils/util.js +11 -163
  127. package/apis/_apis.js +0 -20
  128. package/apis/auth/sendSmsCode.js +0 -24
  129. package/apis/role/delete.js +0 -41
  130. package/apis/role/insert.js +0 -45
  131. package/apis/role/save.js +0 -36
  132. package/apis/role/update.js +0 -66
  133. package/configs/regexpAlias.json +0 -55
  134. package/lib/connect.js +0 -119
  135. package/lib/logger.js +0 -430
  136. package/lib/redisHelper.js +0 -399
  137. package/lib/validator.js +0 -274
  138. package/lib/xmlParse.js +0 -149
  139. package/plugins/config.js +0 -13
  140. package/plugins/cron.js +0 -115
  141. package/plugins/logger.js +0 -17
  142. package/plugins/tool.js +0 -131
  143. package/plugins/xmlParse.js +0 -10
  144. package/schemas/config.js +0 -67
  145. package/scripts/syncDb/context.js +0 -120
  146. package/scripts/syncDb/diff.js +0 -279
  147. package/scripts/syncDb/transform.js +0 -113
  148. package/sql/befly.sql +0 -271
  149. package/utils/email.js +0 -3
  150. package/utils/fieldClear.js +0 -22
  151. package/utils/formatValidationIssues.js +0 -28
  152. package/utils/getClientIp.js +0 -47
  153. package/utils/loggerUtils.js +0 -196
  154. package/utils/regexpUtil.js +0 -52
  155. /package/{lib → libs}/smtpText.js +0 -0
package/tables/admin.json CHANGED
@@ -1,84 +1,82 @@
1
- {
2
- "id": {
3
- "name": "ID",
4
- "input": "integer",
5
- "min": 1,
6
- "max": null
7
- },
1
+ {
2
+ "$tableName": "管理员表",
8
3
  "nickname": {
9
4
  "name": "昵称",
10
- "input": "string",
11
- "min": 1,
12
- "max": 50
5
+ "minValue": 1,
6
+ "maxValue": 50,
7
+ "paramType": "string",
8
+ "fieldType": "varchar",
9
+ "fieldDefault": ""
13
10
  },
14
11
  "username": {
15
12
  "name": "用户名",
16
- "input": "regexp",
17
- "check": "@alphanumeric_",
18
- "min": 2,
19
- "max": 30
13
+ "minValue": 2,
14
+ "maxValue": 30,
15
+ "paramType": "string",
16
+ "pattern": "^[a-zA-Z0-9_]+$",
17
+ "fieldType": "varchar",
18
+ "fieldDefault": ""
20
19
  },
21
20
  "password": {
22
21
  "name": "密码",
23
- "input": "string",
24
- "min": 6,
25
- "max": 500
22
+ "minValue": 6,
23
+ "maxValue": 500,
24
+ "paramType": "string",
25
+ "fieldType": "varchar",
26
+ "fieldDefault": ""
26
27
  },
27
28
  "email": {
28
29
  "name": "邮箱",
29
- "input": "regexp",
30
- "check": "@email",
31
- "max": 100
30
+ "maxValue": 100,
31
+ "paramType": "string",
32
+ "pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
33
+ "fieldType": "varchar",
34
+ "fieldDefault": ""
32
35
  },
33
36
  "phone": {
34
37
  "name": "手机号",
35
- "input": "regexp",
36
- "check": "@phone",
37
- "max": 20
38
+ "maxValue": 20,
39
+ "paramType": "string",
40
+ "pattern": "^1[3-9]\\d{9}$",
41
+ "fieldType": "varchar",
42
+ "fieldDefault": ""
38
43
  },
39
44
  "avatar": {
40
45
  "name": "头像",
41
- "input": "string",
42
- "max": 500
46
+ "maxValue": 500,
47
+ "paramType": "string",
48
+ "fieldType": "varchar",
49
+ "fieldDefault": ""
43
50
  },
44
51
  "roleCode": {
45
52
  "name": "角色编码",
46
- "input": "regexp",
47
- "check": "@alphanumeric_",
48
- "min": 2,
49
- "max": 50
53
+ "minValue": 2,
54
+ "maxValue": 50,
55
+ "paramType": "string",
56
+ "pattern": "^[a-zA-Z0-9_]+$",
57
+ "fieldType": "varchar",
58
+ "fieldDefault": ""
50
59
  },
51
60
  "roleType": {
52
61
  "name": "角色类型",
53
- "input": "enum",
54
- "check": "admin|user",
55
- "min": 4,
56
- "max": 5
62
+ "minValue": 4,
63
+ "maxValue": 5,
64
+ "paramType": "string",
65
+ "enum": ["admin", "user"],
66
+ "fieldType": "varchar",
67
+ "fieldDefault": "user"
57
68
  },
58
69
  "lastLoginTime": {
59
70
  "name": "最后登录时间",
60
- "input": "number"
71
+ "paramType": "integer",
72
+ "fieldType": "integer",
73
+ "fieldDefault": 0
61
74
  },
62
75
  "lastLoginIp": {
63
76
  "name": "最后登录IP",
64
- "input": "string",
65
- "max": 50
66
- },
67
- "state": {
68
- "name": "状态(0=已删除,1=正常,2=禁用)",
69
- "input": "enumInteger",
70
- "check": "0|1|2"
71
- },
72
- "createdAt": {
73
- "name": "创建时间",
74
- "input": "number"
75
- },
76
- "updatedAt": {
77
- "name": "更新时间",
78
- "input": "number"
79
- },
80
- "deletedAt": {
81
- "name": "删除时间",
82
- "input": "number"
77
+ "maxValue": 50,
78
+ "paramType": "string",
79
+ "fieldType": "varchar",
80
+ "fieldDefault": ""
83
81
  }
84
82
  }
package/tables/api.json CHANGED
@@ -1,55 +1,44 @@
1
- {
2
- "id": {
3
- "name": "ID",
4
- "input": "integer",
5
- "min": 1,
6
- "max": null
7
- },
1
+ {
2
+ "$tableName": "接口表",
8
3
  "name": {
9
4
  "name": "接口名称",
10
- "input": "string",
11
- "min": 2,
12
- "max": 100
5
+ "minValue": 2,
6
+ "maxValue": 100,
7
+ "paramType": "string",
8
+ "fieldType": "varchar",
9
+ "fieldDefault": ""
13
10
  },
14
11
  "auth": {
15
- "name": "是否需要登录",
16
- "input": "string",
17
- "min": 1,
18
- "max": 200
12
+ "name": "登录权限",
13
+ "detail": "0=免登录,1=需登录,其他=角色类型白名单",
14
+ "minValue": 1,
15
+ "maxValue": 200,
16
+ "paramType": "string",
17
+ "fieldType": "varchar",
18
+ "fieldDefault": ""
19
19
  },
20
20
  "method": {
21
21
  "name": "请求方式",
22
- "input": "string",
23
- "min": 1,
24
- "max": 20
22
+ "minValue": 1,
23
+ "maxValue": 20,
24
+ "paramType": "string",
25
+ "fieldType": "varchar",
26
+ "fieldDefault": ""
25
27
  },
26
28
  "path": {
27
29
  "name": "接口路径",
28
- "input": "string",
29
- "min": 1,
30
- "max": 200
30
+ "minValue": 1,
31
+ "maxValue": 200,
32
+ "paramType": "string",
33
+ "fieldType": "varchar",
34
+ "fieldDefault": ""
31
35
  },
32
36
  "parentPath": {
33
37
  "name": "父级路径",
34
- "input": "string",
35
- "min": 1,
36
- "max": 200
37
- },
38
- "state": {
39
- "name": "状态(0=已删除,1=正常,2=禁用)",
40
- "input": "enumInteger",
41
- "check": "0|1|2"
42
- },
43
- "createdAt": {
44
- "name": "创建时间",
45
- "input": "number"
46
- },
47
- "updatedAt": {
48
- "name": "更新时间",
49
- "input": "number"
50
- },
51
- "deletedAt": {
52
- "name": "删除时间",
53
- "input": "number"
38
+ "minValue": 1,
39
+ "maxValue": 200,
40
+ "paramType": "string",
41
+ "fieldType": "varchar",
42
+ "fieldDefault": ""
54
43
  }
55
44
  }
@@ -1,124 +1,136 @@
1
1
  {
2
- "id": {
3
- "name": "ID",
4
- "input": "integer",
5
- "min": 1,
6
- "max": null,
7
- "detail": "1"
2
+ "$tableName": "日在线上报表",
3
+ "$tableIndexes": {
4
+ "uk_befly_daily_report_report_date_member": "unique#reportDate,member",
5
+ "idx_befly_daily_report_report_date_product_code": "index#reportDate,productCode"
8
6
  },
9
7
  "reportTime": {
10
8
  "name": "上报时间戳",
11
- "input": "number",
12
- "detail": "1720875600000"
9
+ "detail": "1720875600000",
10
+ "paramType": "integer",
11
+ "fieldType": "integer",
12
+ "fieldDefault": 0
13
13
  },
14
14
  "reportDate": {
15
15
  "name": "上报日期",
16
- "input": "integer",
17
- "detail": "20260713"
16
+ "detail": "20260713",
17
+ "paramType": "integer",
18
+ "fieldType": "integer",
19
+ "fieldDefault": 0
18
20
  },
19
21
  "memberType": {
20
22
  "name": "成员类型",
21
- "input": "enum",
22
- "check": "user|client|ip",
23
- "min": 2,
24
- "max": 6,
25
- "detail": "user"
23
+ "minValue": 2,
24
+ "maxValue": 6,
25
+ "detail": "user",
26
+ "paramType": "string",
27
+ "enum": ["user", "client", "ip"],
28
+ "fieldType": "varchar",
29
+ "fieldDefault": ""
26
30
  },
27
31
  "member": {
28
32
  "name": "成员标识",
29
- "input": "string",
30
- "max": 500,
31
- "detail": "user:42:befly-admin"
33
+ "maxValue": 500,
34
+ "detail": "user:42:befly-admin",
35
+ "paramType": "string",
36
+ "fieldType": "varchar",
37
+ "fieldDefault": ""
32
38
  },
33
39
  "userId": {
34
40
  "name": "用户ID",
35
- "input": "integer",
36
- "detail": "42"
41
+ "detail": "42",
42
+ "paramType": "integer",
43
+ "fieldType": "integer",
44
+ "fieldDefault": 0
37
45
  },
38
46
  "clientId": {
39
47
  "name": "客户端标识",
40
- "input": "string",
41
- "max": 120,
42
- "detail": "1691234567890-a1b2c3d4"
48
+ "maxValue": 120,
49
+ "detail": "1691234567890-a1b2c3d4",
50
+ "paramType": "string",
51
+ "fieldType": "varchar",
52
+ "fieldDefault": ""
43
53
  },
44
54
  "ip": {
45
55
  "name": "IP地址",
46
- "input": "string",
47
- "max": 50,
48
- "detail": "192.168.1.1"
56
+ "maxValue": 50,
57
+ "detail": "192.168.1.1",
58
+ "paramType": "string",
59
+ "fieldType": "varchar",
60
+ "fieldDefault": ""
49
61
  },
50
62
  "clientType": {
51
63
  "name": "客户端类型",
52
- "input": "enum",
53
- "check": "browser|vscode|desktop|miniapp|app",
54
- "min": 3,
55
- "max": 20,
56
- "detail": "browser"
64
+ "minValue": 3,
65
+ "maxValue": 20,
66
+ "detail": "browser",
67
+ "paramType": "string",
68
+ "enum": ["browser", "vscode", "desktop", "miniapp", "app"],
69
+ "fieldType": "varchar",
70
+ "fieldDefault": ""
57
71
  },
58
72
  "productName": {
59
73
  "name": "产品名称",
60
- "input": "string",
61
- "max": 100,
62
- "detail": "Befly 后台管理"
74
+ "maxValue": 100,
75
+ "detail": "Befly 后台管理",
76
+ "paramType": "string",
77
+ "fieldType": "varchar",
78
+ "fieldDefault": ""
63
79
  },
64
80
  "productCode": {
65
81
  "name": "产品代号",
66
- "input": "string",
67
- "max": 100,
68
- "detail": "befly-admin"
82
+ "maxValue": 100,
83
+ "detail": "befly-admin",
84
+ "paramType": "string",
85
+ "fieldType": "varchar",
86
+ "fieldDefault": ""
69
87
  },
70
88
  "productVersion": {
71
89
  "name": "产品版本",
72
- "input": "string",
73
- "max": 50,
74
- "detail": "1.2.3"
90
+ "maxValue": 50,
91
+ "detail": "1.2.3",
92
+ "paramType": "string",
93
+ "fieldType": "varchar",
94
+ "fieldDefault": ""
75
95
  },
76
96
  "clientVersion": {
77
97
  "name": "客户端版本",
78
- "input": "string",
79
- "max": 100,
80
- "detail": "1.90.0"
98
+ "maxValue": 100,
99
+ "detail": "1.90.0",
100
+ "paramType": "string",
101
+ "fieldType": "varchar",
102
+ "fieldDefault": ""
81
103
  },
82
104
  "os": {
83
105
  "name": "操作系统",
84
- "input": "string",
85
- "max": 100,
86
- "detail": "Android 14"
106
+ "maxValue": 100,
107
+ "detail": "Android 14",
108
+ "paramType": "string",
109
+ "fieldType": "varchar",
110
+ "fieldDefault": ""
87
111
  },
88
112
  "system": {
89
113
  "name": "系统",
90
- "input": "string",
91
- "max": 100,
92
- "detail": "iOS 17.0"
114
+ "maxValue": 100,
115
+ "detail": "iOS 17.0",
116
+ "paramType": "string",
117
+ "fieldType": "varchar",
118
+ "fieldDefault": ""
93
119
  },
94
120
  "brand": {
95
121
  "name": "设备品牌",
96
- "input": "string",
97
- "max": 100,
98
- "detail": "Apple"
122
+ "maxValue": 100,
123
+ "detail": "Apple",
124
+ "paramType": "string",
125
+ "fieldType": "varchar",
126
+ "fieldDefault": ""
99
127
  },
100
128
  "model": {
101
129
  "name": "设备型号",
102
- "input": "string",
103
- "max": 100,
104
- "detail": "TAS-AN00"
105
- },
106
- "state": {
107
- "name": "状态(0=已删除,1=正常,2=禁用)",
108
- "input": "enumInteger",
109
- "check": "0|1|2"
110
- },
111
- "createdAt": {
112
- "name": "创建时间",
113
- "input": "number",
114
- "detail": "1720875600000"
115
- },
116
- "updatedAt": {
117
- "name": "更新时间",
118
- "input": "number"
119
- },
120
- "deletedAt": {
121
- "name": "删除时间",
122
- "input": "number"
130
+ "maxValue": 100,
131
+ "detail": "TAS-AN00",
132
+ "paramType": "string",
133
+ "fieldType": "varchar",
134
+ "fieldDefault": ""
123
135
  }
124
136
  }
package/tables/dict.json CHANGED
@@ -1,55 +1,43 @@
1
- {
2
- "id": {
3
- "name": "ID",
4
- "input": "integer",
5
- "min": 1,
6
- "max": null
7
- },
1
+ {
2
+ "$tableName": "字典项表",
8
3
  "typeCode": {
9
4
  "name": "字典类型代码",
10
- "input": "regexp",
11
- "check": "@alphanumeric_",
12
- "min": 2,
13
- "max": 50
5
+ "minValue": 2,
6
+ "maxValue": 50,
7
+ "paramType": "string",
8
+ "pattern": "^[a-zA-Z0-9_]+$",
9
+ "fieldType": "varchar",
10
+ "fieldDefault": ""
14
11
  },
15
12
  "key": {
16
13
  "name": "字典键",
17
- "input": "regexp",
18
- "check": "@alphanumeric_",
19
- "min": 1,
20
- "max": 50
14
+ "minValue": 1,
15
+ "maxValue": 50,
16
+ "paramType": "string",
17
+ "pattern": "^[a-zA-Z0-9_]+$",
18
+ "fieldType": "varchar",
19
+ "fieldDefault": ""
21
20
  },
22
21
  "label": {
23
22
  "name": "字典标签",
24
- "input": "string",
25
- "min": 1,
26
- "max": 100
23
+ "minValue": 1,
24
+ "maxValue": 100,
25
+ "paramType": "string",
26
+ "fieldType": "varchar",
27
+ "fieldDefault": ""
27
28
  },
28
29
  "sort": {
29
30
  "name": "排序",
30
- "input": "number",
31
- "max": 9999
31
+ "maxValue": 9999,
32
+ "paramType": "integer",
33
+ "fieldType": "integer",
34
+ "fieldDefault": 0
32
35
  },
33
36
  "remark": {
34
37
  "name": "备注",
35
- "input": "string",
36
- "max": 200
37
- },
38
- "state": {
39
- "name": "状态(0=已删除,1=正常,2=禁用)",
40
- "input": "enumInteger",
41
- "check": "0|1|2"
42
- },
43
- "createdAt": {
44
- "name": "创建时间",
45
- "input": "number"
46
- },
47
- "updatedAt": {
48
- "name": "更新时间",
49
- "input": "number"
50
- },
51
- "deletedAt": {
52
- "name": "删除时间",
53
- "input": "number"
38
+ "maxValue": 200,
39
+ "paramType": "string",
40
+ "fieldType": "varchar",
41
+ "fieldDefault": ""
54
42
  }
55
43
  }
@@ -1,48 +1,34 @@
1
1
  {
2
- "id": {
3
- "name": "ID",
4
- "input": "integer",
5
- "min": 1,
6
- "max": null
7
- },
2
+ "$tableName": "字典类型表",
8
3
  "code": {
9
4
  "name": "类型代码",
10
- "input": "regexp",
11
- "check": "@alphanumeric_",
12
- "min": 2,
13
- "max": 50
5
+ "minValue": 2,
6
+ "maxValue": 50,
7
+ "paramType": "string",
8
+ "pattern": "^[a-zA-Z0-9_]+$",
9
+ "fieldType": "varchar",
10
+ "fieldDefault": ""
14
11
  },
15
12
  "name": {
16
13
  "name": "类型名称",
17
- "input": "string",
18
- "min": 2,
19
- "max": 50
14
+ "minValue": 2,
15
+ "maxValue": 50,
16
+ "paramType": "string",
17
+ "fieldType": "varchar",
18
+ "fieldDefault": ""
20
19
  },
21
20
  "description": {
22
21
  "name": "描述",
23
- "input": "string",
24
- "max": 200
22
+ "maxValue": 200,
23
+ "paramType": "string",
24
+ "fieldType": "varchar",
25
+ "fieldDefault": ""
25
26
  },
26
27
  "sort": {
27
28
  "name": "排序",
28
- "input": "number",
29
- "max": 9999
30
- },
31
- "state": {
32
- "name": "状态(0=已删除,1=正常,2=禁用)",
33
- "input": "enumInteger",
34
- "check": "0|1|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"
29
+ "maxValue": 9999,
30
+ "paramType": "integer",
31
+ "fieldType": "integer",
32
+ "fieldDefault": 0
47
33
  }
48
34
  }