midway-fatcms 0.0.1-beta.4 → 0.0.1-beta.40

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 (331) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +58 -15
  5. package/dist/config/seed/aeskey.txt +1 -1
  6. package/dist/configuration.d.ts +1 -0
  7. package/dist/configuration.js +33 -9
  8. package/dist/controller/base/BaseApiController.d.ts +7 -1
  9. package/dist/controller/base/BaseApiController.js +32 -6
  10. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
  11. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  12. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  13. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/FileController.d.ts +3 -2
  16. package/dist/controller/gateway/PublicApiController.js +4 -6
  17. package/dist/controller/gateway/StaticController.d.ts +0 -1
  18. package/dist/controller/gateway/StaticController.js +40 -39
  19. package/dist/controller/helpers.controller.d.ts +1 -1
  20. package/dist/controller/home.controller.js +4 -3
  21. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  22. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  23. package/dist/controller/manage/AppMangeApi.js +2 -2
  24. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  25. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  26. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  27. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  28. package/dist/controller/manage/CrudStandardDesignApi.js +86 -83
  29. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  30. package/dist/controller/manage/DataDictManageApi.js +1 -1
  31. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  32. package/dist/controller/manage/DeployManageApi.js +38 -34
  33. package/dist/controller/manage/DocLibManageApi.js +2 -2
  34. package/dist/controller/manage/DocManageApi.js +2 -2
  35. package/dist/controller/manage/FileManageApi.js +1 -1
  36. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  37. package/dist/controller/manage/MenuManageApi.js +2 -2
  38. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  40. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  41. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  42. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  43. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  44. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  45. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  46. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  47. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  48. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  49. package/dist/controller/myinfo/AuthController.js +1 -54
  50. package/dist/controller/render/AppRenderController.js +12 -5
  51. package/dist/controller/test.controller.d.ts +1 -1
  52. package/dist/controller/test.controller.js +5 -5
  53. package/dist/index.d.ts +35 -4
  54. package/dist/index.js +35 -4
  55. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  56. package/dist/libs/crud-pro/CrudPro.js +5 -0
  57. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  58. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  59. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  61. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  62. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  63. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  64. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  65. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  66. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  68. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  69. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  71. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  72. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  73. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  75. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  77. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  78. package/dist/libs/crud-pro/sql.txt +120 -120
  79. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  80. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  81. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  83. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  84. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  85. package/dist/libs/global-config/global-config.d.ts +45 -0
  86. package/dist/libs/global-config/global-config.js +33 -0
  87. package/dist/libs/utils/errorToString.d.ts +2 -0
  88. package/dist/libs/utils/errorToString.js +57 -0
  89. package/dist/libs/utils/fatcms-request.js +2 -2
  90. package/dist/libs/utils/functions.d.ts +2 -1
  91. package/dist/libs/utils/functions.js +6 -1
  92. package/dist/middleware/forbidden.middleware.js +4 -20
  93. package/dist/middleware/global.middleware.js +30 -10
  94. package/dist/middleware/permission.middleware.js +1 -1
  95. package/dist/models/AsyncTaskModel.d.ts +74 -0
  96. package/dist/models/AsyncTaskModel.js +31 -0
  97. package/dist/models/RedisKeys.d.ts +14 -0
  98. package/dist/models/RedisKeys.js +17 -0
  99. package/dist/models/SystemEntities.d.ts +8 -1
  100. package/dist/models/SystemEntities.js +7 -0
  101. package/dist/models/SystemTables.d.ts +1 -3
  102. package/dist/models/SystemTables.js +2 -4
  103. package/dist/models/bizmodels.d.ts +28 -0
  104. package/dist/models/bizmodels.js +6 -1
  105. package/dist/schedule/anonymousContext.d.ts +14 -0
  106. package/dist/schedule/anonymousContext.js +59 -0
  107. package/dist/schedule/index.d.ts +4 -3
  108. package/dist/schedule/index.js +8 -67
  109. package/dist/schedule/runSchedule.d.ts +12 -0
  110. package/dist/schedule/runSchedule.js +68 -0
  111. package/dist/schedule/scheduleNames.d.ts +13 -0
  112. package/dist/schedule/scheduleNames.js +17 -0
  113. package/dist/service/AuthService.js +8 -5
  114. package/dist/service/EnumInfoService.js +9 -5
  115. package/dist/service/FileCenterService.js +13 -9
  116. package/dist/service/SysConfigService.d.ts +1 -1
  117. package/dist/service/SysConfigService.js +4 -2
  118. package/dist/service/UserAccountService.js +10 -6
  119. package/dist/service/UserSessionService.d.ts +21 -0
  120. package/dist/service/UserSessionService.js +73 -2
  121. package/dist/service/VisitStatService.d.ts +1 -1
  122. package/dist/service/VisitStatService.js +20 -27
  123. package/dist/service/WorkbenchService.d.ts +33 -0
  124. package/dist/service/WorkbenchService.js +70 -12
  125. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  126. package/dist/service/anyapi/AnyApiService.js +4 -2
  127. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  128. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  129. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  130. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  131. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  132. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  133. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  134. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  135. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  136. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  137. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  138. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  139. package/dist/service/base/BaseService.d.ts +12 -0
  140. package/dist/service/base/BaseService.js +22 -0
  141. package/dist/service/base/RedisCacheService.d.ts +7 -0
  142. package/dist/service/base/RedisCacheService.js +7 -0
  143. package/dist/service/crudstd/CrudStdService.d.ts +8 -1
  144. package/dist/service/crudstd/CrudStdService.js +63 -6
  145. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  146. package/dist/service/curd/CrudProQuick.js +147 -0
  147. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  148. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  149. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  150. package/dist/service/curd/CurdMixByDictService.js +10 -7
  151. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  152. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  153. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  154. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  155. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  156. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  157. package/dist/service/curd/CurdMixService.d.ts +13 -3
  158. package/dist/service/curd/CurdMixService.js +26 -2
  159. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  160. package/dist/service/curd/CurdMixUtils.js +115 -41
  161. package/dist/service/curd/CurdProService.d.ts +3 -10
  162. package/dist/service/curd/CurdProService.js +36 -148
  163. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  164. package/dist/service/curd/fixCfgModel.js +107 -0
  165. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  166. package/dist/service/proxyapi/ProxyApiService.js +28 -7
  167. package/dist/views/404_app.html +31 -31
  168. package/dist/views/404_workbench.html +34 -34
  169. package/package.json +25 -24
  170. package/tsconfig.json +32 -0
  171. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  172. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  173. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  174. package/dist/controller/medstatistic/MedClientController.js +0 -188
  175. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  176. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  177. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  178. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  179. package/dist/controller/medstatistic/constants.d.ts +0 -32
  180. package/dist/controller/medstatistic/constants.js +0 -43
  181. package/src/config/config.default.ts +0 -172
  182. package/src/config/seed/aeskey.txt +0 -1
  183. package/src/config/utils.ts +0 -23
  184. package/src/configuration.ts +0 -83
  185. package/src/controller/base/BaseApiController.ts +0 -145
  186. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  187. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  188. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  189. package/src/controller/gateway/DocGatewayController.ts +0 -165
  190. package/src/controller/gateway/FileController.ts +0 -110
  191. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  192. package/src/controller/gateway/PublicApiController.ts +0 -145
  193. package/src/controller/gateway/StaticController.ts +0 -328
  194. package/src/controller/helpers.controller.ts +0 -161
  195. package/src/controller/home.controller.ts +0 -71
  196. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  197. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  198. package/src/controller/manage/AppMangeApi.ts +0 -53
  199. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  200. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  201. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  202. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  203. package/src/controller/manage/DataDictManageApi.ts +0 -78
  204. package/src/controller/manage/DeployManageApi.ts +0 -179
  205. package/src/controller/manage/DocLibManageApi.ts +0 -69
  206. package/src/controller/manage/DocManageApi.ts +0 -99
  207. package/src/controller/manage/FileManageApi.ts +0 -45
  208. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  209. package/src/controller/manage/MenuManageApi.ts +0 -63
  210. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  211. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  212. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  213. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  214. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  215. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  216. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  217. package/src/controller/medstatistic/MedClientController.ts +0 -188
  218. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  219. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  220. package/src/controller/medstatistic/constants.ts +0 -63
  221. package/src/controller/myinfo/AuthController.ts +0 -174
  222. package/src/controller/myinfo/MyInfoController.ts +0 -32
  223. package/src/controller/render/AppRenderController.ts +0 -76
  224. package/src/controller/test.controller.ts +0 -37
  225. package/src/filter/default.filter.ts +0 -13
  226. package/src/filter/notfound.filter.ts +0 -10
  227. package/src/index.ts +0 -71
  228. package/src/interface.ts +0 -31
  229. package/src/libs/crud-pro/CrudPro.ts +0 -158
  230. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  231. package/src/libs/crud-pro/exceptions.ts +0 -124
  232. package/src/libs/crud-pro/interfaces.ts +0 -183
  233. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  234. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  235. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  236. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  237. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  238. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  239. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  240. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  241. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  242. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  243. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  244. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  245. package/src/libs/crud-pro/models/keys.ts +0 -159
  246. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  247. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  248. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  249. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  250. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  251. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  252. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  253. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  254. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  255. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  256. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  257. package/src/libs/crud-pro/sql.txt +0 -120
  258. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  259. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  260. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  261. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  262. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  263. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  264. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  265. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  266. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  267. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  268. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  269. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  270. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  271. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  272. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  273. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  274. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  275. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  276. package/src/libs/utils/common-dto.ts +0 -52
  277. package/src/libs/utils/crypto-utils.ts +0 -52
  278. package/src/libs/utils/fatcms-request.ts +0 -115
  279. package/src/libs/utils/functions.ts +0 -67
  280. package/src/libs/utils/ordernum-utils.ts +0 -18
  281. package/src/libs/utils/parseConfig.ts +0 -62
  282. package/src/libs/utils/parseCreateSql.ts +0 -91
  283. package/src/libs/utils/render-utils.ts +0 -184
  284. package/src/middleware/forbidden.middleware.ts +0 -71
  285. package/src/middleware/global.middleware.ts +0 -278
  286. package/src/middleware/permission.middleware.ts +0 -81
  287. package/src/middleware/tx.middleware.ts +0 -30
  288. package/src/models/SystemEntities.ts +0 -115
  289. package/src/models/SystemPerm.ts +0 -105
  290. package/src/models/SystemTables.ts +0 -30
  291. package/src/models/bizmodels.ts +0 -89
  292. package/src/models/contextLogger.ts +0 -132
  293. package/src/models/devops.ts +0 -17
  294. package/src/models/userSession.ts +0 -216
  295. package/src/schedule/index.ts +0 -73
  296. package/src/service/AuthService.ts +0 -270
  297. package/src/service/EnumInfoService.ts +0 -129
  298. package/src/service/FileCenterService.ts +0 -394
  299. package/src/service/SysConfigService.ts +0 -34
  300. package/src/service/UserAccountService.ts +0 -100
  301. package/src/service/UserSessionService.ts +0 -81
  302. package/src/service/VisitStatService.ts +0 -179
  303. package/src/service/WorkbenchService.ts +0 -160
  304. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  305. package/src/service/anyapi/AnyApiService.ts +0 -184
  306. package/src/service/base/ApiBaseService.ts +0 -42
  307. package/src/service/base/ApiRateLimiter.ts +0 -59
  308. package/src/service/base/BaseService.ts +0 -74
  309. package/src/service/base/RedisCacheService.ts +0 -38
  310. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  311. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  312. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  313. package/src/service/crudstd/CrudStdService.ts +0 -188
  314. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  315. package/src/service/curd/CurdMixByDictService.ts +0 -113
  316. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  317. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  318. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  319. package/src/service/curd/CurdMixService.ts +0 -65
  320. package/src/service/curd/CurdMixUtils.ts +0 -248
  321. package/src/service/curd/CurdProService.ts +0 -379
  322. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  323. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  324. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  325. package/src/service/proxyapi/RouteHandler.ts +0 -8
  326. package/src/service/proxyapi/RouteTrie.ts +0 -74
  327. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  328. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  329. package/src/views/404_app.html +0 -31
  330. package/src/views/404_workbench.html +0 -34
  331. package/src/views/static/favicon.ico +0 -0
@@ -1,120 +1,120 @@
1
- drop table sys_configs;
2
- create table sys_configs
3
- (
4
- id bigint unsigned auto_increment primary key,
5
- config_name varchar(256) not null comment '配置项的中文名',
6
- config_code varchar(128) not null comment '配置项的唯一编码',
7
- config_type varchar(64) not null comment '配置类型: json/xml/sheet/text',
8
- config_content longtext not null comment '配置内容',
9
-
10
- created_by varchar(128) null comment '创建人',
11
- modified_by varchar(128) null comment '修改人',
12
- created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
13
- modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
14
- status int default 0 not null comment '状态: 0 未启用, 1 已启用',
15
-
16
- constraint code_idx unique (config_code)
17
- )
18
- charset=utf8;
19
-
20
-
21
-
22
-
23
-
24
- drop table sys_crud_methods;
25
- create table sys_crud_methods
26
- (
27
- id bigint unsigned auto_increment comment '自增ID'
28
- primary key,
29
- method varchar(256) not null comment '方法名,全局唯一',
30
- columns varchar(256) null comment '返回哪些列,为空就是返回所有列',
31
- max_limit bigint default 20 null comment '最大一次性返回的数量',
32
- sql_simple_name varchar(256) null comment '简单查询模式;SQL缩写名称',
33
- sql_cfg_list text null comment '自定义查询模式查询模式;大JSON; ISqlCfgModel数组',
34
- sql_table varchar(256) null comment '操作哪个表;可以为空, originSql中不包含@@table时可以为空',
35
- sql_schema varchar(256) null comment '操作哪个数据库Schema;可以为空,',
36
- sql_database varchar(256) null comment '操作哪个数据库;可以为空,用于运行时选择数据库链接',
37
- transaction_enable bigint default 0 null comment '是否开启事务,默认不开启,每条语句都是autocommit',
38
- transaction_isolation bigint default 1 null comment '事务隔离级别; 实际只能是(0,1,2,4,8)',
39
- more_config longtext null comment '更多自定义配置;大JSON',
40
-
41
- created_by varchar(128) null comment '创建人',
42
- modified_by varchar(128) null comment '修改人',
43
- created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
44
- modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
45
- status int default 0 not null comment '状态: 0 未启用, 1 已启用',
46
-
47
- constraint method_idx unique (method)
48
- )
49
- comment 'CrudPro方法配置' charset=utf8;
50
-
51
-
52
-
53
-
54
-
55
- drop table sys_data_dict;
56
- create table sys_data_dict
57
- (
58
- id bigint unsigned auto_increment
59
- primary key,
60
- dict_code varchar(128) not null comment '唯一编码,字母数字下划线点号',
61
- dict_name varchar(256) not null comment '中文名称',
62
- dict_desc varchar(512) null comment '中文描述',
63
- dict_type bigint default 1 not null comment '1普通,2树状',
64
- ext_info_desc longtext null comment '扩展字段描述信息',
65
-
66
- created_by varchar(128) null comment '创建人',
67
- modified_by varchar(128) null comment '修改人',
68
- created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
69
- modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
70
- status int default 0 not null comment '状态: 0 未启用, 1 已启用',
71
-
72
- constraint code_idx unique (dict_code)
73
- )
74
- comment '数据字典' charset=utf8;
75
-
76
-
77
-
78
- drop table sys_data_dict_item;
79
- create table sys_data_dict_item
80
- (
81
- id bigint unsigned auto_increment comment '条目ID'
82
- primary key,
83
- parent_id bigint default 0 null comment '条目父ID',
84
- dict_code varchar(128) default '0' not null comment '字典编码',
85
-
86
- label varchar(256) not null comment '条目显示名称;如SexEnum 男,女',
87
- value varchar(128) not null comment '条目值;如SexEnum 0,1',
88
- code varchar(128) not null comment '条目代码;如SexEnum BOY,GIRL; 如果不需要,请将code的值设置成与value一样。',
89
- icon varchar(256) null comment '条目图标: 图标URL',
90
- style varchar(64) null comment '条目样式;样式枚举值:red,yellow,...',
91
- sort bigint default 1 null comment '排序码',
92
-
93
- ext1 varchar(128) null comment '扩展字段1',
94
- ext2 varchar(128) null comment '扩展字段2',
95
- ext3 varchar(128) null comment '扩展字段3',
96
- ext4 varchar(128) null comment '扩展字段4',
97
- ext5 varchar(128) null comment '扩展字段5',
98
- ext6 varchar(128) null comment '扩展字段6',
99
- ext7 varchar(128) null comment '扩展字段7',
100
- ext8 varchar(128) null comment '扩展字段8',
101
- ext9 varchar(128) null comment '扩展字段9',
102
- ext10 varchar(128) null comment '扩展字段10',
103
- ext_more longtext null comment '扩展字段大JSON',
104
-
105
- created_by varchar(128) null comment '创建人',
106
- modified_by varchar(128) null comment '修改人',
107
- created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
108
- modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
109
- status int default 0 not null comment '状态: 0 未启用, 1 已启用',
110
-
111
- constraint code_dict_code_uindex
112
- unique (code, dict_code),
113
- constraint code_dict_value_uindex
114
- unique (value, dict_code)
115
- )
116
- comment '数据字典每一项; 如常见枚举类定义:class SexEnum { BOY(''男'', 1),GIRL(''女'', 0)}' charset=utf8;
117
-
118
- create index code_idx
119
- on sys_data_dict_item (dict_code);
120
-
1
+ drop table sys_configs;
2
+ create table sys_configs
3
+ (
4
+ id bigint unsigned auto_increment primary key,
5
+ config_name varchar(256) not null comment '配置项的中文名',
6
+ config_code varchar(128) not null comment '配置项的唯一编码',
7
+ config_type varchar(64) not null comment '配置类型: json/xml/sheet/text',
8
+ config_content longtext not null comment '配置内容',
9
+
10
+ created_by varchar(128) null comment '创建人',
11
+ modified_by varchar(128) null comment '修改人',
12
+ created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
13
+ modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
14
+ status int default 0 not null comment '状态: 0 未启用, 1 已启用',
15
+
16
+ constraint code_idx unique (config_code)
17
+ )
18
+ charset=utf8;
19
+
20
+
21
+
22
+
23
+
24
+ drop table sys_crud_methods;
25
+ create table sys_crud_methods
26
+ (
27
+ id bigint unsigned auto_increment comment '自增ID'
28
+ primary key,
29
+ method varchar(256) not null comment '方法名,全局唯一',
30
+ columns varchar(256) null comment '返回哪些列,为空就是返回所有列',
31
+ max_limit bigint default 20 null comment '最大一次性返回的数量',
32
+ sql_simple_name varchar(256) null comment '简单查询模式;SQL缩写名称',
33
+ sql_cfg_list text null comment '自定义查询模式查询模式;大JSON; ISqlCfgModel数组',
34
+ sql_table varchar(256) null comment '操作哪个表;可以为空, originSql中不包含@@table时可以为空',
35
+ sql_schema varchar(256) null comment '操作哪个数据库Schema;可以为空,',
36
+ sql_database varchar(256) null comment '操作哪个数据库;可以为空,用于运行时选择数据库链接',
37
+ transaction_enable bigint default 0 null comment '是否开启事务,默认不开启,每条语句都是autocommit',
38
+ transaction_isolation bigint default 1 null comment '事务隔离级别; 实际只能是(0,1,2,4,8)',
39
+ more_config longtext null comment '更多自定义配置;大JSON',
40
+
41
+ created_by varchar(128) null comment '创建人',
42
+ modified_by varchar(128) null comment '修改人',
43
+ created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
44
+ modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
45
+ status int default 0 not null comment '状态: 0 未启用, 1 已启用',
46
+
47
+ constraint method_idx unique (method)
48
+ )
49
+ comment 'CrudPro方法配置' charset=utf8;
50
+
51
+
52
+
53
+
54
+
55
+ drop table sys_data_dict;
56
+ create table sys_data_dict
57
+ (
58
+ id bigint unsigned auto_increment
59
+ primary key,
60
+ dict_code varchar(128) not null comment '唯一编码,字母数字下划线点号',
61
+ dict_name varchar(256) not null comment '中文名称',
62
+ dict_desc varchar(512) null comment '中文描述',
63
+ dict_type bigint default 1 not null comment '1普通,2树状',
64
+ ext_info_desc longtext null comment '扩展字段描述信息',
65
+
66
+ created_by varchar(128) null comment '创建人',
67
+ modified_by varchar(128) null comment '修改人',
68
+ created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
69
+ modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
70
+ status int default 0 not null comment '状态: 0 未启用, 1 已启用',
71
+
72
+ constraint code_idx unique (dict_code)
73
+ )
74
+ comment '数据字典' charset=utf8;
75
+
76
+
77
+
78
+ drop table sys_data_dict_item;
79
+ create table sys_data_dict_item
80
+ (
81
+ id bigint unsigned auto_increment comment '条目ID'
82
+ primary key,
83
+ parent_id bigint default 0 null comment '条目父ID',
84
+ dict_code varchar(128) default '0' not null comment '字典编码',
85
+
86
+ label varchar(256) not null comment '条目显示名称;如SexEnum 男,女',
87
+ value varchar(128) not null comment '条目值;如SexEnum 0,1',
88
+ code varchar(128) not null comment '条目代码;如SexEnum BOY,GIRL; 如果不需要,请将code的值设置成与value一样。',
89
+ icon varchar(256) null comment '条目图标: 图标URL',
90
+ style varchar(64) null comment '条目样式;样式枚举值:red,yellow,...',
91
+ sort bigint default 1 null comment '排序码',
92
+
93
+ ext1 varchar(128) null comment '扩展字段1',
94
+ ext2 varchar(128) null comment '扩展字段2',
95
+ ext3 varchar(128) null comment '扩展字段3',
96
+ ext4 varchar(128) null comment '扩展字段4',
97
+ ext5 varchar(128) null comment '扩展字段5',
98
+ ext6 varchar(128) null comment '扩展字段6',
99
+ ext7 varchar(128) null comment '扩展字段7',
100
+ ext8 varchar(128) null comment '扩展字段8',
101
+ ext9 varchar(128) null comment '扩展字段9',
102
+ ext10 varchar(128) null comment '扩展字段10',
103
+ ext_more longtext null comment '扩展字段大JSON',
104
+
105
+ created_by varchar(128) null comment '创建人',
106
+ modified_by varchar(128) null comment '修改人',
107
+ created_at datetime default CURRENT_TIMESTAMP not null comment '创建时间',
108
+ modified_at datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
109
+ status int default 0 not null comment '状态: 0 未启用, 1 已启用',
110
+
111
+ constraint code_dict_code_uindex
112
+ unique (code, dict_code),
113
+ constraint code_dict_value_uindex
114
+ unique (value, dict_code)
115
+ )
116
+ comment '数据字典每一项; 如常见枚举类定义:class SexEnum { BOY(''男'', 1),GIRL(''女'', 0)}' charset=utf8;
117
+
118
+ create index code_idx
119
+ on sys_data_dict_item (dict_code);
120
+
@@ -2,14 +2,35 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toDatabaseNameStr = exports.parseDatabaseName = exports.SPLIT_CONST = void 0;
4
4
  const keys_1 = require("../models/keys");
5
- const SPLIT_CONST = "_________";
5
+ const SPLIT_CONST = '_________';
6
6
  exports.SPLIT_CONST = SPLIT_CONST;
7
+ const PREFIX_MYSQL = `${keys_1.SqlDbType.mysql}${SPLIT_CONST}`;
8
+ const PREFIX_POSTGRES = `${keys_1.SqlDbType.postgres}${SPLIT_CONST}`;
9
+ const PREFIX_SQLSERVER = `${keys_1.SqlDbType.sqlserver}${SPLIT_CONST}`;
7
10
  function parseDatabaseName(databaseName) {
8
11
  const dbNameArr = databaseName.split(SPLIT_CONST);
12
+ if (databaseName.startsWith(PREFIX_MYSQL)) {
13
+ return {
14
+ dbType: keys_1.SqlDbType.mysql,
15
+ dbName: dbNameArr[1],
16
+ };
17
+ }
18
+ if (databaseName.startsWith(PREFIX_POSTGRES)) {
19
+ return {
20
+ dbType: keys_1.SqlDbType.postgres,
21
+ dbName: dbNameArr[1],
22
+ };
23
+ }
24
+ if (databaseName.startsWith(PREFIX_SQLSERVER)) {
25
+ return {
26
+ dbType: keys_1.SqlDbType.sqlserver,
27
+ dbName: dbNameArr[1],
28
+ };
29
+ }
9
30
  if (dbNameArr.length === 1) {
10
31
  return {
11
32
  dbType: keys_1.SqlDbType.mysql,
12
- dbName: dbNameArr[0]
33
+ dbName: dbNameArr[0],
13
34
  };
14
35
  }
15
36
  if (dbNameArr.length > 1) {
@@ -17,7 +38,7 @@ function parseDatabaseName(databaseName) {
17
38
  const dbType = dbType0;
18
39
  return {
19
40
  dbType,
20
- dbName
41
+ dbName,
21
42
  };
22
43
  }
23
44
  return null;
@@ -43,7 +43,7 @@ const MixinUtils = {
43
43
  return !str1 && !str2;
44
44
  },
45
45
  startsWith(str1, str2) {
46
- if (typeof str1 === "string" && typeof str2 === "string") {
46
+ if (typeof str1 === 'string' && typeof str2 === 'string') {
47
47
  return str1.startsWith(str2);
48
48
  }
49
49
  return false;
@@ -147,7 +147,7 @@ function validateByCfgString(validateCfg, itemValue, errPath) {
147
147
  return;
148
148
  }
149
149
  // 必填
150
- if ("required" === validateCfg) {
150
+ if ('required' === validateCfg) {
151
151
  if (isEmpty(itemValue)) {
152
152
  throw new exceptions_1.CommonException(exceptions_1.Exceptions.VALIDATE_ERR, "'参数校验错误,字段 " + errPath + ' 不满足校验配置:' + validateCfg);
153
153
  }
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toSqlColumnNamesJoin = exports.toSqlColumnName = void 0;
4
4
  const keys_1 = require("../../models/keys");
5
5
  function toSqlColumnName(columnName, sqlCfgModel) {
6
- if (sqlCfgModel.sqlDdType === keys_1.SqlDbType.postgres) {
6
+ if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.postgres) {
7
7
  return '"' + columnName + '"';
8
8
  }
9
- if (sqlCfgModel.sqlDdType === keys_1.SqlDbType.sqlserver) {
9
+ if (sqlCfgModel.sqlDbType === keys_1.SqlDbType.sqlserver) {
10
10
  return '[' + columnName + ']';
11
11
  }
12
12
  return '`' + columnName + '`';
@@ -0,0 +1,3 @@
1
+ import { SqlDbType } from "../../models/keys";
2
+ declare function pickAndConvertRowsByMix(connectionQueryRes: any, sqlDbType: SqlDbType): any[] | any;
3
+ export { pickAndConvertRowsByMix };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pickAndConvertRowsByMix = void 0;
4
+ const keys_1 = require("../../models/keys");
5
+ const convertPgType_1 = require("./convertPgType");
6
+ const _ = require("lodash");
7
+ function pickAndConvertRowsByMix(connectionQueryRes, sqlDbType) {
8
+ if (!connectionQueryRes) {
9
+ throw new Error('[pickAndConvertRowsByMix] error, connectionQueryRes is null ');
10
+ }
11
+ if (sqlDbType === keys_1.SqlDbType.postgres) {
12
+ return (0, convertPgType_1.pickAndConvertPgRows)(connectionQueryRes);
13
+ }
14
+ if (sqlDbType === keys_1.SqlDbType.mysql) {
15
+ return connectionQueryRes[0];
16
+ }
17
+ if (sqlDbType === keys_1.SqlDbType.sqlserver) {
18
+ return _.get(connectionQueryRes, 'recordsets[0]') || [];
19
+ }
20
+ throw new Error('[pickAndConvertRowsByMix] error sqlDbType, sqlDbType = ' + sqlDbType);
21
+ }
22
+ exports.pickAndConvertRowsByMix = pickAndConvertRowsByMix;
@@ -0,0 +1,45 @@
1
+ import { SqlDbType } from '../crud-pro/models/keys';
2
+ interface IGlobalStaticConfig {
3
+ /**
4
+ * CrudStd: 业务系统自定义的修改cfgModel
5
+ * @param reqJson
6
+ * @param cfgModel
7
+ * @param appInfo
8
+ * @param ctx
9
+ */
10
+ bizUpdateCfgModelForCrudStd(reqJson: any, cfgModel: any, appInfo: any, ctx: any): Promise<any>;
11
+ /**
12
+ * CrudMtd: 业务系统自定义的修改cfgModel
13
+ * @param reqJson
14
+ * @param cfgModel
15
+ * @param methodInfo
16
+ * @param ctx
17
+ */
18
+ bizUpdateCfgModelForCrudMtd(reqJson: any, cfgModel: any, methodInfo: any, ctx: any): Promise<any>;
19
+ /**
20
+ * CrudPro: 业务系统自定义的修改cfgModel。这是最底层的!!全局的!!全局的!!全局的!!!
21
+ * @param reqJson
22
+ * @param cfgModel
23
+ */
24
+ bizUpdateCfgModelForCrudPro(reqJson: any, cfgModel: any): Promise<any>;
25
+ /**
26
+ * 生成用户的账号ID,业务系统可以生成类似工号的ID
27
+ * @param userSubmitData
28
+ */
29
+ generateUserAccountId(userSubmitData: any): Promise<string>;
30
+ /**
31
+ * 将业务系统表中的userId映射为fatcms的UserAccountId
32
+ * @param bizTableUserId 业余系统表中的UserId
33
+ */
34
+ toFatcmsUserAccountId(bizTableUserId: any): string;
35
+ SystemDbName: string;
36
+ SystemDbType: SqlDbType;
37
+ }
38
+ declare class GlobalStaticConfig {
39
+ private configObject;
40
+ constructor();
41
+ getConfig(): IGlobalStaticConfig;
42
+ setConfig(configObject: any): void;
43
+ }
44
+ declare const GLOBAL_STATIC_CONFIG: GlobalStaticConfig;
45
+ export { GLOBAL_STATIC_CONFIG };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GLOBAL_STATIC_CONFIG = void 0;
4
+ const keys_1 = require("../crud-pro/models/keys");
5
+ const noop = () => {
6
+ return Promise.resolve();
7
+ };
8
+ class GlobalStaticConfig {
9
+ constructor() {
10
+ this.configObject = {
11
+ bizUpdateCfgModelForCrudStd: noop,
12
+ bizUpdateCfgModelForCrudMtd: noop,
13
+ bizUpdateCfgModelForCrudPro: noop,
14
+ generateUserAccountId: null,
15
+ toFatcmsUserAccountId: (bizTableUserId) => {
16
+ return bizTableUserId;
17
+ },
18
+ SystemDbName: 'fatcms',
19
+ SystemDbType: keys_1.SqlDbType.mysql,
20
+ };
21
+ }
22
+ getConfig() {
23
+ return this.configObject;
24
+ }
25
+ setConfig(configObject) {
26
+ if (!configObject || typeof configObject !== 'object') {
27
+ throw new Error('参数configObject不能为空');
28
+ }
29
+ Object.assign(this.configObject, configObject);
30
+ }
31
+ }
32
+ const GLOBAL_STATIC_CONFIG = new GlobalStaticConfig();
33
+ exports.GLOBAL_STATIC_CONFIG = GLOBAL_STATIC_CONFIG;
@@ -0,0 +1,2 @@
1
+ declare function errorToString(error: any): string;
2
+ export { errorToString };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorToString = void 0;
4
+ function errorToString(error) {
5
+ var _a;
6
+ // 处理非错误对象的情况
7
+ if (typeof error === 'undefined') {
8
+ return 'Error: undefined was thrown';
9
+ }
10
+ if (error === null) {
11
+ return 'Error: null was thrown';
12
+ }
13
+ // 处理原始值类型
14
+ const primitiveTypes = ['string', 'number', 'boolean', 'symbol'];
15
+ if (primitiveTypes.includes(typeof error)) {
16
+ return `Error: A primitive value was thrown\nValue: ${String(error)}`;
17
+ }
18
+ // 处理 Error 对象
19
+ if (error instanceof Error) {
20
+ const errorDetails = [];
21
+ errorDetails.push(`Error: ${error.name || 'Error'}`);
22
+ errorDetails.push(`Message: ${error.message || 'No error message'}`);
23
+ if (error.stack) {
24
+ errorDetails.push('Stack Trace:');
25
+ errorDetails.push(error.stack);
26
+ }
27
+ const extraProperties = ['code', 'fileName', 'lineNumber', 'columnNumber'];
28
+ extraProperties.forEach(prop => {
29
+ if (error[prop] !== undefined) {
30
+ errorDetails.push(`${prop}: ${error[prop]}`);
31
+ }
32
+ });
33
+ const customProps = Object.keys(error).filter(key => !['name', 'message', 'stack', ...extraProperties].includes(key));
34
+ if (customProps.length > 0) {
35
+ errorDetails.push('Custom Properties:');
36
+ customProps.forEach(prop => {
37
+ try {
38
+ const value = JSON.stringify(error[prop], null, 2) || String(error[prop]);
39
+ errorDetails.push(` ${prop}: ${value}`);
40
+ }
41
+ catch (e) {
42
+ errorDetails.push(` ${prop}: [Object cannot be serialized]`);
43
+ }
44
+ });
45
+ }
46
+ return errorDetails.join('\n');
47
+ }
48
+ // 处理普通对象
49
+ try {
50
+ const objectDetails = JSON.stringify(error, null, 2);
51
+ return `Error: A plain object was thrown\nObject: ${objectDetails}`;
52
+ }
53
+ catch (e) {
54
+ return `Error: An object was thrown but could not be serialized\nType: ${((_a = error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown'}`;
55
+ }
56
+ }
57
+ exports.errorToString = errorToString;
@@ -84,7 +84,7 @@ async function isCsrfTokenValid(ctx) {
84
84
  const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
85
85
  if (depryptToken) {
86
86
  const num = Number(depryptToken);
87
- if (num && ((num + 6 * 3600 * 1000) > Date.now())) {
87
+ if (num && num + 6 * 3600 * 1000 > Date.now()) {
88
88
  return true;
89
89
  }
90
90
  }
@@ -98,7 +98,7 @@ exports.isCsrfTokenValid = isCsrfTokenValid;
98
98
  async function assertCsrfToken(ctx) {
99
99
  const isOK = await isCsrfTokenValid(ctx);
100
100
  if (!isOK) {
101
- throw new exceptions_1.CommonException("ASSERT_CSRF_TOKEN_ERROR", "CSRF_TOKEN 验证失败");
101
+ throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
102
102
  }
103
103
  }
104
104
  exports.assertCsrfToken = assertCsrfToken;
@@ -1,4 +1,5 @@
1
1
  declare function createUniqueId(): string;
2
2
  declare function parseJsonObject(str: any): any;
3
3
  declare function parseStringTrimArray(obj: any, separator?: string): string[];
4
- export { createUniqueId, parseJsonObject, parseStringTrimArray };
4
+ declare function getCurrentFullMoment(): string;
5
+ export { createUniqueId, parseJsonObject, parseStringTrimArray, getCurrentFullMoment };
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseStringTrimArray = exports.parseJsonObject = exports.createUniqueId = void 0;
3
+ exports.getCurrentFullMoment = exports.parseStringTrimArray = exports.parseJsonObject = exports.createUniqueId = void 0;
4
4
  const md5 = require("md5");
5
+ const moment = require("moment");
5
6
  let createUniqueIdIndex = 0;
6
7
  function createUniqueId() {
7
8
  createUniqueIdIndex++;
@@ -61,3 +62,7 @@ function parseStringTrimArray(obj, separator = ',') {
61
62
  return null;
62
63
  }
63
64
  exports.parseStringTrimArray = parseStringTrimArray;
65
+ function getCurrentFullMoment() {
66
+ return moment(Date.now()).format('YYYY-MM-DD HH:mm:ss.SSS');
67
+ }
68
+ exports.getCurrentFullMoment = getCurrentFullMoment;
@@ -9,24 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ForbiddenMiddleware = void 0;
10
10
  const core_1 = require("@midwayjs/core");
11
11
  // 一些爬虫/漏洞分析工具会来请求这玩意。
12
- const blackEqualList = [
13
- '/config.json',
14
- '/backend/.env',
15
- '/application.yml',
16
- '/db.ini',
17
- '/.well-known/security.txt',
18
- ];
19
- const blackPrefixList = [
20
- '/.aws/',
21
- '/.git/',
22
- '/.svn/',
23
- '/.env/',
24
- '/src/',
25
- '/var/logs/',
26
- '/var/log/',
27
- '/cgi-bin/',
28
- '/php-cgi/',
29
- ];
12
+ const blackEqualList = ['/config.json', '/backend/.env', '/application.yml', '/db.ini', '/.well-known/security.txt'];
13
+ const blackPrefixList = ['/.aws/', '/.git/', '/.svn/', '/.env/', '/src/', '/var/logs/', '/var/log/', '/cgi-bin/', '/php-cgi/'];
30
14
  /**
31
15
  * 针对一些路径禁止访问。避免一些爬虫抓取网站内容,实际上这里枚举的路径,本身就是不存在的。只是为了提前拦截,为了服务器性能考虑。
32
16
  */
@@ -55,9 +39,9 @@ let ForbiddenMiddleware = class ForbiddenMiddleware {
55
39
  }
56
40
  resolve() {
57
41
  return async (ctx, next) => {
58
- ctx.set({ "content-type": "text/html; charset=utf-8" });
42
+ ctx.set({ 'content-type': 'text/html; charset=utf-8' });
59
43
  ctx.status = 404;
60
- ctx.body = "404!404!404!重要的事情说三遍!";
44
+ ctx.body = '404!404!404!重要的事情说三遍!';
61
45
  };
62
46
  }
63
47
  static getName() {
@@ -37,6 +37,15 @@ function isBlob(obj) {
37
37
  function isStream(obj) {
38
38
  return obj && obj instanceof node_stream_1.Stream;
39
39
  }
40
+ async function getUserSessionService(ctx) {
41
+ return ctx.requestContext.getAsync(UserSessionService_1.UserSessionService);
42
+ }
43
+ async function getWorkbenchService(ctx) {
44
+ return ctx.requestContext.getAsync(WorkbenchService_1.WorkbenchService);
45
+ }
46
+ async function getVisitStatService(ctx) {
47
+ return ctx.requestContext.getAsync(VisitStatService_1.VisitStatService);
48
+ }
40
49
  /**
41
50
  * 专门对ExecuteSqlContext对象进行处理
42
51
  * @param res
@@ -121,15 +130,6 @@ function handleDebugRes(beforeRes, ctx, originRes) {
121
130
  nextRes.debugInfo = debugInfo;
122
131
  return nextRes;
123
132
  }
124
- async function getUserSessionService(ctx) {
125
- return ctx.requestContext.getAsync(UserSessionService_1.UserSessionService);
126
- }
127
- async function getWorkbenchService(ctx) {
128
- return ctx.requestContext.getAsync(WorkbenchService_1.WorkbenchService);
129
- }
130
- async function getVisitStatService(ctx) {
131
- return ctx.requestContext.getAsync(VisitStatService_1.VisitStatService);
132
- }
133
133
  /**
134
134
  * 检查是否是超级管理员
135
135
  * @param ctx
@@ -155,6 +155,12 @@ function checkIsSuperAdmin(ctx, sessionInfo) {
155
155
  }
156
156
  return false;
157
157
  }
158
+ /**
159
+ * 处理调试错误
160
+ * @param e
161
+ * @param ctx
162
+ * @returns
163
+ */
158
164
  function handleDebugError(e, ctx) {
159
165
  ctx.logger.error('GlobalMiddleware', e);
160
166
  let errorStack = null;
@@ -177,6 +183,10 @@ function handleDebugError(e, ctx) {
177
183
  }
178
184
  return res;
179
185
  }
186
+ /**
187
+ * 数据埋点
188
+ * @param ctx
189
+ */
180
190
  async function trackRequest(ctx) {
181
191
  try {
182
192
  const visitStatService = await getVisitStatService(ctx);
@@ -186,13 +196,23 @@ async function trackRequest(ctx) {
186
196
  console.error('trackRequestError', e);
187
197
  }
188
198
  }
199
+ /**
200
+ * 这些路径不需要配置用户信息等操作
201
+ */
202
+ const excludePathPrefix = ['/ns/static/', '/ns/api/helpers'];
189
203
  /**
190
204
  * 全局中间件
191
205
  */
192
206
  let GlobalMiddleware = class GlobalMiddleware {
193
207
  match(ctx) {
194
208
  const path = ctx.path;
195
- return !(path.startsWith('/ns/static/'));
209
+ for (let i = 0; i < excludePathPrefix.length; i++) {
210
+ const excludePathPrefix1 = excludePathPrefix[i];
211
+ if (path.startsWith(excludePathPrefix1)) {
212
+ return false;
213
+ }
214
+ }
215
+ return true;
196
216
  }
197
217
  resolve() {
198
218
  return async (ctx, next) => {