midway-fatcms 0.0.1-beta.71 → 0.0.1-beta.72

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 (373) hide show
  1. package/.eslintrc.json +14 -14
  2. package/.prettierrc.js +4 -4
  3. package/README.md +8 -8
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +171 -171
  6. package/dist/config/utils.d.ts +1 -1
  7. package/dist/config/utils.js +23 -23
  8. package/dist/configuration.d.ts +7 -7
  9. package/dist/configuration.js +113 -113
  10. package/dist/controller/base/BaseApiController.d.ts +42 -42
  11. package/dist/controller/base/BaseApiController.js +189 -189
  12. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  13. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  14. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
  15. package/dist/controller/gateway/AsyncTaskController.js +181 -181
  16. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  17. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -122
  18. package/dist/controller/gateway/CrudStdGatewayController.d.ts +39 -39
  19. package/dist/controller/gateway/CrudStdGatewayController.js +149 -149
  20. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  21. package/dist/controller/gateway/DocGatewayController.js +179 -179
  22. package/dist/controller/gateway/FileController.d.ts +32 -32
  23. package/dist/controller/gateway/FileController.js +160 -160
  24. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  25. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  26. package/dist/controller/gateway/PublicApiController.d.ts +33 -33
  27. package/dist/controller/gateway/PublicApiController.js +201 -201
  28. package/dist/controller/gateway/StaticController.d.ts +23 -23
  29. package/dist/controller/gateway/StaticController.js +286 -286
  30. package/dist/controller/helpers.controller.d.ts +39 -39
  31. package/dist/controller/helpers.controller.js +188 -188
  32. package/dist/controller/home.controller.d.ts +9 -9
  33. package/dist/controller/home.controller.js +72 -72
  34. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  35. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  36. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  37. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  38. package/dist/controller/manage/AppMangeApi.d.ts +12 -12
  39. package/dist/controller/manage/AppMangeApi.js +101 -101
  40. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  41. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  42. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  43. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  44. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  45. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  46. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
  47. package/dist/controller/manage/CrudStandardDesignApi.js +367 -367
  48. package/dist/controller/manage/DataDictManageApi.d.ts +17 -15
  49. package/dist/controller/manage/DataDictManageApi.js +165 -133
  50. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  51. package/dist/controller/manage/DeployManageApi.js +180 -180
  52. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  53. package/dist/controller/manage/DocLibManageApi.js +104 -104
  54. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  55. package/dist/controller/manage/DocManageApi.js +130 -130
  56. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  57. package/dist/controller/manage/FileManageApi.js +77 -77
  58. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  59. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  60. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  61. package/dist/controller/manage/MenuManageApi.js +93 -93
  62. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  63. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  64. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  65. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  66. package/dist/controller/manage/SysConfigMangeApi.d.ts +12 -12
  67. package/dist/controller/manage/SysConfigMangeApi.js +133 -133
  68. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  69. package/dist/controller/manage/SystemInfoManageApi.js +72 -72
  70. package/dist/controller/manage/UserAccountManageApi.d.ts +16 -16
  71. package/dist/controller/manage/UserAccountManageApi.js +153 -153
  72. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  73. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  74. package/dist/controller/myinfo/AuthController.d.ts +37 -33
  75. package/dist/controller/myinfo/AuthController.js +157 -136
  76. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  77. package/dist/controller/myinfo/MyInfoController.js +51 -51
  78. package/dist/controller/render/AppRenderController.d.ts +12 -12
  79. package/dist/controller/render/AppRenderController.js +87 -87
  80. package/dist/controller/test.controller.d.ts +8 -8
  81. package/dist/controller/test.controller.js +51 -51
  82. package/dist/filter/default.filter.d.ts +7 -7
  83. package/dist/filter/default.filter.js +23 -23
  84. package/dist/filter/notfound.filter.d.ts +5 -5
  85. package/dist/filter/notfound.filter.js +20 -20
  86. package/dist/index.d.ts +105 -104
  87. package/dist/index.js +123 -122
  88. package/dist/interface.d.ts +29 -29
  89. package/dist/interface.js +3 -3
  90. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  91. package/dist/libs/crud-pro/CrudPro.js +136 -136
  92. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  93. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  94. package/dist/libs/crud-pro/exceptions.d.ts +106 -106
  95. package/dist/libs/crud-pro/exceptions.js +119 -119
  96. package/dist/libs/crud-pro/interfaces.d.ts +166 -166
  97. package/dist/libs/crud-pro/interfaces.js +12 -12
  98. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +50 -50
  99. package/dist/libs/crud-pro/models/ExecuteContext.js +87 -87
  100. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  102. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  103. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  104. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  105. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  106. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  107. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  108. package/dist/libs/crud-pro/models/ResModel.d.ts +20 -20
  109. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  110. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  111. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  112. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +23 -23
  113. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  114. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  115. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  116. package/dist/libs/crud-pro/models/Transaction.d.ts +30 -30
  117. package/dist/libs/crud-pro/models/Transaction.js +74 -74
  118. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  119. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  120. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  121. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  122. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  124. package/dist/libs/crud-pro/models/keys.d.ts +110 -110
  125. package/dist/libs/crud-pro/models/keys.js +154 -154
  126. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  128. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -125
  130. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -225
  132. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  134. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  136. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +355 -355
  138. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  140. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +339 -339
  142. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.js +88 -88
  144. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +72 -72
  146. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  148. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  149. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  150. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  152. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  153. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  154. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  155. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  156. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  157. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  158. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  159. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  160. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  161. package/dist/libs/crud-pro/utils/ModelUtils.js +54 -54
  162. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  164. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  165. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  166. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  167. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  168. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  169. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  170. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  172. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  174. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  177. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -35
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +14 -14
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +14 -14
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  186. package/dist/libs/global-config/global-config.d.ts +69 -69
  187. package/dist/libs/global-config/global-config.js +36 -36
  188. package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -76
  189. package/dist/libs/utils/AsymmetricCrypto.js +261 -261
  190. package/dist/libs/utils/base64.d.ts +9 -9
  191. package/dist/libs/utils/base64.js +42 -42
  192. package/dist/libs/utils/common-dto.d.ts +18 -18
  193. package/dist/libs/utils/common-dto.js +40 -40
  194. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  195. package/dist/libs/utils/crypto-utils.js +46 -46
  196. package/dist/libs/utils/errorToString.d.ts +2 -2
  197. package/dist/libs/utils/errorToString.js +57 -57
  198. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  199. package/dist/libs/utils/fatcms-request.js +104 -104
  200. package/dist/libs/utils/format-url.d.ts +2 -2
  201. package/dist/libs/utils/format-url.js +13 -13
  202. package/dist/libs/utils/functions.d.ts +5 -5
  203. package/dist/libs/utils/functions.js +76 -72
  204. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  205. package/dist/libs/utils/ordernum-utils.js +13 -13
  206. package/dist/libs/utils/parseConfig.d.ts +8 -8
  207. package/dist/libs/utils/parseConfig.js +47 -47
  208. package/dist/libs/utils/parseCreateSql.d.ts +10 -10
  209. package/dist/libs/utils/parseCreateSql.js +87 -87
  210. package/dist/libs/utils/render-utils.d.ts +37 -37
  211. package/dist/libs/utils/render-utils.js +154 -154
  212. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  213. package/dist/middleware/forbidden.middleware.js +54 -54
  214. package/dist/middleware/global.middleware.d.ts +10 -10
  215. package/dist/middleware/global.middleware.js +273 -273
  216. package/dist/middleware/permission.middleware.d.ts +18 -18
  217. package/dist/middleware/permission.middleware.js +74 -74
  218. package/dist/middleware/rediscache.middleware.d.ts +3 -3
  219. package/dist/middleware/rediscache.middleware.js +77 -77
  220. package/dist/middleware/redislock.middleware.d.ts +7 -7
  221. package/dist/middleware/redislock.middleware.js +72 -72
  222. package/dist/middleware/tx.middleware.d.ts +9 -9
  223. package/dist/middleware/tx.middleware.js +40 -40
  224. package/dist/models/AsyncTaskModel.d.ts +74 -74
  225. package/dist/models/AsyncTaskModel.js +31 -31
  226. package/dist/models/RedisKeys.d.ts +15 -15
  227. package/dist/models/RedisKeys.js +18 -18
  228. package/dist/models/SystemEntities.d.ts +117 -117
  229. package/dist/models/SystemEntities.js +17 -17
  230. package/dist/models/SystemPerm.d.ts +95 -95
  231. package/dist/models/SystemPerm.js +100 -100
  232. package/dist/models/SystemTables.d.ts +25 -25
  233. package/dist/models/SystemTables.js +28 -28
  234. package/dist/models/WorkbenchInfoTools.d.ts +7 -7
  235. package/dist/models/WorkbenchInfoTools.js +20 -20
  236. package/dist/models/bizmodels.d.ts +138 -138
  237. package/dist/models/bizmodels.js +61 -61
  238. package/dist/models/contextLogger.d.ts +27 -27
  239. package/dist/models/contextLogger.js +119 -119
  240. package/dist/models/devops.d.ts +12 -12
  241. package/dist/models/devops.js +19 -19
  242. package/dist/models/userSession.d.ts +65 -64
  243. package/dist/models/userSession.js +168 -167
  244. package/dist/schedule/anonymousContext.d.ts +14 -14
  245. package/dist/schedule/anonymousContext.js +62 -61
  246. package/dist/schedule/index.d.ts +4 -4
  247. package/dist/schedule/index.js +10 -10
  248. package/dist/schedule/runSchedule.d.ts +12 -12
  249. package/dist/schedule/runSchedule.js +68 -68
  250. package/dist/schedule/scheduleNames.d.ts +13 -13
  251. package/dist/schedule/scheduleNames.js +17 -17
  252. package/dist/service/AuthService.d.ts +57 -71
  253. package/dist/service/AuthService.js +265 -270
  254. package/dist/service/EnumInfoService.d.ts +30 -31
  255. package/dist/service/EnumInfoService.js +97 -120
  256. package/dist/service/FileCenterService.d.ts +64 -64
  257. package/dist/service/FileCenterService.js +422 -422
  258. package/dist/service/SysAppService.d.ts +14 -14
  259. package/dist/service/SysAppService.js +96 -96
  260. package/dist/service/SysConfigService.d.ts +10 -10
  261. package/dist/service/SysConfigService.js +64 -64
  262. package/dist/service/SysDictDataService.d.ts +9 -0
  263. package/dist/service/SysDictDataService.js +72 -0
  264. package/dist/service/UserAccountService.d.ts +23 -23
  265. package/dist/service/UserAccountService.js +107 -107
  266. package/dist/service/UserSessionService.d.ts +43 -43
  267. package/dist/service/UserSessionService.js +163 -163
  268. package/dist/service/VisitStatService.d.ts +14 -14
  269. package/dist/service/VisitStatService.js +158 -158
  270. package/dist/service/WorkbenchService.d.ts +59 -59
  271. package/dist/service/WorkbenchService.js +249 -249
  272. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  273. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  274. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  275. package/dist/service/anyapi/AnyApiService.js +181 -181
  276. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
  277. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
  278. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  279. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  280. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
  281. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
  282. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
  283. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
  284. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
  285. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
  286. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
  287. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
  288. package/dist/service/base/ApiBaseService.d.ts +15 -15
  289. package/dist/service/base/ApiBaseService.js +50 -50
  290. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  291. package/dist/service/base/ApiRateLimiter.js +51 -51
  292. package/dist/service/base/BaseService.d.ts +41 -41
  293. package/dist/service/base/BaseService.js +101 -101
  294. package/dist/service/base/cache/CacheServiceFactory.d.ts +23 -23
  295. package/dist/service/base/cache/CacheServiceFactory.js +83 -83
  296. package/dist/service/base/cache/CtxCache.d.ts +18 -18
  297. package/dist/service/base/cache/CtxCache.js +37 -37
  298. package/dist/service/base/cache/DiskCache.d.ts +19 -19
  299. package/dist/service/base/cache/DiskCache.js +74 -74
  300. package/dist/service/base/cache/MemoryCache.d.ts +12 -12
  301. package/dist/service/base/cache/MemoryCache.js +58 -58
  302. package/dist/service/base/cache/NoneCache.d.ts +10 -10
  303. package/dist/service/base/cache/NoneCache.js +19 -19
  304. package/dist/service/base/cache/RedisCache.d.ts +14 -14
  305. package/dist/service/base/cache/RedisCache.js +31 -31
  306. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  307. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  308. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  309. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  310. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  311. package/dist/service/crudstd/CrudStdRelationService.js +121 -121
  312. package/dist/service/crudstd/CrudStdService.d.ts +60 -60
  313. package/dist/service/crudstd/CrudStdService.js +376 -376
  314. package/dist/service/curd/CrudProQuick.d.ts +50 -50
  315. package/dist/service/curd/CrudProQuick.js +163 -163
  316. package/dist/service/curd/CurdMixByAccountService.d.ts +13 -13
  317. package/dist/service/curd/CurdMixByAccountService.js +151 -151
  318. package/dist/service/curd/CurdMixByDictService.d.ts +12 -12
  319. package/dist/service/curd/CurdMixByDictService.js +114 -114
  320. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -30
  321. package/dist/service/curd/CurdMixByLinkToCustomService.js +202 -202
  322. package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -13
  323. package/dist/service/curd/CurdMixBySysConfigService.js +116 -116
  324. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -11
  325. package/dist/service/curd/CurdMixByWorkbenchService.js +80 -80
  326. package/dist/service/curd/CurdMixService.d.ts +28 -28
  327. package/dist/service/curd/CurdMixService.js +100 -100
  328. package/dist/service/curd/CurdMixUtils.d.ts +57 -57
  329. package/dist/service/curd/CurdMixUtils.js +331 -331
  330. package/dist/service/curd/CurdProService.d.ts +32 -32
  331. package/dist/service/curd/CurdProService.js +212 -212
  332. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  333. package/dist/service/curd/fixCfgModel.js +104 -104
  334. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  335. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  336. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
  337. package/dist/service/proxyapi/ProxyApiService.js +294 -294
  338. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  339. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  340. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  341. package/dist/service/proxyapi/RouteHandler.js +9 -9
  342. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  343. package/dist/service/proxyapi/RouteTrie.js +63 -63
  344. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  345. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  346. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  347. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  348. package/index.d.ts +10 -10
  349. package/package.json +87 -87
  350. package/src/controller/base/BaseApiController.ts +6 -7
  351. package/src/controller/manage/DataDictManageApi.ts +41 -0
  352. package/src/controller/myinfo/AuthController.ts +23 -4
  353. package/src/index.ts +1 -0
  354. package/src/libs/utils/AsymmetricCrypto.ts +307 -310
  355. package/src/libs/utils/format-url.ts +15 -15
  356. package/src/libs/utils/functions.ts +7 -3
  357. package/src/libs/utils/render-utils.ts +216 -216
  358. package/src/models/WorkbenchInfoTools.ts +19 -19
  359. package/src/models/bizmodels.ts +1 -1
  360. package/src/models/userSession.ts +2 -0
  361. package/src/schedule/anonymousContext.ts +1 -0
  362. package/src/service/AuthService.ts +44 -48
  363. package/src/service/EnumInfoService.ts +16 -42
  364. package/src/service/SysAppService.ts +88 -88
  365. package/src/service/SysDictDataService.ts +63 -0
  366. package/src/service/WorkbenchService.ts +277 -277
  367. package/src/service/base/cache/CacheServiceFactory.ts +86 -86
  368. package/src/service/base/cache/CtxCache.ts +45 -45
  369. package/src/service/base/cache/DiskCache.ts +82 -82
  370. package/src/service/base/cache/MemoryCache.ts +68 -68
  371. package/src/service/base/cache/NoneCache.ts +24 -24
  372. package/src/service/base/cache/RedisCache.ts +41 -41
  373. package/tsconfig.json +32 -32
@@ -1,18 +1,18 @@
1
- export interface ICommonResult {
2
- success: boolean;
3
- data?: any;
4
- message?: string;
5
- code?: string;
6
- debugInfo?: any;
7
- }
8
- export declare class CommonResult implements ICommonResult {
9
- code: string;
10
- data: any;
11
- message: string;
12
- success: boolean;
13
- debugInfo: any;
14
- static successNotNull(data?: any): CommonResult;
15
- static successRes(data?: any): CommonResult;
16
- static successMsg(message: string, data?: any): CommonResult;
17
- static errorRes(message: string, errorCode?: string, debugInfo?: any): CommonResult;
18
- }
1
+ export interface ICommonResult {
2
+ success: boolean;
3
+ data?: any;
4
+ message?: string;
5
+ code?: string;
6
+ debugInfo?: any;
7
+ }
8
+ export declare class CommonResult implements ICommonResult {
9
+ code: string;
10
+ data: any;
11
+ message: string;
12
+ success: boolean;
13
+ debugInfo: any;
14
+ static successNotNull(data?: any): CommonResult;
15
+ static successRes(data?: any): CommonResult;
16
+ static successMsg(message: string, data?: any): CommonResult;
17
+ static errorRes(message: string, errorCode?: string, debugInfo?: any): CommonResult;
18
+ }
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommonResult = void 0;
4
- class CommonResult {
5
- static successNotNull(data) {
6
- const res = new CommonResult();
7
- if (data) {
8
- res.success = true;
9
- res.data = data;
10
- }
11
- else {
12
- res.success = false;
13
- res.message = '对象找不到';
14
- }
15
- return res;
16
- }
17
- static successRes(data) {
18
- const res = new CommonResult();
19
- res.success = true;
20
- res.data = data;
21
- return res;
22
- }
23
- static successMsg(message, data) {
24
- const res = new CommonResult();
25
- res.success = true;
26
- res.message = message;
27
- res.data = data;
28
- return res;
29
- }
30
- static errorRes(message, errorCode = '', debugInfo = null) {
31
- const res = new CommonResult();
32
- res.success = false;
33
- res.data = null;
34
- res.message = message;
35
- res.code = errorCode;
36
- res.debugInfo = debugInfo;
37
- return res;
38
- }
39
- }
40
- exports.CommonResult = CommonResult;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonResult = void 0;
4
+ class CommonResult {
5
+ static successNotNull(data) {
6
+ const res = new CommonResult();
7
+ if (data) {
8
+ res.success = true;
9
+ res.data = data;
10
+ }
11
+ else {
12
+ res.success = false;
13
+ res.message = '对象找不到';
14
+ }
15
+ return res;
16
+ }
17
+ static successRes(data) {
18
+ const res = new CommonResult();
19
+ res.success = true;
20
+ res.data = data;
21
+ return res;
22
+ }
23
+ static successMsg(message, data) {
24
+ const res = new CommonResult();
25
+ res.success = true;
26
+ res.message = message;
27
+ res.data = data;
28
+ return res;
29
+ }
30
+ static errorRes(message, errorCode = '', debugInfo = null) {
31
+ const res = new CommonResult();
32
+ res.success = false;
33
+ res.data = null;
34
+ res.message = message;
35
+ res.code = errorCode;
36
+ res.debugInfo = debugInfo;
37
+ return res;
38
+ }
39
+ }
40
+ exports.CommonResult = CommonResult;
@@ -1,3 +1,3 @@
1
- import { Aes128CBC } from 'aes-128-cbc';
2
- declare const privateAES: Aes128CBC;
3
- export { privateAES };
1
+ import { Aes128CBC } from 'aes-128-cbc';
2
+ declare const privateAES: Aes128CBC;
3
+ export { privateAES };
@@ -1,46 +1,46 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.privateAES = void 0;
4
- const crypto = require("crypto");
5
- const path = require("path");
6
- const fs = require("fs");
7
- const md5 = require("md5");
8
- const aes_128_cbc_1 = require("aes-128-cbc");
9
- function hashUtf8Hex(data) {
10
- const hash = crypto.createHash('sha256');
11
- const chunkSize = 1024; // 每次处理 1MB 数据
12
- for (let i = 0; i < data.length; i += chunkSize) {
13
- const chunk = data.slice(i, i + chunkSize);
14
- const inputBuffer = Buffer.from(chunk, 'utf8');
15
- hash.update(inputBuffer);
16
- }
17
- return hash.digest('hex');
18
- }
19
- function readSeed1() {
20
- // 这个文件肯定存在
21
- const t = path.join(__dirname, '../../config/seed/aeskey.txt');
22
- return fs.readFileSync(t, 'utf-8');
23
- }
24
- function readSeed2() {
25
- const filePath = path.join(__dirname, '../../../config/seed/aeskey.txt');
26
- if (!fs.existsSync(filePath)) {
27
- return null;
28
- }
29
- return fs.readFileSync(filePath, 'utf-8');
30
- }
31
- function createAes128BySeedContent(seedContent) {
32
- const hash1 = hashUtf8Hex(seedContent.trim());
33
- const key = md5(hash1);
34
- const iv = md5(key + hash1);
35
- return new aes_128_cbc_1.Aes128CBC(key, iv);
36
- }
37
- function createAes128BySeedFile() {
38
- const seed2 = readSeed2();
39
- if (seed2) {
40
- return createAes128BySeedContent(seed2);
41
- }
42
- const seed1 = readSeed1();
43
- return createAes128BySeedContent(seed1);
44
- }
45
- const privateAES = createAes128BySeedFile();
46
- exports.privateAES = privateAES;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.privateAES = void 0;
4
+ const crypto = require("crypto");
5
+ const path = require("path");
6
+ const fs = require("fs");
7
+ const md5 = require("md5");
8
+ const aes_128_cbc_1 = require("aes-128-cbc");
9
+ function hashUtf8Hex(data) {
10
+ const hash = crypto.createHash('sha256');
11
+ const chunkSize = 1024; // 每次处理 1MB 数据
12
+ for (let i = 0; i < data.length; i += chunkSize) {
13
+ const chunk = data.slice(i, i + chunkSize);
14
+ const inputBuffer = Buffer.from(chunk, 'utf8');
15
+ hash.update(inputBuffer);
16
+ }
17
+ return hash.digest('hex');
18
+ }
19
+ function readSeed1() {
20
+ // 这个文件肯定存在
21
+ const t = path.join(__dirname, '../../config/seed/aeskey.txt');
22
+ return fs.readFileSync(t, 'utf-8');
23
+ }
24
+ function readSeed2() {
25
+ const filePath = path.join(__dirname, '../../../config/seed/aeskey.txt');
26
+ if (!fs.existsSync(filePath)) {
27
+ return null;
28
+ }
29
+ return fs.readFileSync(filePath, 'utf-8');
30
+ }
31
+ function createAes128BySeedContent(seedContent) {
32
+ const hash1 = hashUtf8Hex(seedContent.trim());
33
+ const key = md5(hash1);
34
+ const iv = md5(key + hash1);
35
+ return new aes_128_cbc_1.Aes128CBC(key, iv);
36
+ }
37
+ function createAes128BySeedFile() {
38
+ const seed2 = readSeed2();
39
+ if (seed2) {
40
+ return createAes128BySeedContent(seed2);
41
+ }
42
+ const seed1 = readSeed1();
43
+ return createAes128BySeedContent(seed1);
44
+ }
45
+ const privateAES = createAes128BySeedFile();
46
+ exports.privateAES = privateAES;
@@ -1,2 +1,2 @@
1
- declare function errorToString(error: any): string;
2
- export { errorToString };
1
+ declare function errorToString(error: any): string;
2
+ export { errorToString };
@@ -1,57 +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;
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;
@@ -1,30 +1,30 @@
1
- import { Context } from '@midwayjs/koa';
2
- /**
3
- * 是否开启调试能力
4
- * @param ctx
5
- */
6
- export declare function isEnableDebug(ctx: Context): boolean;
7
- /**
8
- * 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
9
- * @param ctx
10
- */
11
- export declare function isEnableSuperAdmin(ctx: Context): boolean;
12
- export declare function isLocalEnv(ctx: Context): boolean;
13
- /**
14
- * 获取调试时专用的站点code
15
- * @param ctx
16
- */
17
- export declare function getDebugWorkbenchCode(ctx: Context): any;
18
- /**
19
- * 代理转发服务专用
20
- * @param ctx
21
- */
22
- export declare function getDebugProxyTarget(ctx: Context): string;
23
- export declare function getCsrfToken(ctx: Context): string;
24
- /**
25
- * 扩展的源码应用:本地开发调试时加载本地的js脚本
26
- * @param ctx
27
- */
28
- export declare function getExtLocalLoaderPort(ctx: Context): string;
29
- export declare function isCsrfTokenValid(ctx: Context): Promise<boolean>;
30
- export declare function assertCsrfToken(ctx: Context): Promise<void>;
1
+ import { Context } from '@midwayjs/koa';
2
+ /**
3
+ * 是否开启调试能力
4
+ * @param ctx
5
+ */
6
+ export declare function isEnableDebug(ctx: Context): boolean;
7
+ /**
8
+ * 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
9
+ * @param ctx
10
+ */
11
+ export declare function isEnableSuperAdmin(ctx: Context): boolean;
12
+ export declare function isLocalEnv(ctx: Context): boolean;
13
+ /**
14
+ * 获取调试时专用的站点code
15
+ * @param ctx
16
+ */
17
+ export declare function getDebugWorkbenchCode(ctx: Context): any;
18
+ /**
19
+ * 代理转发服务专用
20
+ * @param ctx
21
+ */
22
+ export declare function getDebugProxyTarget(ctx: Context): string;
23
+ export declare function getCsrfToken(ctx: Context): string;
24
+ /**
25
+ * 扩展的源码应用:本地开发调试时加载本地的js脚本
26
+ * @param ctx
27
+ */
28
+ export declare function getExtLocalLoaderPort(ctx: Context): string;
29
+ export declare function isCsrfTokenValid(ctx: Context): Promise<boolean>;
30
+ export declare function assertCsrfToken(ctx: Context): Promise<void>;
@@ -1,104 +1,104 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assertCsrfToken = exports.isCsrfTokenValid = exports.getExtLocalLoaderPort = exports.getCsrfToken = exports.getDebugProxyTarget = exports.getDebugWorkbenchCode = exports.isLocalEnv = exports.isEnableSuperAdmin = exports.isEnableDebug = void 0;
4
- const _ = require("lodash");
5
- const crypto_utils_1 = require("./crypto-utils");
6
- const exceptions_1 = require("../crud-pro/exceptions");
7
- function isEnableByHeaderKey(ctx, configName) {
8
- const fatcmsDebug = ctx.app.getConfig(configName);
9
- const headerKey = _.get(fatcmsDebug, 'headerKey');
10
- const headerSecret = _.get(fatcmsDebug, 'headerSecret');
11
- if (!headerSecret || !headerKey) {
12
- return false;
13
- }
14
- const headers = _.get(ctx, 'request.headers') || {};
15
- return headers[headerKey] === headerSecret;
16
- }
17
- /**
18
- * 是否开启调试能力
19
- * @param ctx
20
- */
21
- function isEnableDebug(ctx) {
22
- return isEnableByHeaderKey(ctx, 'fatcmsDebug');
23
- }
24
- exports.isEnableDebug = isEnableDebug;
25
- /**
26
- * 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
27
- * @param ctx
28
- */
29
- function isEnableSuperAdmin(ctx) {
30
- return isEnableByHeaderKey(ctx, 'fatcmsSAEnable');
31
- }
32
- exports.isEnableSuperAdmin = isEnableSuperAdmin;
33
- function isLocalEnv(ctx) {
34
- // 系统内部调用。如定时任务,没有request对象。
35
- if (!ctx.request) {
36
- return true;
37
- }
38
- const host = ctx.request.host;
39
- return host.startsWith('127.0.0.1') || host.startsWith('localhost:');
40
- }
41
- exports.isLocalEnv = isLocalEnv;
42
- /**
43
- * 获取调试时专用的站点code
44
- * @param ctx
45
- */
46
- function getDebugWorkbenchCode(ctx) {
47
- const headers = _.get(ctx, 'request.headers') || {};
48
- return headers['fatcmsworkbench'];
49
- }
50
- exports.getDebugWorkbenchCode = getDebugWorkbenchCode;
51
- /**
52
- * 代理转发服务专用
53
- * @param ctx
54
- */
55
- function getDebugProxyTarget(ctx) {
56
- const headers = _.get(ctx, 'request.headers') || {};
57
- return headers['fatcmsdebugproxytarget'];
58
- }
59
- exports.getDebugProxyTarget = getDebugProxyTarget;
60
- function getCsrfToken(ctx) {
61
- const headers = _.get(ctx, 'request.headers') || {};
62
- return headers['fatcmscsrftoken'];
63
- }
64
- exports.getCsrfToken = getCsrfToken;
65
- /**
66
- * 扩展的源码应用:本地开发调试时加载本地的js脚本
67
- * @param ctx
68
- */
69
- function getExtLocalLoaderPort(ctx) {
70
- const headers = _.get(ctx, 'request.headers') || {};
71
- return headers['fatcmsextlocalloaderport'];
72
- }
73
- exports.getExtLocalLoaderPort = getExtLocalLoaderPort;
74
- async function isCsrfTokenValid(ctx) {
75
- // 本地开发,不需要校验
76
- if (isLocalEnv(ctx) || isEnableDebug(ctx)) {
77
- return true;
78
- }
79
- const fatcmscsrftoken = getCsrfToken(ctx);
80
- if (!fatcmscsrftoken) {
81
- return false;
82
- }
83
- try {
84
- const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
85
- if (depryptToken) {
86
- const num = Number(depryptToken);
87
- if (num && num + 6 * 3600 * 1000 > Date.now()) {
88
- return true;
89
- }
90
- }
91
- }
92
- catch (e) {
93
- console.info('isCsrfTokenValid验证失败');
94
- }
95
- return false;
96
- }
97
- exports.isCsrfTokenValid = isCsrfTokenValid;
98
- async function assertCsrfToken(ctx) {
99
- const isOK = await isCsrfTokenValid(ctx);
100
- if (!isOK) {
101
- throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
102
- }
103
- }
104
- exports.assertCsrfToken = assertCsrfToken;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertCsrfToken = exports.isCsrfTokenValid = exports.getExtLocalLoaderPort = exports.getCsrfToken = exports.getDebugProxyTarget = exports.getDebugWorkbenchCode = exports.isLocalEnv = exports.isEnableSuperAdmin = exports.isEnableDebug = void 0;
4
+ const _ = require("lodash");
5
+ const crypto_utils_1 = require("./crypto-utils");
6
+ const exceptions_1 = require("../crud-pro/exceptions");
7
+ function isEnableByHeaderKey(ctx, configName) {
8
+ const fatcmsDebug = ctx.app.getConfig(configName);
9
+ const headerKey = _.get(fatcmsDebug, 'headerKey');
10
+ const headerSecret = _.get(fatcmsDebug, 'headerSecret');
11
+ if (!headerSecret || !headerKey) {
12
+ return false;
13
+ }
14
+ const headers = _.get(ctx, 'request.headers') || {};
15
+ return headers[headerKey] === headerSecret;
16
+ }
17
+ /**
18
+ * 是否开启调试能力
19
+ * @param ctx
20
+ */
21
+ function isEnableDebug(ctx) {
22
+ return isEnableByHeaderKey(ctx, 'fatcmsDebug');
23
+ }
24
+ exports.isEnableDebug = isEnableDebug;
25
+ /**
26
+ * 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
27
+ * @param ctx
28
+ */
29
+ function isEnableSuperAdmin(ctx) {
30
+ return isEnableByHeaderKey(ctx, 'fatcmsSAEnable');
31
+ }
32
+ exports.isEnableSuperAdmin = isEnableSuperAdmin;
33
+ function isLocalEnv(ctx) {
34
+ // 系统内部调用。如定时任务,没有request对象。
35
+ if (!ctx.request) {
36
+ return true;
37
+ }
38
+ const host = ctx.request.host;
39
+ return host.startsWith('127.0.0.1') || host.startsWith('localhost:');
40
+ }
41
+ exports.isLocalEnv = isLocalEnv;
42
+ /**
43
+ * 获取调试时专用的站点code
44
+ * @param ctx
45
+ */
46
+ function getDebugWorkbenchCode(ctx) {
47
+ const headers = _.get(ctx, 'request.headers') || {};
48
+ return headers['fatcmsworkbench'];
49
+ }
50
+ exports.getDebugWorkbenchCode = getDebugWorkbenchCode;
51
+ /**
52
+ * 代理转发服务专用
53
+ * @param ctx
54
+ */
55
+ function getDebugProxyTarget(ctx) {
56
+ const headers = _.get(ctx, 'request.headers') || {};
57
+ return headers['fatcmsdebugproxytarget'];
58
+ }
59
+ exports.getDebugProxyTarget = getDebugProxyTarget;
60
+ function getCsrfToken(ctx) {
61
+ const headers = _.get(ctx, 'request.headers') || {};
62
+ return headers['fatcmscsrftoken'];
63
+ }
64
+ exports.getCsrfToken = getCsrfToken;
65
+ /**
66
+ * 扩展的源码应用:本地开发调试时加载本地的js脚本
67
+ * @param ctx
68
+ */
69
+ function getExtLocalLoaderPort(ctx) {
70
+ const headers = _.get(ctx, 'request.headers') || {};
71
+ return headers['fatcmsextlocalloaderport'];
72
+ }
73
+ exports.getExtLocalLoaderPort = getExtLocalLoaderPort;
74
+ async function isCsrfTokenValid(ctx) {
75
+ // 本地开发,不需要校验
76
+ if (isLocalEnv(ctx) || isEnableDebug(ctx)) {
77
+ return true;
78
+ }
79
+ const fatcmscsrftoken = getCsrfToken(ctx);
80
+ if (!fatcmscsrftoken) {
81
+ return false;
82
+ }
83
+ try {
84
+ const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
85
+ if (depryptToken) {
86
+ const num = Number(depryptToken);
87
+ if (num && num + 6 * 3600 * 1000 > Date.now()) {
88
+ return true;
89
+ }
90
+ }
91
+ }
92
+ catch (e) {
93
+ console.info('isCsrfTokenValid验证失败');
94
+ }
95
+ return false;
96
+ }
97
+ exports.isCsrfTokenValid = isCsrfTokenValid;
98
+ async function assertCsrfToken(ctx) {
99
+ const isOK = await isCsrfTokenValid(ctx);
100
+ if (!isOK) {
101
+ throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
102
+ }
103
+ }
104
+ exports.assertCsrfToken = assertCsrfToken;
@@ -1,2 +1,2 @@
1
- declare function formatHost(host: string): string;
2
- export { formatHost, };
1
+ declare function formatHost(host: string): string;
2
+ export { formatHost, };
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatHost = void 0;
4
- function formatHost(host) {
5
- if (host.endsWith(':80')) {
6
- host = host.slice(0, -3);
7
- }
8
- if (host.endsWith(':443')) {
9
- host = host.slice(0, -4);
10
- }
11
- return host;
12
- }
13
- exports.formatHost = formatHost;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatHost = void 0;
4
+ function formatHost(host) {
5
+ if (host.endsWith(':80')) {
6
+ host = host.slice(0, -3);
7
+ }
8
+ if (host.endsWith(':443')) {
9
+ host = host.slice(0, -4);
10
+ }
11
+ return host;
12
+ }
13
+ exports.formatHost = formatHost;
@@ -1,5 +1,5 @@
1
- declare function createUniqueId(): string;
2
- declare function parseJsonObject(str: any): any;
3
- declare function parseStringTrimArray(obj: any, separator?: string): string[];
4
- declare function getCurrentFullMoment(): string;
5
- export { createUniqueId, parseJsonObject, parseStringTrimArray, getCurrentFullMoment };
1
+ declare function createUniqueId(): string;
2
+ declare function parseJsonObject(str: any): any;
3
+ declare function parseStringTrimArray(obj: any, separator?: string): string[];
4
+ declare function getCurrentFullMoment(): string;
5
+ export { createUniqueId, parseJsonObject, parseStringTrimArray, getCurrentFullMoment };