midway-fatcms 0.0.1-beta.5 → 0.0.1-beta.51

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 (330) 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 +25 -13
  5. package/dist/config/seed/aeskey.txt +1 -1
  6. package/dist/configuration.d.ts +1 -0
  7. package/dist/configuration.js +35 -11
  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/CrudStdGatewayController.js +8 -16
  15. package/dist/controller/gateway/DocGatewayController.js +14 -9
  16. package/dist/controller/gateway/FileController.d.ts +3 -2
  17. package/dist/controller/gateway/PublicApiController.js +4 -6
  18. package/dist/controller/gateway/StaticController.d.ts +0 -1
  19. package/dist/controller/gateway/StaticController.js +40 -39
  20. package/dist/controller/helpers.controller.d.ts +1 -1
  21. package/dist/controller/home.controller.js +4 -3
  22. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  23. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  24. package/dist/controller/manage/AppMangeApi.js +2 -2
  25. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  26. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  27. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  28. package/dist/controller/manage/CrudStandardDesignApi.d.ts +9 -1
  29. package/dist/controller/manage/CrudStandardDesignApi.js +135 -79
  30. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  31. package/dist/controller/manage/DataDictManageApi.js +1 -1
  32. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  33. package/dist/controller/manage/DeployManageApi.js +38 -34
  34. package/dist/controller/manage/DocLibManageApi.js +2 -2
  35. package/dist/controller/manage/DocManageApi.js +2 -2
  36. package/dist/controller/manage/FileManageApi.js +1 -1
  37. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  38. package/dist/controller/manage/MenuManageApi.js +2 -2
  39. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  40. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  41. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  42. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  43. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  44. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  45. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  46. package/dist/controller/manage/UserAccountManageApi.d.ts +1 -1
  47. package/dist/controller/manage/UserAccountManageApi.js +9 -4
  48. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  49. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  50. package/dist/controller/myinfo/AuthController.js +1 -54
  51. package/dist/controller/render/AppRenderController.js +12 -5
  52. package/dist/controller/test.controller.d.ts +1 -1
  53. package/dist/controller/test.controller.js +5 -5
  54. package/dist/index.d.ts +10 -0
  55. package/dist/index.js +10 -0
  56. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  57. package/dist/libs/crud-pro/CrudPro.js +5 -0
  58. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  59. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  60. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
  61. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  62. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  63. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  64. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  65. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  66. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  67. package/dist/libs/crud-pro/models/Transaction.d.ts +1 -0
  68. package/dist/libs/crud-pro/models/Transaction.js +7 -0
  69. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  70. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  71. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  72. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  73. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  74. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  75. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  76. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  77. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  78. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  79. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  80. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  81. package/dist/libs/crud-pro/sql.txt +120 -120
  82. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  83. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  84. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  85. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  86. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  87. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  88. package/dist/libs/global-config/global-config.d.ts +60 -0
  89. package/dist/libs/global-config/global-config.js +35 -0
  90. package/dist/libs/utils/base64.d.ts +9 -0
  91. package/dist/libs/utils/base64.js +42 -0
  92. package/dist/libs/utils/errorToString.d.ts +2 -0
  93. package/dist/libs/utils/errorToString.js +57 -0
  94. package/dist/libs/utils/fatcms-request.js +2 -2
  95. package/dist/libs/utils/functions.d.ts +2 -1
  96. package/dist/libs/utils/functions.js +12 -3
  97. package/dist/libs/utils/parseCreateSql.d.ts +6 -1
  98. package/dist/libs/utils/parseCreateSql.js +2 -1
  99. package/dist/middleware/forbidden.middleware.js +6 -22
  100. package/dist/middleware/global.middleware.js +30 -10
  101. package/dist/middleware/permission.middleware.js +1 -1
  102. package/dist/middleware/rediscache.middleware.d.ts +3 -0
  103. package/dist/middleware/rediscache.middleware.js +77 -0
  104. package/dist/middleware/redislock.middleware.d.ts +7 -0
  105. package/dist/middleware/redislock.middleware.js +72 -0
  106. package/dist/models/AsyncTaskModel.d.ts +74 -0
  107. package/dist/models/AsyncTaskModel.js +31 -0
  108. package/dist/models/RedisKeys.d.ts +15 -0
  109. package/dist/models/RedisKeys.js +18 -0
  110. package/dist/models/SystemEntities.d.ts +8 -1
  111. package/dist/models/SystemEntities.js +7 -0
  112. package/dist/models/SystemTables.d.ts +1 -3
  113. package/dist/models/SystemTables.js +2 -4
  114. package/dist/models/bizmodels.d.ts +30 -0
  115. package/dist/models/bizmodels.js +6 -1
  116. package/dist/models/userSession.d.ts +1 -0
  117. package/dist/schedule/anonymousContext.d.ts +14 -0
  118. package/dist/schedule/anonymousContext.js +59 -0
  119. package/dist/schedule/index.d.ts +4 -3
  120. package/dist/schedule/index.js +8 -67
  121. package/dist/schedule/runSchedule.d.ts +12 -0
  122. package/dist/schedule/runSchedule.js +68 -0
  123. package/dist/schedule/scheduleNames.d.ts +13 -0
  124. package/dist/schedule/scheduleNames.js +17 -0
  125. package/dist/service/AuthService.js +8 -5
  126. package/dist/service/EnumInfoService.js +9 -5
  127. package/dist/service/FileCenterService.js +13 -9
  128. package/dist/service/SysConfigService.d.ts +1 -1
  129. package/dist/service/SysConfigService.js +4 -2
  130. package/dist/service/UserAccountService.js +10 -6
  131. package/dist/service/UserSessionService.d.ts +22 -0
  132. package/dist/service/UserSessionService.js +74 -2
  133. package/dist/service/VisitStatService.d.ts +1 -1
  134. package/dist/service/VisitStatService.js +20 -27
  135. package/dist/service/WorkbenchService.d.ts +33 -0
  136. package/dist/service/WorkbenchService.js +70 -12
  137. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  138. package/dist/service/anyapi/AnyApiService.js +4 -2
  139. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  140. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  141. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  142. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  143. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  144. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  145. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  146. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  147. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  148. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -0
  149. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  150. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -0
  151. package/dist/service/base/BaseService.d.ts +12 -0
  152. package/dist/service/base/BaseService.js +22 -0
  153. package/dist/service/base/RedisCacheService.d.ts +7 -0
  154. package/dist/service/base/RedisCacheService.js +7 -0
  155. package/dist/service/crudstd/CrudStdRelationService.js +63 -36
  156. package/dist/service/crudstd/CrudStdService.d.ts +21 -5
  157. package/dist/service/crudstd/CrudStdService.js +137 -21
  158. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  159. package/dist/service/curd/CrudProQuick.js +147 -0
  160. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  161. package/dist/service/curd/CurdMixByAccountService.js +11 -6
  162. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  163. package/dist/service/curd/CurdMixByDictService.js +10 -7
  164. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  165. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  166. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  167. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  168. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  169. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  170. package/dist/service/curd/CurdMixService.d.ts +16 -5
  171. package/dist/service/curd/CurdMixService.js +26 -2
  172. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  173. package/dist/service/curd/CurdMixUtils.js +117 -41
  174. package/dist/service/curd/CurdProService.d.ts +3 -10
  175. package/dist/service/curd/CurdProService.js +38 -148
  176. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  177. package/dist/service/curd/fixCfgModel.js +104 -0
  178. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  179. package/dist/service/proxyapi/ProxyApiService.d.ts +1 -0
  180. package/dist/service/proxyapi/ProxyApiService.js +43 -9
  181. package/dist/views/404_app.html +31 -31
  182. package/dist/views/404_workbench.html +34 -34
  183. package/package.json +28 -24
  184. package/tsconfig.json +32 -0
  185. package/src/config/config.default.ts +0 -172
  186. package/src/config/seed/aeskey.txt +0 -1
  187. package/src/config/utils.ts +0 -23
  188. package/src/configuration.ts +0 -83
  189. package/src/controller/base/BaseApiController.ts +0 -145
  190. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  191. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  192. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  193. package/src/controller/gateway/DocGatewayController.ts +0 -165
  194. package/src/controller/gateway/FileController.ts +0 -110
  195. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  196. package/src/controller/gateway/PublicApiController.ts +0 -145
  197. package/src/controller/gateway/StaticController.ts +0 -328
  198. package/src/controller/helpers.controller.ts +0 -161
  199. package/src/controller/home.controller.ts +0 -71
  200. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  201. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  202. package/src/controller/manage/AppMangeApi.ts +0 -53
  203. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  204. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  205. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  206. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  207. package/src/controller/manage/DataDictManageApi.ts +0 -78
  208. package/src/controller/manage/DeployManageApi.ts +0 -179
  209. package/src/controller/manage/DocLibManageApi.ts +0 -69
  210. package/src/controller/manage/DocManageApi.ts +0 -99
  211. package/src/controller/manage/FileManageApi.ts +0 -45
  212. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  213. package/src/controller/manage/MenuManageApi.ts +0 -63
  214. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  215. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  216. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  217. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  218. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  219. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  220. package/src/controller/myinfo/AuthController.ts +0 -174
  221. package/src/controller/myinfo/MyInfoController.ts +0 -32
  222. package/src/controller/render/AppRenderController.ts +0 -76
  223. package/src/controller/test.controller.ts +0 -37
  224. package/src/filter/default.filter.ts +0 -13
  225. package/src/filter/notfound.filter.ts +0 -10
  226. package/src/index.ts +0 -99
  227. package/src/interface.ts +0 -31
  228. package/src/libs/crud-pro/CrudPro.ts +0 -158
  229. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  230. package/src/libs/crud-pro/exceptions.ts +0 -124
  231. package/src/libs/crud-pro/interfaces.ts +0 -183
  232. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  233. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  234. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  235. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  236. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  237. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  238. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  239. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  240. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  241. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  242. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  243. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  244. package/src/libs/crud-pro/models/keys.ts +0 -159
  245. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  246. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  247. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  248. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  249. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  250. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  251. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  252. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  253. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  254. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  255. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  256. package/src/libs/crud-pro/sql.txt +0 -120
  257. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  258. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  259. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  260. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  261. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  262. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  263. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  264. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  265. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  266. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  267. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  268. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  269. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  270. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  271. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  272. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  273. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  274. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  275. package/src/libs/utils/common-dto.ts +0 -52
  276. package/src/libs/utils/crypto-utils.ts +0 -52
  277. package/src/libs/utils/fatcms-request.ts +0 -115
  278. package/src/libs/utils/functions.ts +0 -67
  279. package/src/libs/utils/ordernum-utils.ts +0 -18
  280. package/src/libs/utils/parseConfig.ts +0 -62
  281. package/src/libs/utils/parseCreateSql.ts +0 -91
  282. package/src/libs/utils/render-utils.ts +0 -184
  283. package/src/middleware/forbidden.middleware.ts +0 -71
  284. package/src/middleware/global.middleware.ts +0 -278
  285. package/src/middleware/permission.middleware.ts +0 -81
  286. package/src/middleware/tx.middleware.ts +0 -30
  287. package/src/models/SystemEntities.ts +0 -115
  288. package/src/models/SystemPerm.ts +0 -105
  289. package/src/models/SystemTables.ts +0 -30
  290. package/src/models/bizmodels.ts +0 -89
  291. package/src/models/contextLogger.ts +0 -132
  292. package/src/models/devops.ts +0 -17
  293. package/src/models/userSession.ts +0 -216
  294. package/src/schedule/index.ts +0 -73
  295. package/src/service/AuthService.ts +0 -270
  296. package/src/service/EnumInfoService.ts +0 -129
  297. package/src/service/FileCenterService.ts +0 -394
  298. package/src/service/SysConfigService.ts +0 -34
  299. package/src/service/UserAccountService.ts +0 -100
  300. package/src/service/UserSessionService.ts +0 -81
  301. package/src/service/VisitStatService.ts +0 -179
  302. package/src/service/WorkbenchService.ts +0 -160
  303. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  304. package/src/service/anyapi/AnyApiService.ts +0 -184
  305. package/src/service/base/ApiBaseService.ts +0 -42
  306. package/src/service/base/ApiRateLimiter.ts +0 -59
  307. package/src/service/base/BaseService.ts +0 -74
  308. package/src/service/base/RedisCacheService.ts +0 -38
  309. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  310. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  311. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  312. package/src/service/crudstd/CrudStdService.ts +0 -188
  313. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  314. package/src/service/curd/CurdMixByDictService.ts +0 -113
  315. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  316. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  317. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  318. package/src/service/curd/CurdMixService.ts +0 -65
  319. package/src/service/curd/CurdMixUtils.ts +0 -248
  320. package/src/service/curd/CurdProService.ts +0 -379
  321. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  322. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  323. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  324. package/src/service/proxyapi/RouteHandler.ts +0 -8
  325. package/src/service/proxyapi/RouteTrie.ts +0 -74
  326. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  327. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  328. package/src/views/404_app.html +0 -31
  329. package/src/views/404_workbench.html +0 -34
  330. package/src/views/static/favicon.ico +0 -0
@@ -1,138 +0,0 @@
1
- import { Controller, Inject, Post, Get } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import { VisitStatService } from "../../service/VisitStatService";
4
- import { KeysOfSimpleSQL } from '../../libs/crud-pro/models/keys';
5
- import { BaseApiController } from '../base/BaseApiController';
6
- import { checkRole } from '../../middleware/permission.middleware';
7
- import { SystemFuncCodeNameMap, SystemRoleCode, SystemRoleCodeNameMap } from '../../models/SystemPerm';
8
- import {SystemDbName, SystemDbType, SystemTables} from '../../models/SystemTables';
9
- import {CommonResult} from "../../libs/utils/common-dto";
10
-
11
- @Controller('/ns/api/manage/superAdmin', { middleware: [checkRole(SystemRoleCode.SuperAdmin)] })
12
- export class SuperAdminManageApi extends BaseApiController {
13
- @Inject()
14
- protected ctx: Context;
15
-
16
- @Inject()
17
- protected visitStatService: VisitStatService;
18
-
19
-
20
- /**
21
- * 预设系统内置功能点数据
22
- */
23
- @Post('/presetsFuncCode')
24
- async presetsFuncCode() {
25
- const funcCodeList = Object.keys(SystemFuncCodeNameMap);
26
- for (let i = 0; i < funcCodeList.length; i++) {
27
- const funcCode = funcCodeList[i];
28
- const funcName = SystemFuncCodeNameMap[funcCode];
29
- await this.curdMixService.executeCrudByCfg(
30
- {
31
- data: {
32
- func_code: funcCode,
33
- func_name: funcName,
34
- is_presets: 1,
35
- },
36
- },
37
- {
38
- sqlTable: SystemTables.sys_perm_func,
39
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
40
- sqlDatabase: SystemDbName,
41
- sqlDdType: SystemDbType,
42
- }
43
- );
44
- }
45
-
46
-
47
- return CommonResult.successRes();
48
- }
49
-
50
- /**
51
- * 预设系统内置角色数据
52
- */
53
- @Post('/presetsRoleCode')
54
- async presetsRoleCode() {
55
- const roleCodeList = [SystemRoleCode.DevOpsViewer, SystemRoleCode.DevOpsWriter];
56
-
57
- for (let i = 0; i < roleCodeList.length; i++) {
58
- const roleCode = roleCodeList[i];
59
- const roleName = SystemRoleCodeNameMap[roleCode];
60
- await this.curdMixService.executeCrudByCfg(
61
- {
62
- data: {
63
- role_code: roleCode,
64
- role_name: roleName,
65
- is_presets: 1,
66
- },
67
- },
68
- {
69
- sqlTable: SystemTables.sys_perm_role,
70
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
71
- sqlDatabase: SystemDbName,
72
- sqlDdType: SystemDbType,
73
- }
74
- );
75
- }
76
-
77
- return CommonResult.successRes();
78
- }
79
-
80
- /**
81
- * 预设系统内置:角色和功能点的关系
82
- */
83
- @Post('/presetsRoleFuncList')
84
- async presetsRoleFuncList() {
85
- const funcCodeList = Object.keys(SystemFuncCodeNameMap);
86
- for (let i = 0; i < funcCodeList.length; i++) {
87
- const funcCode = funcCodeList[i];
88
- await this.curdMixService.executeCrudByCfg(
89
- {
90
- data: {
91
- func_code: funcCode,
92
- role_code: SystemRoleCode.DevOpsWriter,
93
- is_presets: 1,
94
- },
95
- },
96
- {
97
- sqlTable: SystemTables.sys_perm_role_func,
98
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
99
- sqlDatabase: SystemDbName,
100
- sqlDdType: SystemDbType,
101
- }
102
- );
103
- }
104
- for (let i = 0; i < funcCodeList.length; i++) {
105
- const funcCode = funcCodeList[i];
106
- if (!funcCode.endsWith('Write')) {
107
- await this.curdMixService.executeCrudByCfg(
108
- {
109
- data: {
110
- func_code: funcCode,
111
- role_code: SystemRoleCode.DevOpsViewer,
112
- is_presets: 1,
113
- },
114
- },
115
- {
116
- sqlTable: SystemTables.sys_perm_role_func,
117
- sqlSimpleName: KeysOfSimpleSQL.SIMPLE_INSERT,
118
- sqlDatabase: SystemDbName,
119
- sqlDdType: SystemDbType,
120
- }
121
- );
122
- }
123
- }
124
- return CommonResult.successRes();
125
- }
126
-
127
-
128
- /**
129
- * 将每天的访问数据,更新到数据库中
130
- */
131
- @Get('/flushVisitStatToDB')
132
- async flushVisitStatToDB() {
133
- return this.visitStatService.flushVisitStatToDB();
134
- }
135
-
136
-
137
-
138
- }
@@ -1,95 +0,0 @@
1
- import { Controller, Inject, Post } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import { KeysOfSimpleSQL, KeysOfValidators } from '../../libs/crud-pro/models/keys';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import { checkPermission } from '../../middleware/permission.middleware';
6
- import { SystemFuncCode } from '../../models/SystemPerm';
7
- import { CTX_WORKBENCH_CODE } from '../../models/bizmodels';
8
- import {SystemDbName, SystemDbType, SystemTables} from "../../models/SystemTables";
9
- import {CommonResult} from "../../libs/utils/common-dto";
10
-
11
- @Controller('/ns/api/manage/sysconfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeRead)] })
12
- export class SysConfigMangeApi extends BaseApiController {
13
- @Inject()
14
- ctx: Context;
15
-
16
- @Post('/getSysConfigList')
17
- async getSysConfigList() {
18
- return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_QUERY_PAGE, {
19
- updateCfg: {
20
- 'condition.workbench_code': { contextAsString: CTX_WORKBENCH_CODE },
21
- },
22
- });
23
- }
24
-
25
- @Post('/getSysConfigOne')
26
- async getSysConfigOne() {
27
- return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_QUERY_ONE, {
28
- updateCfg: {
29
- 'condition.workbench_code': { contextAsString: CTX_WORKBENCH_CODE },
30
- },
31
- });
32
- }
33
-
34
- @Post('/createSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite)] })
35
- async createSysConfig() {
36
- return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_INSERT, {
37
- validateCfg: {
38
- 'data.workbench_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING, 'length:1,64'],
39
- 'data.config_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
40
- 'data.config_name': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
41
- 'data.config_type': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
42
- },
43
- updateCfg: {
44
- 'data.workbench_code': { contextAsString: CTX_WORKBENCH_CODE },
45
- },
46
- });
47
- }
48
-
49
- @Post('/updateSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite)] })
50
- async updateSysConfig() {
51
-
52
- const body = this.ctx.request.body as any;
53
- const id = body.condition.id;
54
- if (!id) {
55
- return CommonResult.errorRes("id不能为空")
56
- }
57
-
58
- const sysConfig = await this.curdMixService.getBbUtil(SystemDbName, SystemDbType).getOne({condition: body.condition}, SystemTables.sys_configs)
59
- if (!sysConfig) {
60
- return CommonResult.errorRes("配置项不存在")
61
- }
62
-
63
- const {edit_auth_type, edit_auth_config} = sysConfig;
64
- if (edit_auth_type) {
65
- const isOK = this.ctx.userSession.isAuthPass(edit_auth_type, edit_auth_config);
66
- if (!isOK) {
67
- return CommonResult.errorRes("编辑权限校验不通过:" + JSON.stringify({edit_auth_type, edit_auth_config}));
68
- }
69
- }
70
-
71
-
72
-
73
- return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_UPDATE, {
74
- validateCfg: {
75
- 'data.workbench_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING, 'length:1,64'],
76
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
77
- },
78
- updateCfg: {
79
- 'condition.workbench_code': { contextAsString: CTX_WORKBENCH_CODE },
80
- },
81
- });
82
- }
83
-
84
- @Post('/deleteSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite)] })
85
- async deleteSysConfig() {
86
- return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_DELETE, {
87
- validateCfg: {
88
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
89
- },
90
- updateCfg: {
91
- 'condition.workbench_code': { contextAsString: CTX_WORKBENCH_CODE },
92
- },
93
- });
94
- }
95
- }
@@ -1,48 +0,0 @@
1
- import { Controller, Inject, Get } from '@midwayjs/core';
2
- import { InfoService } from '@midwayjs/info';
3
- import { Context } from '@midwayjs/koa';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import {checkPermission} from '../../middleware/permission.middleware';
6
- import {SystemFuncCode} from '../../models/SystemPerm';
7
- import {CommonResult} from "../../libs/utils/common-dto";
8
-
9
- @Controller('/ns/api/manage/systemInfo', { middleware: [checkPermission(SystemFuncCode.SystemInfoManageApiRead)] })
10
- export class SystemInfoManageApi extends BaseApiController {
11
- @Inject()
12
- protected ctx: Context;
13
-
14
- @Inject()
15
- protected infoService: InfoService;
16
-
17
- /**
18
- * 预设系统内置功能点数据
19
- */
20
- @Get('/getSystemInfo')
21
- async getSystemInfo() {
22
- // 应用信息,应用名等
23
- const projectInfo = this.infoService.projectInfo();
24
- // 系统信息
25
- const systemInfo = this.infoService.systemInfo();
26
- // 堆内存,cpu 等
27
- const resourceOccupationInfo = this.infoService.resourceOccupationInfo();
28
- // midway 框架的信息
29
- const softwareInfo = this.infoService.softwareInfo();
30
- // 当前使用的环境配置
31
- // const midwayConfig = this.infoService.midwayConfig();
32
- // 依赖注入容器中的服务
33
- // this.infoService.midwayService();
34
- // 系统时间,时区,启动时常
35
- const timeInfo = this.infoService.timeInfo();
36
- // 环境变量
37
- const envInfo = this.infoService.envInfo();
38
- // 依赖信息
39
- // this.infoService.dependenciesInfo();
40
- // 网络信息
41
- const networkInfo = this.infoService.networkInfo();
42
-
43
- return CommonResult.successRes({
44
- projectInfo,systemInfo,resourceOccupationInfo,softwareInfo,timeInfo,envInfo,networkInfo
45
- })
46
- }
47
-
48
- }
@@ -1,88 +0,0 @@
1
- import { Controller, Inject, Post } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import { KeysOfSimpleSQL, KeysOfValidators } from '../../libs/crud-pro/models/keys';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import { createUniqueId } from '../../libs/utils/functions';
6
- import { checkPermission } from '../../middleware/permission.middleware';
7
- import { SystemFuncCode } from '../../models/SystemPerm';
8
- import { CommonException, Exceptions } from '../../libs/crud-pro/exceptions';
9
- import { SystemTables } from '../../models/SystemTables';
10
-
11
- const accountNameBlacklist = new Set(['sa', 'root', 'admin', 'superadmin', 'administrator', 'sys', 'sysop', 'schedule_user']);
12
- function checkAccountCreateBlacklist(value: string) {
13
- if (!value) {
14
- return;
15
- }
16
- if (accountNameBlacklist.has(value)) {
17
- throw new CommonException(Exceptions.VALIDATE_EXCEPTION, '用户名或昵称不能使用具有管理员歧义的词语');
18
- }
19
- }
20
-
21
- const LOGIN_NAME_VALIDATE = [KeysOfValidators.STRING, KeysOfValidators.NAME, 'length:6,50', checkAccountCreateBlacklist]
22
-
23
- @Controller('/ns/api/manage/userAccount', { middleware: [checkPermission(SystemFuncCode.UserAccountMangeRead)] })
24
- export class UserAccountManageApi extends BaseApiController {
25
- @Inject()
26
- ctx: Context;
27
-
28
- @Post('/getUserAccountList')
29
- async getUserAccountList() {
30
- return this.executeSysSimpleSQL(SystemTables.sys_user_account, KeysOfSimpleSQL.SIMPLE_QUERY_PAGE, {
31
- columns: '!pwd_md5,!pwd_salt',
32
- });
33
- }
34
-
35
- @Post('/getUserAccountOne')
36
- async getUserAccountOne() {
37
- return this.executeSysSimpleSQL(SystemTables.sys_user_account, KeysOfSimpleSQL.SIMPLE_QUERY_ONE, {
38
- columns: '!pwd_md5,!pwd_salt',
39
- });
40
- }
41
-
42
- @Post('/updateUserAccount', { middleware: [checkPermission(SystemFuncCode.UserAccountMangeWrite)] })
43
- async updateUserAccount() {
44
- return this.executeSysSimpleSQL(SystemTables.sys_user_account, KeysOfSimpleSQL.SIMPLE_UPDATE, {
45
- validateCfg: {
46
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
47
- 'data.login_name': LOGIN_NAME_VALIDATE,
48
- 'data.nick_name': [KeysOfValidators.STRING, 'length:3,20', checkAccountCreateBlacklist],
49
- },
50
- allowCfg: {
51
- data: ['login_name', 'nick_name', 'avatar', 'status'],
52
- },
53
- });
54
- }
55
-
56
- @Post('/createUserAccount', { middleware: [checkPermission(SystemFuncCode.UserAccountMangeWrite)] })
57
- async createUserAccount() {
58
- const body = this.ctx.request.body as any;
59
- body.data.account_id = createUniqueId();
60
-
61
- return this.executeSysSimpleSQL(SystemTables.sys_user_account, KeysOfSimpleSQL.SIMPLE_INSERT, {
62
- validateCfg: {
63
- 'data.login_name': LOGIN_NAME_VALIDATE,
64
- 'data.nick_name': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING, 'length:3,20', checkAccountCreateBlacklist],
65
- 'data.avatar': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
66
- },
67
- });
68
- }
69
-
70
- @Post('/deleteUserAccount', { middleware: [checkPermission(SystemFuncCode.UserAccountMangeWrite)] })
71
- async deleteUserAccount() {
72
- return this.executeSysSimpleSQL(SystemTables.sys_user_account, KeysOfSimpleSQL.SIMPLE_DELETE, {
73
- validateCfg: {
74
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
75
- },
76
- });
77
- }
78
-
79
- /**
80
- * 重置密码
81
- */
82
- @Post('/chgUserPassword', { middleware: [checkPermission(SystemFuncCode.UserAccountMangeWrite)] })
83
- async chgUserPassword() {
84
- const body = this.ctx.request.body as any;
85
- const { loginName, unsaltedPwd } = body;
86
- return this.userAccountService.chgUserPassword(loginName, unsaltedPwd);
87
- }
88
- }
@@ -1,72 +0,0 @@
1
- import { Controller, Inject, Post } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import { KeysOfSimpleSQL, KeysOfValidators } from '../../libs/crud-pro/models/keys';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import { checkPermission } from '../../middleware/permission.middleware';
6
- import { SystemFuncCode } from '../../models/SystemPerm';
7
- import { SystemTables } from '../../models/SystemTables';
8
- import { WorkbenchService } from '../../service/WorkbenchService';
9
-
10
- @Controller('/ns/api/manage/workbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeRead)] })
11
- export class WorkbenchMangeApi extends BaseApiController {
12
- @Inject()
13
- protected ctx: Context;
14
-
15
- @Inject()
16
- private workbenchService: WorkbenchService;
17
-
18
- @Post('/getWorkbenchList')
19
- async getWorkbenchList() {
20
- return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_QUERY_PAGE);
21
- }
22
-
23
- @Post('/getWorkbenchOne')
24
- async getWorkbenchOne() {
25
- return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_QUERY_ONE);
26
- }
27
-
28
- @Post('/createWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite)] })
29
- async createWorkbench() {
30
- // 清除运行时缓存
31
- this.workbenchService.clearCache();
32
-
33
- const body = this.ctx.request.body as any;
34
- const dataObj: any = body.data || {};
35
-
36
- dataObj.html_content = dataObj.html_content || "<html>hello</html>";
37
-
38
- return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_INSERT, {
39
- validateCfg: {
40
- 'data.workbench_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
41
- 'data.workbench_name': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
42
- 'data.workbench_domain': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
43
- },
44
- });
45
- }
46
-
47
- @Post('/updateWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite)] })
48
- async updateWorkbench() {
49
- // 清除运行时缓存
50
- this.workbenchService.clearCache();
51
-
52
- return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_UPDATE, {
53
- validateCfg: {
54
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
55
- 'condition.workbench_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
56
- },
57
- });
58
- }
59
-
60
- @Post('/deleteWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite)] })
61
- async deleteWorkbench() {
62
- // 清除运行时缓存
63
- this.workbenchService.clearCache();
64
-
65
- return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_DELETE, {
66
- validateCfg: {
67
- 'condition.id': [KeysOfValidators.REQUIRED, KeysOfValidators.INTEGER],
68
- 'condition.workbench_code': [KeysOfValidators.REQUIRED, KeysOfValidators.STRING],
69
- },
70
- });
71
- }
72
- }
@@ -1,174 +0,0 @@
1
- import { Controller, Inject, Post } from '@midwayjs/core';
2
- import { Context } from '@midwayjs/koa';
3
- import axios from 'axios';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import { AuthService } from '../../service/AuthService';
6
- import {IConsumerUserInfo, ISessionInfo, SESSION_ID_KEY, sessionCookieCfg} from '../../models/userSession';
7
- import { CommonResult } from '../../libs/utils/common-dto';
8
- import { checkLogin } from '../../middleware/permission.middleware';
9
- import { assertCsrfToken } from "../../libs/utils/fatcms-request";
10
- import {WorkbenchService} from "../../service/WorkbenchService";
11
- import {CommonException} from "../../libs/crud-pro/exceptions";
12
-
13
- /**
14
- * 支持使用明文密码和Hash后密码登录。
15
- * 1. 明文密码登录,所需字段:loginName, plainPwd,
16
- * 2. Hash后密码登录,所需字段:loginName, unsaltedPwd
17
- */
18
- @Controller('/ns/api/auth')
19
- export class AuthController extends BaseApiController {
20
- @Inject()
21
- protected ctx: Context;
22
-
23
- @Inject()
24
- private authService: AuthService;
25
-
26
-
27
- @Inject()
28
- private workbenchService: WorkbenchService;
29
-
30
- /**
31
- * 登录
32
- */
33
- @Post('/login')
34
- async login(): Promise<CommonResult> {
35
- await assertCsrfToken(this.ctx);
36
-
37
- // 先删除之前的SessionId
38
- const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
39
- await this.authService.removeUserSession(sessionId);
40
-
41
- // eslint-disable-next-line prefer-const
42
- let { loginName, unsaltedPwd, plainPwd } = this.ctx.request.body as any;
43
- if (!unsaltedPwd && plainPwd) {
44
- unsaltedPwd = this.authService.toUnsaltedPwd(plainPwd, loginName); // 使用明文密码登录时,转换成unsaltedPwd
45
- }
46
-
47
- const checkRes = await this.authService.checkLoginPassword(loginName, unsaltedPwd);
48
- if (!checkRes.success) {
49
- return checkRes;
50
- }
51
-
52
- const workbench = await this.workbenchService.getCurrentHostWorkbenchInfo();
53
- if (!workbench) {
54
- throw new CommonException('WORKBENCH_IS_NOT_FOUND', '站点未找到');
55
- }
56
-
57
-
58
- const userSessionInfo = await this.authService.createUserSession(loginName, workbench.workbench_code);
59
-
60
- this.ctx.cookies.set(SESSION_ID_KEY, userSessionInfo.sessionId, sessionCookieCfg);
61
-
62
- return CommonResult.successMsg('登录成功', userSessionInfo);
63
- }
64
-
65
-
66
- /**
67
- * 使用https://medstatistic.com/账号登录
68
- */
69
- @Post('/loginByMedStatistic')
70
- async loginByMedStatistic(): Promise<CommonResult> {
71
-
72
- const { medStatisticToken } = this.ctx.request.body as any;
73
- if (!medStatisticToken) {
74
- return CommonResult.errorRes("medStatisticToken is null")
75
- }
76
-
77
- const workbench = await this.workbenchService.getCurrentHostWorkbenchInfo();
78
- if (!workbench) {
79
- throw new CommonException('WORKBENCH_IS_NOT_FOUND', '站点未找到');
80
- }
81
-
82
- // 先删除之前的cookie
83
- const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
84
- await this.authService.removeUserSession(sessionId);
85
-
86
-
87
- let userInfoRes: any = null;
88
- try {
89
- userInfoRes = await axios.get("https://console.medstatistic.com/api/user/index?lang=zh-cn", {
90
- headers: {
91
- host: "console.medstatistic.com",
92
- origin: "https://console.medstatistic.com",
93
- token: medStatisticToken
94
- },
95
- responseType: 'json'
96
- });
97
-
98
- } catch (e) {
99
- return CommonResult.errorRes(e?.message || '');
100
- }
101
-
102
- const userInfo = userInfoRes?.data?.data;
103
-
104
- if (!userInfo || !userInfo.id) {
105
- return CommonResult.errorRes("USER_NOT_EXIST")
106
- }
107
-
108
- const consumerUserInfo: IConsumerUserInfo = {
109
- workbenchCode: workbench.workbench_code,
110
- accountType: 'medstatistic',
111
- accountId: userInfo.id,
112
- nickName: userInfo.nickname,
113
- loginName: `${userInfo.id}_${userInfo.username}`,
114
- avatar: userInfo.avatar,
115
- };
116
-
117
- const userSessionInfo = await this.authService.createUserSessionForConsumer(consumerUserInfo);
118
-
119
- this.ctx.cookies.set(SESSION_ID_KEY, userSessionInfo.sessionId, sessionCookieCfg);
120
-
121
- return CommonResult.successMsg('登录成功', userSessionInfo);
122
- }
123
-
124
-
125
-
126
- /**
127
- * 退出
128
- */
129
- @Post('/logout')
130
- async logout(): Promise<CommonResult> {
131
- const sessionId = this.ctx.cookies.get(SESSION_ID_KEY, sessionCookieCfg);
132
- await this.authService.removeUserSession(sessionId);
133
- this.ctx.cookies.set(SESSION_ID_KEY, '', sessionCookieCfg);
134
- return CommonResult.successMsg('退出成功');
135
- }
136
-
137
-
138
- /**
139
- * 避免Session过期,前端需要定时调用此接口刷新
140
- */
141
- @Post('/refreshSession', { middleware: [checkLogin()] })
142
- async refreshSession(): Promise<CommonResult> {
143
- const sessionInfo:ISessionInfo = this.ctx.userSession.getSessionInfo();
144
- const newSessionInfo: ISessionInfo = await this.authService.refreshSession(sessionInfo);
145
- this.ctx.cookies.set(SESSION_ID_KEY, newSessionInfo.sessionId, sessionCookieCfg);
146
- return CommonResult.successRes(newSessionInfo);
147
- }
148
-
149
-
150
- /**
151
- * 修改我自己的密码
152
- */
153
- @Post('/changeMyPassword', { middleware: [checkLogin()] })
154
- async changeMyPassword(): Promise<CommonResult> {
155
- const { unsaltedPwd } = this.ctx.request.body as any;
156
- const loginName = this.ctx.userSession.getSessionInfo().loginName;
157
-
158
- if (loginName === 'devopsviewer') {
159
- return CommonResult.errorRes("开放体验账号不支持修改密码")
160
- }
161
-
162
- return this.userAccountService.chgUserPassword(loginName, unsaltedPwd);
163
- }
164
-
165
- /**
166
- * 校验权限接口,给前端用的。用于界面按钮级权限控制
167
- */
168
- @Post('/batchCheckPermission', { middleware: [checkLogin()] })
169
- async batchCheckPermission(): Promise<CommonResult> {
170
- const { permissionCodeList, roleCodeList } = (this.ctx.request.body || {}) as any;
171
- const res = this.ctx.userSession.batchCheckPermission({ permissionCodeList, roleCodeList });
172
- return CommonResult.successRes(res);
173
- }
174
- }
@@ -1,32 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { Controller, Inject, Post } from '@midwayjs/core';
3
- import { Context } from '@midwayjs/koa';
4
- import { BaseApiController } from '../base/BaseApiController';
5
- import { CommonResult } from '../../libs/utils/common-dto';
6
- import { SystemTables } from '../../models/SystemTables';
7
- import { KeysOfSimpleSQL } from '../../libs/crud-pro/models/keys';
8
- import { checkLogin } from '../../middleware/permission.middleware';
9
-
10
- /**
11
- * 用户个人数据查询
12
- */
13
- @Controller('/ns/api/myinfo', { middleware: [checkLogin()] })
14
- export class MyInfoController extends BaseApiController {
15
- @Inject()
16
- protected ctx: Context;
17
-
18
- /**
19
- * 我的角色列表:getMyRoleList
20
- */
21
- @Post('/getMyRoleList')
22
- async getMyRoleList() {
23
- // eslint-disable-next-line prefer-const
24
- const body = this.ctx.request.body as any;
25
- const roleCodes = this.ctx.userSession.getSessionInfo().roleCodes;
26
- if (!roleCodes || !roleCodes.length) {
27
- return CommonResult.successRes([]);
28
- }
29
- _.set(body, 'condition.role_code', { $in: roleCodes });
30
- return this.executeSysSimpleSQL(SystemTables.sys_perm_role, KeysOfSimpleSQL.SIMPLE_QUERY_PAGE);
31
- }
32
- }