midway-fatcms 0.0.1-beta.2 → 0.0.1-beta.20

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 (246) hide show
  1. package/.eslintrc.json +12 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +52 -15
  5. package/dist/configuration.d.ts +1 -0
  6. package/dist/configuration.js +33 -8
  7. package/dist/controller/base/BaseApiController.d.ts +1 -1
  8. package/dist/controller/base/BaseApiController.js +9 -6
  9. package/dist/controller/gateway/AsyncTaskController.d.ts +14 -0
  10. package/dist/controller/gateway/AsyncTaskController.js +108 -0
  11. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  12. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  13. package/dist/controller/gateway/DocGatewayController.js +14 -9
  14. package/dist/controller/gateway/PublicApiController.js +4 -6
  15. package/dist/controller/gateway/StaticController.d.ts +2 -0
  16. package/dist/controller/gateway/StaticController.js +59 -40
  17. package/dist/controller/helpers.controller.d.ts +1 -1
  18. package/dist/controller/home.controller.js +2 -2
  19. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  20. package/dist/controller/manage/CrudStandardDesignApi.js +78 -75
  21. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  22. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  23. package/dist/controller/manage/DeployManageApi.js +38 -34
  24. package/dist/controller/manage/MenuManageApi.js +1 -1
  25. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  26. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  27. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  28. package/dist/controller/manage/SysConfigMangeApi.js +6 -4
  29. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  30. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  31. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  32. package/dist/controller/manage/UserAccountManageApi.js +5 -0
  33. package/dist/controller/manage/WorkbenchMangeApi.js +1 -1
  34. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  35. package/dist/controller/myinfo/AuthController.js +1 -54
  36. package/dist/controller/render/AppRenderController.js +10 -4
  37. package/dist/controller/test.controller.d.ts +1 -1
  38. package/dist/controller/test.controller.js +5 -5
  39. package/dist/index.d.ts +34 -4
  40. package/dist/index.js +34 -4
  41. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  42. package/dist/libs/crud-pro/CrudPro.js +5 -0
  43. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  44. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  45. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +2 -1
  46. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  47. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  48. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  49. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  50. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  51. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  52. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  53. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  54. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +22 -11
  55. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +10 -9
  56. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  57. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  58. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  59. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  60. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  61. package/dist/libs/crud-pro/services/CrudProServiceBase.js +3 -2
  62. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  63. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +31 -7
  64. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  65. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  66. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  67. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  68. package/dist/libs/global-config/global-config.d.ts +45 -0
  69. package/dist/libs/global-config/global-config.js +33 -0
  70. package/dist/libs/utils/errorToString.d.ts +2 -0
  71. package/dist/libs/utils/errorToString.js +57 -0
  72. package/dist/libs/utils/fatcms-request.js +2 -2
  73. package/dist/middleware/forbidden.middleware.js +4 -20
  74. package/dist/middleware/global.middleware.js +8 -1
  75. package/dist/models/AsyncTaskModel.d.ts +69 -0
  76. package/dist/models/AsyncTaskModel.js +26 -0
  77. package/dist/models/RedisKeys.d.ts +8 -0
  78. package/dist/models/RedisKeys.js +11 -0
  79. package/dist/models/SystemTables.d.ts +1 -3
  80. package/dist/models/SystemTables.js +2 -4
  81. package/dist/schedule/anonymousContext.d.ts +13 -0
  82. package/dist/schedule/anonymousContext.js +59 -0
  83. package/dist/schedule/index.d.ts +4 -3
  84. package/dist/schedule/index.js +8 -67
  85. package/dist/schedule/runSchedule.d.ts +15 -0
  86. package/dist/schedule/runSchedule.js +68 -0
  87. package/dist/schedule/scheduleNames.d.ts +13 -0
  88. package/dist/schedule/scheduleNames.js +17 -0
  89. package/dist/service/AuthService.js +8 -5
  90. package/dist/service/EnumInfoService.js +7 -4
  91. package/dist/service/FileCenterService.js +13 -9
  92. package/dist/service/SysConfigService.js +4 -2
  93. package/dist/service/UserAccountService.js +10 -6
  94. package/dist/service/UserSessionService.js +2 -1
  95. package/dist/service/VisitStatService.d.ts +1 -1
  96. package/dist/service/VisitStatService.js +20 -27
  97. package/dist/service/WorkbenchService.js +4 -2
  98. package/dist/service/anyapi/AnyApiService.js +4 -2
  99. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -0
  100. package/dist/service/asyncTask/AsyncTaskRunnerService.js +226 -0
  101. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  102. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  103. package/dist/service/crudstd/CrudStdService.d.ts +1 -0
  104. package/dist/service/crudstd/CrudStdService.js +34 -3
  105. package/dist/service/curd/CrudProQuick.d.ts +24 -0
  106. package/dist/service/curd/CrudProQuick.js +105 -0
  107. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  108. package/dist/service/curd/CurdMixByDictService.js +4 -2
  109. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +10 -1
  110. package/dist/service/curd/CurdMixByLinkToCustomService.js +72 -24
  111. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  112. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  113. package/dist/service/curd/CurdMixService.d.ts +1 -1
  114. package/dist/service/curd/CurdMixService.js +2 -2
  115. package/dist/service/curd/CurdMixUtils.d.ts +7 -0
  116. package/dist/service/curd/CurdMixUtils.js +65 -28
  117. package/dist/service/curd/CurdProService.d.ts +2 -10
  118. package/dist/service/curd/CurdProService.js +31 -146
  119. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  120. package/dist/service/curd/fixCfgModel.js +107 -0
  121. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  122. package/dist/views/404_app.html +31 -0
  123. package/dist/views/404_workbench.html +34 -0
  124. package/dist/views/static/favicon.ico +0 -0
  125. package/package.json +9 -2
  126. package/src/config/config.default.ts +58 -27
  127. package/src/configuration.ts +42 -9
  128. package/src/controller/base/BaseApiController.ts +19 -19
  129. package/src/controller/gateway/AnyApiGatewayController.ts +1 -1
  130. package/src/controller/gateway/AsyncTaskController.ts +83 -0
  131. package/src/controller/gateway/CrudMtdGatewayController.ts +17 -13
  132. package/src/controller/gateway/CrudStdGatewayController.ts +4 -4
  133. package/src/controller/gateway/DocGatewayController.ts +25 -17
  134. package/src/controller/gateway/FileController.ts +8 -9
  135. package/src/controller/gateway/ProxyApiGatewayController.ts +4 -4
  136. package/src/controller/gateway/PublicApiController.ts +19 -22
  137. package/src/controller/gateway/StaticController.ts +234 -242
  138. package/src/controller/helpers.controller.ts +1 -1
  139. package/src/controller/home.controller.ts +8 -15
  140. package/src/controller/manage/AnyApiMangeApi.ts +9 -9
  141. package/src/controller/manage/AppLogMangeApi.ts +3 -3
  142. package/src/controller/manage/AppMangeApi.ts +5 -5
  143. package/src/controller/manage/AppPageMangeApi.ts +3 -3
  144. package/src/controller/manage/AppSchemaHistoryApi.ts +1 -1
  145. package/src/controller/manage/CrudMethodsMangeApi.ts +3 -3
  146. package/src/controller/manage/CrudStandardDesignApi.ts +106 -113
  147. package/src/controller/manage/DataDictManageApi.ts +4 -4
  148. package/src/controller/manage/DeployManageApi.ts +85 -89
  149. package/src/controller/manage/DocLibManageApi.ts +3 -3
  150. package/src/controller/manage/DocManageApi.ts +8 -8
  151. package/src/controller/manage/MenuManageApi.ts +9 -14
  152. package/src/controller/manage/SuperAdminManageApi.ts +14 -13
  153. package/src/controller/manage/SysConfigMangeApi.ts +9 -9
  154. package/src/controller/manage/SystemInfoManageApi.ts +11 -6
  155. package/src/controller/manage/UserAccountManageApi.ts +8 -2
  156. package/src/controller/manage/WorkbenchMangeApi.ts +6 -6
  157. package/src/controller/myinfo/AuthController.ts +6 -72
  158. package/src/controller/render/AppRenderController.ts +24 -21
  159. package/src/controller/test.controller.ts +18 -18
  160. package/src/index.ts +38 -4
  161. package/src/libs/crud-pro/CrudPro.ts +7 -0
  162. package/src/libs/crud-pro/defaultConfigs.ts +2 -0
  163. package/src/libs/crud-pro/interfaces.ts +10 -3
  164. package/src/libs/crud-pro/models/ExecuteContext.ts +3 -3
  165. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +11 -1
  166. package/src/libs/crud-pro/models/RequestCfgModel.ts +1 -1
  167. package/src/libs/crud-pro/models/RequestModel.ts +1 -1
  168. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  169. package/src/libs/crud-pro/models/SqlCfgModel.ts +2 -2
  170. package/src/libs/crud-pro/models/Transaction.ts +8 -9
  171. package/src/libs/crud-pro/models/TransactionPostgres.ts +1 -1
  172. package/src/libs/crud-pro/models/TransactionSqlServer.ts +8 -13
  173. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +26 -19
  174. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +38 -50
  175. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +26 -45
  176. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +23 -40
  177. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +25 -29
  178. package/src/libs/crud-pro/services/CrudProServiceBase.ts +5 -9
  179. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +35 -9
  180. package/src/libs/crud-pro/utils/DatabaseName.ts +35 -15
  181. package/src/libs/crud-pro/utils/DateTimeUtils.ts +2 -2
  182. package/src/libs/crud-pro/utils/MixinUtils.ts +1 -1
  183. package/src/libs/crud-pro/utils/ValidateUtils.ts +1 -3
  184. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +1 -1
  185. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +3 -3
  186. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +3 -3
  187. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +2 -2
  188. package/src/libs/global-config/global-config.ts +78 -0
  189. package/src/libs/utils/crypto-utils.ts +2 -4
  190. package/src/libs/utils/errorToString.ts +61 -0
  191. package/src/libs/utils/fatcms-request.ts +9 -21
  192. package/src/libs/utils/ordernum-utils.ts +2 -6
  193. package/src/libs/utils/parseConfig.ts +7 -15
  194. package/src/middleware/forbidden.middleware.ts +6 -25
  195. package/src/middleware/global.middleware.ts +18 -16
  196. package/src/models/AsyncTaskModel.ts +79 -0
  197. package/src/models/RedisKeys.ts +13 -0
  198. package/src/models/SystemTables.ts +1 -4
  199. package/src/models/bizmodels.ts +1 -2
  200. package/src/schedule/anonymousContext.ts +79 -0
  201. package/src/schedule/index.ts +11 -72
  202. package/src/schedule/runSchedule.ts +83 -0
  203. package/src/schedule/scheduleNames.ts +21 -0
  204. package/src/service/AuthService.ts +13 -8
  205. package/src/service/EnumInfoService.ts +8 -3
  206. package/src/service/FileCenterService.ts +12 -6
  207. package/src/service/SysConfigService.ts +10 -6
  208. package/src/service/UserAccountService.ts +14 -4
  209. package/src/service/UserSessionService.ts +5 -4
  210. package/src/service/VisitStatService.ts +57 -70
  211. package/src/service/WorkbenchService.ts +7 -2
  212. package/src/service/anyapi/AnyApiService.ts +11 -8
  213. package/src/service/asyncTask/AsyncTaskRunnerService.ts +249 -0
  214. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  215. package/src/service/base/BaseService.ts +2 -2
  216. package/src/service/crudstd/CrudStdService.ts +43 -5
  217. package/src/service/curd/CrudProQuick.ts +137 -0
  218. package/src/service/curd/CurdMixByAccountService.ts +14 -6
  219. package/src/service/curd/CurdMixByDictService.ts +8 -2
  220. package/src/service/curd/CurdMixByLinkToCustomService.ts +101 -50
  221. package/src/service/curd/CurdMixBySysConfigService.ts +7 -2
  222. package/src/service/curd/CurdMixByWorkbenchService.ts +6 -2
  223. package/src/service/curd/CurdMixService.ts +3 -3
  224. package/src/service/curd/CurdMixUtils.ts +82 -39
  225. package/src/service/curd/CurdProService.ts +45 -189
  226. package/src/service/curd/fixCfgModel.ts +139 -0
  227. package/src/service/proxyapi/ProxyApiLoadService.ts +12 -3
  228. package/src/views/404_app.html +31 -0
  229. package/src/views/404_workbench.html +34 -0
  230. package/src/views/static/favicon.ico +0 -0
  231. package/tsconfig.json +32 -0
  232. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  233. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  234. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  235. package/dist/controller/medstatistic/MedClientController.js +0 -188
  236. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  237. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  238. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  239. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  240. package/dist/controller/medstatistic/constants.d.ts +0 -32
  241. package/dist/controller/medstatistic/constants.js +0 -43
  242. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  243. package/src/controller/medstatistic/MedClientController.ts +0 -188
  244. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  245. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  246. package/src/controller/medstatistic/constants.ts +0 -63
@@ -0,0 +1,139 @@
1
+ import {
2
+ CTX_VISITOR_ACCOUNT_TYPE,
3
+ CTX_VISITOR_AVATAR,
4
+ CTX_VISITOR_ID,
5
+ CTX_VISITOR_NICKNAME,
6
+ IRequestCfgModel2
7
+ } from "@/models/bizmodels";
8
+ import {KeysOfSimpleSQL} from "@/libs/crud-pro/models/keys";
9
+
10
+ function isSimpleQuery(sqlSimpleName: KeysOfSimpleSQL): boolean {
11
+ return sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY ||
12
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_COUNT ||
13
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_PAGE ||
14
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_QUERY_ONE
15
+ }
16
+
17
+
18
+
19
+ function fixCfgModel(cfgModel: IRequestCfgModel2 ){
20
+
21
+ if (!cfgModel.method) {
22
+ cfgModel.method = 'anonymous';
23
+ }
24
+
25
+ if (!cfgModel.updateCfg) {
26
+ cfgModel.updateCfg = {};
27
+ }
28
+
29
+ const sqlSimpleName = cfgModel.sqlSimpleName;
30
+
31
+ const enableStandardUpdateCfg = cfgModel.enableStandardUpdateCfg; // 用于设置data字段
32
+ const enableStandardUpdateCfgCondition = cfgModel.enableStandardUpdateCfgCondition; // 用于设置condition字段
33
+
34
+ // 彻底关闭
35
+ if (enableStandardUpdateCfg === false) {
36
+ return ;
37
+ }
38
+
39
+ const getDataCfgArray = ()=>{
40
+ // 明确有配置
41
+ if (Array.isArray(enableStandardUpdateCfg)) {
42
+ if (enableStandardUpdateCfg.includes('null')) {
43
+ return [];
44
+ }
45
+ return enableStandardUpdateCfg;
46
+ }
47
+ // update 、insert 添加 by
48
+ return ['by']; // 创建/修改语句默认添加by
49
+ }
50
+
51
+ const getConditionCfgArray = ()=>{
52
+ // 明确有配置
53
+ if (Array.isArray(enableStandardUpdateCfgCondition)) {
54
+ if (enableStandardUpdateCfgCondition.includes('null')) {
55
+ return [];
56
+ }
57
+ return enableStandardUpdateCfgCondition;
58
+ }
59
+ return [];
60
+ }
61
+
62
+
63
+ const dataCfgArray = getDataCfgArray();
64
+ const conditionCfgArray = getConditionCfgArray();
65
+
66
+ const mapping = {
67
+
68
+ 'condition.created_by': {contextAsString: CTX_VISITOR_ID},
69
+ 'condition.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
70
+
71
+ 'data.created_by': {contextAsString: CTX_VISITOR_ID},
72
+ 'data.created_avatar': {contextAsString: CTX_VISITOR_AVATAR},
73
+ 'data.created_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
74
+ 'data.created_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
75
+
76
+ 'data.modified_by': {contextAsString: CTX_VISITOR_ID},
77
+ 'data.modified_avatar': {contextAsString: CTX_VISITOR_AVATAR},
78
+ 'data.modified_nickname': {contextAsString: CTX_VISITOR_NICKNAME},
79
+ 'data.modified_account_type': {contextAsString: CTX_VISITOR_ACCOUNT_TYPE},
80
+ };
81
+
82
+
83
+ const buildUpdateCfgBy = (cfgArray: string[], prefix: string): any => {
84
+ const obj: any = {};
85
+ if (Array.isArray(cfgArray)) {
86
+ for (let i = 0; i < cfgArray.length; i++) {
87
+ const suffix = cfgArray[i];
88
+ if (suffix) {
89
+ const key = `${prefix}_${suffix}`
90
+ obj[key] = mapping[key]
91
+ }
92
+ }
93
+ }
94
+ return obj;
95
+ }
96
+
97
+ // 查询语句
98
+ if (isSimpleQuery(sqlSimpleName) ) {
99
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 查询用户本人创建的
100
+ Object.assign(cfgModel.updateCfg, updateCfgObj);
101
+ }
102
+
103
+ // 删除语句
104
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_DELETE) {
105
+ const updateCfgObj = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 删除用户本人创建的
106
+ Object.assign(cfgModel.updateCfg, updateCfgObj);
107
+ }
108
+
109
+ // 插入语句
110
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT) {
111
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
112
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
113
+ }
114
+
115
+ // 更新语句
116
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_UPDATE) {
117
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.modified')
118
+ const updateCfgObj2 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
119
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
120
+ Object.assign(cfgModel.updateCfg, updateCfgObj2);
121
+ }
122
+
123
+ // 插入或更新
124
+ if (sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_OR_UPDATE ||
125
+ sqlSimpleName === KeysOfSimpleSQL.SIMPLE_INSERT_ON_DUPLICATE_UPDATE) {
126
+ const updateCfgObj1 = buildUpdateCfgBy(dataCfgArray,'data.created')
127
+ const updateCfgObj2 = buildUpdateCfgBy(dataCfgArray,'data.modified')
128
+ const updateCfgObj3 = buildUpdateCfgBy(conditionCfgArray, 'condition.created'); // 更新用户本人创建的
129
+ Object.assign(cfgModel.updateCfg, updateCfgObj1);
130
+ Object.assign(cfgModel.updateCfg, updateCfgObj2);
131
+ Object.assign(cfgModel.updateCfg, updateCfgObj3);
132
+ }
133
+ }
134
+
135
+
136
+
137
+ export {
138
+ fixCfgModel
139
+ }
@@ -5,7 +5,7 @@ import { BaseService } from '../base/BaseService';
5
5
  import { getRouteTrie, RouteTrie } from './RouteTrie';
6
6
  import { RouteHandler } from './RouteHandler';
7
7
  import { CurdProService } from '../curd/CurdProService';
8
- import {SystemDbName, SystemDbType, SystemTables} from '../../models/SystemTables';
8
+ import { SystemTables} from '../../models/SystemTables';
9
9
  import { KeysOfSimpleSQL } from '../../libs/crud-pro/models/keys';
10
10
  import { IProxyApiEntity, IUpstreamInfo } from '../../models/SystemEntities';
11
11
  import { parseJsonObject } from '../../libs/utils/functions';
@@ -15,6 +15,7 @@ import { WeightedRoundRobin } from './WeightedRoundRobin';
15
15
  import { IScheduleService } from '../../interface';
16
16
  import { WorkbenchService } from '../WorkbenchService';
17
17
  import { CommonException } from '../../libs/crud-pro/exceptions';
18
+ import { GLOBAL_STATIC_CONFIG } from '@/libs/global-config/global-config';
18
19
 
19
20
  function toUpstreamInfo(config_content: any): IUpstreamInfo {
20
21
  const obj = parseJsonObject(config_content);
@@ -85,6 +86,9 @@ export class ProxyApiLoadService extends BaseService implements IScheduleService
85
86
  }
86
87
 
87
88
  private async buildUpstreamMap() {
89
+
90
+ const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
91
+
88
92
  // biz_tag={'upstream'}
89
93
  const res = await this.curdProService.executeCrudByCfg(
90
94
  {
@@ -95,7 +99,7 @@ export class ProxyApiLoadService extends BaseService implements IScheduleService
95
99
  {
96
100
  sqlTable: SystemTables.sys_configs,
97
101
  sqlDatabase: SystemDbName,
98
- sqlDdType: SystemDbType,
102
+ sqlDbType: SystemDbType,
99
103
  sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY,
100
104
  }
101
105
  );
@@ -110,6 +114,10 @@ export class ProxyApiLoadService extends BaseService implements IScheduleService
110
114
  }
111
115
 
112
116
  private async loadProxyApiEntity(workbench_code: string, upstreamMap: Record<string, IUpstreamInfo>): Promise<IProxyApiEntity[]> {
117
+
118
+ const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
119
+
120
+
113
121
  const res = await this.curdProService.executeCrudByCfg(
114
122
  {
115
123
  condition: {},
@@ -117,7 +125,7 @@ export class ProxyApiLoadService extends BaseService implements IScheduleService
117
125
  {
118
126
  sqlTable: SystemTables.sys_proxyapi,
119
127
  sqlDatabase: SystemDbName,
120
- sqlDdType: SystemDbType,
128
+ sqlDbType: SystemDbType,
121
129
  sqlSimpleName: KeysOfSimpleSQL.SIMPLE_QUERY,
122
130
  }
123
131
  );
@@ -162,4 +170,5 @@ export class ProxyApiLoadService extends BaseService implements IScheduleService
162
170
  }
163
171
  }
164
172
  }
173
+
165
174
  }
@@ -0,0 +1,31 @@
1
+ <html dir="ltr" lang="zh">
2
+ <head>
3
+ <meta charset="utf-8">
4
+ <meta name="color-scheme" content="light dark">
5
+ <meta name="theme-color" content="#fff">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
7
+ <title>无法访问此应用</title>
8
+ <link rel="stylesheet" href="https://cdnjsx.oss-cn-shanghai.aliyuncs.com/styles/chrome-error.css">
9
+ </head>
10
+ <body class="neterror" style="font-family: system-ui,PingFang SC,STHeiti,sans-serif; font-size: 75%">
11
+
12
+ <div id="content">
13
+ <div id="main-frame-error" class="interstitial-wrapper ">
14
+ <div id="main-content">
15
+ <div class="icon icon-generic"></div>
16
+ <div id="main-message">
17
+ <h1><span>无法访问此应用</span></h1>
18
+ <p>此应用存在如下可能的状态导致无法访问:应用不存在、应用已下线、站点不支持</p>
19
+ <p>appCode: <%=appCode%></p>
20
+ <div>
21
+ <p>errorMsg: <%=errorMsg%></p>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+
28
+ </body>
29
+ </html>
30
+
31
+
@@ -0,0 +1,34 @@
1
+ <html dir="ltr" lang="zh">
2
+ <head>
3
+ <meta charset="utf-8">
4
+ <meta name="color-scheme" content="light dark">
5
+ <meta name="theme-color" content="#fff">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
7
+ <title>无法访问此网站</title>
8
+ <link rel="stylesheet" href="https://cdnjsx.oss-cn-shanghai.aliyuncs.com/styles/chrome-error.css">
9
+ </head>
10
+ <body class="neterror" style="font-family: system-ui,PingFang SC,STHeiti,sans-serif; font-size: 75%">
11
+
12
+ <div id="content">
13
+ <div id="main-frame-error" class="interstitial-wrapper ">
14
+ <div id="main-content">
15
+ <div class="icon icon-generic"></div>
16
+ <div id="main-message">
17
+ <h1>
18
+ <span>无法访问此网站</span>
19
+ </h1>
20
+ <p>检查 <span id="domain_span"><%-host%></span> 中是否有拼写错误。</p>
21
+ <div class="error-code" style="text-transform: none;"><%-errorInfo%></div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <script>
27
+ setTimeout(function () {
28
+ document.getElementById('domain_span').innerHTML = location.host
29
+ }, 10)
30
+ </script>
31
+ </body>
32
+ </html>
33
+
34
+
Binary file
package/tsconfig.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "compileOnSave": true,
3
+ "compilerOptions": {
4
+ "target": "es2018",
5
+ "module": "commonjs",
6
+ "moduleResolution": "node",
7
+ "experimentalDecorators": true,
8
+ "emitDecoratorMetadata": true,
9
+ "inlineSourceMap":false,
10
+ "noImplicitThis": true,
11
+ "noUnusedLocals": true,
12
+ "stripInternal": true,
13
+ "skipLibCheck": true,
14
+ "noImplicitReturns": false,
15
+ "pretty": true,
16
+ "declaration": true,
17
+ "forceConsistentCasingInFileNames": true,
18
+ "outDir": "dist",
19
+ "rootDir": "src",
20
+ "baseUrl": ".",
21
+ "paths": {
22
+ "@/*": ["src/*"]
23
+ }
24
+ },
25
+ "exclude": [
26
+ "*.js",
27
+ "*.ts",
28
+ "dist",
29
+ "node_modules",
30
+ "test"
31
+ ]
32
+ }
@@ -1,35 +0,0 @@
1
- import { Context } from '@midwayjs/koa';
2
- import { BaseApiController } from '../base/BaseApiController';
3
- import { AuthService } from '../../service/AuthService';
4
- import { CommonResult } from '../../libs/utils/common-dto';
5
- import { WorkbenchService } from "../../service/WorkbenchService";
6
- import { SysConfigService } from "../../service/SysConfigService";
7
- import { MedScoreService } from "./MedScoreService";
8
- import { MedMessageService } from "./MedMessageService";
9
- interface IUserRechargeRule {
10
- score: number;
11
- authentication_score: number;
12
- recharge_package: any[];
13
- vip_package: any[];
14
- }
15
- /**
16
- * medstatistic 管理端
17
- */
18
- export declare class MedAdminController extends BaseApiController {
19
- protected ctx: Context;
20
- protected authService: AuthService;
21
- protected workbenchService: WorkbenchService;
22
- protected sysConfigService: SysConfigService;
23
- protected medScoreService: MedScoreService;
24
- protected medMessageService: MedMessageService;
25
- /**
26
- * 审批后自动充值30个积分
27
- */
28
- recharge_by_authentication_success(): Promise<CommonResult>;
29
- /**
30
- * 将DB中的数据同步到Redis,因为PHP的程序需要。
31
- */
32
- sync_med_user_recharge_rule_to_redis(): Promise<CommonResult>;
33
- get_med_user_recharge_rule(): Promise<IUserRechargeRule>;
34
- }
35
- export {};
@@ -1,205 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MedAdminController = void 0;
13
- const core_1 = require("@midwayjs/core");
14
- const _ = require("lodash");
15
- const BaseApiController_1 = require("../base/BaseApiController");
16
- const AuthService_1 = require("../../service/AuthService");
17
- const common_dto_1 = require("../../libs/utils/common-dto");
18
- const WorkbenchService_1 = require("../../service/WorkbenchService");
19
- const permission_middleware_1 = require("../../middleware/permission.middleware");
20
- const SysConfigService_1 = require("../../service/SysConfigService");
21
- const functions_1 = require("../../libs/utils/functions");
22
- const exceptions_1 = require("../../libs/crud-pro/exceptions");
23
- const keys_1 = require("../../libs/crud-pro/models/keys");
24
- const ordernum_utils_1 = require("../../libs/utils/ordernum-utils");
25
- const MedScoreService_1 = require("./MedScoreService");
26
- const DateTimeUtils_1 = require("../../libs/crud-pro/utils/DateTimeUtils");
27
- const MedMessageService_1 = require("./MedMessageService");
28
- const constants_1 = require("./constants");
29
- const MED_STATISTIC_DB = "medstatistic";
30
- /**
31
- * medstatistic 管理端
32
- */
33
- let MedAdminController = class MedAdminController extends BaseApiController_1.BaseApiController {
34
- /**
35
- * 审批后自动充值30个积分
36
- */
37
- async recharge_by_authentication_success() {
38
- const body = this.ctx.request.body; // {user_id}
39
- const user_id = parseInt(body.user_id); // med的C端用户user_id
40
- if (!user_id) {
41
- throw new exceptions_1.CommonException("user_id不存在");
42
- }
43
- const authRes = await this.curdMixService.executeCrudByCfg({
44
- condition: {
45
- user_id: user_id,
46
- },
47
- }, {
48
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
49
- sqlTable: "fa_user_authentication",
50
- sqlDatabase: MED_STATISTIC_DB,
51
- });
52
- const authResOne = authRes.getOneObj();
53
- if (!authResOne || `${authResOne.status}` !== '1') {
54
- throw new exceptions_1.CommonException("未提交认证资料或认证审批未通过");
55
- }
56
- const RECHARGE_TYPE_FOR_AUTH = '3';
57
- // 查询之前有没有通过积分认证获得积分
58
- const fa_user_rechargeRes = await this.curdMixService.executeCrudByCfg({
59
- condition: {
60
- user_id: user_id,
61
- type: RECHARGE_TYPE_FOR_AUTH
62
- },
63
- }, {
64
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
65
- sqlTable: "fa_user_recharge",
66
- sqlDatabase: MED_STATISTIC_DB,
67
- });
68
- const fa_user_rechargeResOne = fa_user_rechargeRes.getOneObj();
69
- if (fa_user_rechargeResOne) {
70
- return common_dto_1.CommonResult.errorRes("用户已经获得认证积分");
71
- }
72
- const rechargeRule = await this.get_med_user_recharge_rule();
73
- // 插入充值记录
74
- await this.curdMixService.executeCrudByCfg({
75
- data: {
76
- user_id: user_id,
77
- type: RECHARGE_TYPE_FOR_AUTH,
78
- paid: 1,
79
- order_no: (0, ordernum_utils_1.generateOrderNumber)('CZ'),
80
- money: 0,
81
- score: rechargeRule.authentication_score,
82
- pay_time: DateTimeUtils_1.DateTimeUtils.getCurrentTimeStampSecond(),
83
- createtime: DateTimeUtils_1.DateTimeUtils.getCurrentTimeStampSecond(),
84
- },
85
- }, {
86
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT,
87
- sqlTable: "fa_user_recharge",
88
- sqlDatabase: MED_STATISTIC_DB,
89
- });
90
- // 查询用户信息
91
- const userRes = await this.curdMixService.executeCrudByCfg({
92
- condition: {
93
- id: user_id,
94
- },
95
- }, {
96
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
97
- sqlTable: "fa_user",
98
- sqlDatabase: MED_STATISTIC_DB,
99
- });
100
- const userOne = userRes.getOneObj();
101
- if (!userOne) {
102
- return common_dto_1.CommonResult.errorRes("用户信息没有查询到");
103
- }
104
- // 更新用户日志。
105
- await this.medScoreService.updateScore(user_id, MedScoreService_1.UpdateScorePM.increase, rechargeRule.authentication_score, "用户认证通过获得积分");
106
- // 更新认证状态
107
- await this.curdMixService.executeCrudByCfg({
108
- condition: {
109
- id: user_id,
110
- },
111
- data: {
112
- is_authentication: 1
113
- }
114
- }, {
115
- sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE,
116
- sqlTable: "fa_user",
117
- sqlDatabase: MED_STATISTIC_DB,
118
- });
119
- // 发送消息
120
- // title:string, content: string, received_by: string | number, msgObj: ISendUserReceivedMsg
121
- const title = "您的身份认证请求,已经审批通过";
122
- await this.medMessageService.insertMessage(title, title, user_id, {
123
- target_object_id: authResOne.id,
124
- target_object_type: constants_1.TARGET_OBJECT_TYPE_USER_AUTHENTICATION,
125
- msg_type: constants_1.MsgType.user_auth_pass
126
- });
127
- return common_dto_1.CommonResult.successMsg('用户认证审批通过获得积分' + rechargeRule.authentication_score);
128
- }
129
- /**
130
- * 将DB中的数据同步到Redis,因为PHP的程序需要。
131
- */
132
- async sync_med_user_recharge_rule_to_redis() {
133
- const ruleObj = await this.get_med_user_recharge_rule();
134
- await this.redisService.set("score", ruleObj.score);
135
- await this.redisService.set("authentication_score", ruleObj.authentication_score);
136
- await this.redisService.set("recharge_package", JSON.stringify(ruleObj.recharge_package.map((obj0) => {
137
- const obj = {};
138
- obj.score = "" + obj0.score;
139
- obj.price = "" + obj0.price;
140
- return obj;
141
- })));
142
- await this.redisService.set("vip_package", JSON.stringify(ruleObj.vip_package.map((obj0) => {
143
- const obj = {};
144
- obj.score = "" + obj0.score;
145
- obj.day = "" + obj0.day;
146
- return obj;
147
- })));
148
- return common_dto_1.CommonResult.successRes("SUCCESS");
149
- }
150
- async get_med_user_recharge_rule() {
151
- const rowObj = await this.sysConfigService.getSysConfigOne("med_user_recharge_rule");
152
- const configContentObj = (0, functions_1.parseJsonObject)(rowObj.config_content);
153
- const configContentData = configContentObj.data || {};
154
- const recharge_package = configContentData.recharge_package || [];
155
- const vip_package = configContentData.vip_package || [];
156
- const authentication_score = Number(_.get(configContentData, 'score_setting.authentication_score')) || 30;
157
- const score = Number(_.get(configContentData, 'score_setting.score')) || 1;
158
- return {
159
- score,
160
- authentication_score,
161
- recharge_package,
162
- vip_package
163
- };
164
- }
165
- };
166
- __decorate([
167
- (0, core_1.Inject)(),
168
- __metadata("design:type", Object)
169
- ], MedAdminController.prototype, "ctx", void 0);
170
- __decorate([
171
- (0, core_1.Inject)(),
172
- __metadata("design:type", AuthService_1.AuthService)
173
- ], MedAdminController.prototype, "authService", void 0);
174
- __decorate([
175
- (0, core_1.Inject)(),
176
- __metadata("design:type", WorkbenchService_1.WorkbenchService)
177
- ], MedAdminController.prototype, "workbenchService", void 0);
178
- __decorate([
179
- (0, core_1.Inject)(),
180
- __metadata("design:type", SysConfigService_1.SysConfigService)
181
- ], MedAdminController.prototype, "sysConfigService", void 0);
182
- __decorate([
183
- (0, core_1.Inject)(),
184
- __metadata("design:type", MedScoreService_1.MedScoreService)
185
- ], MedAdminController.prototype, "medScoreService", void 0);
186
- __decorate([
187
- (0, core_1.Inject)(),
188
- __metadata("design:type", MedMessageService_1.MedMessageService)
189
- ], MedAdminController.prototype, "medMessageService", void 0);
190
- __decorate([
191
- (0, core_1.Post)('/recharge_by_authentication_success', { middleware: [(0, permission_middleware_1.checkPermission)("BizOperationUserAdmin")] }),
192
- __metadata("design:type", Function),
193
- __metadata("design:paramtypes", []),
194
- __metadata("design:returntype", Promise)
195
- ], MedAdminController.prototype, "recharge_by_authentication_success", null);
196
- __decorate([
197
- (0, core_1.Post)('/sync_med_user_recharge_rule_to_redis', { middleware: [(0, permission_middleware_1.checkPermission)("BizOperationUserAdmin")] }),
198
- __metadata("design:type", Function),
199
- __metadata("design:paramtypes", []),
200
- __metadata("design:returntype", Promise)
201
- ], MedAdminController.prototype, "sync_med_user_recharge_rule_to_redis", null);
202
- MedAdminController = __decorate([
203
- (0, core_1.Controller)('/ns/api/medadmin')
204
- ], MedAdminController);
205
- exports.MedAdminController = MedAdminController;
@@ -1,28 +0,0 @@
1
- import { Context } from '@midwayjs/koa';
2
- import { BaseApiController } from '../base/BaseApiController';
3
- import { AuthService } from '../../service/AuthService';
4
- import { CommonResult } from '../../libs/utils/common-dto';
5
- import { WorkbenchService } from "../../service/WorkbenchService";
6
- import { MedMessageService } from "./MedMessageService";
7
- import { CurdProService } from "../../service/curd/CurdProService";
8
- /**
9
- * medstatistic 用户端
10
- */
11
- export declare class MedClientController extends BaseApiController {
12
- protected ctx: Context;
13
- protected authService: AuthService;
14
- protected workbenchService: WorkbenchService;
15
- protected curdProService: CurdProService;
16
- protected medMessageService: MedMessageService;
17
- /**
18
- * 充值
19
- */
20
- recharge(): Promise<CommonResult>;
21
- /**
22
- * 获取用户收到的消息。只需要登录即可
23
- */
24
- send_user_received_message(): Promise<CommonResult>;
25
- private get_fa_contact;
26
- private getBBSTopic;
27
- private getBBSReply;
28
- }