@ningboyz/apis 1.6.19 → 1.6.21

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 (243) hide show
  1. package/.prettierrc +15 -15
  2. package/index.ts +124 -124
  3. package/package.json +27 -27
  4. package/packages/antv/cnfg.ts +57 -57
  5. package/packages/antv/index.ts +20 -20
  6. package/packages/antv/main.ts +65 -65
  7. package/packages/antv/para.ts +57 -57
  8. package/packages/antv/types.ts +59 -59
  9. package/packages/axios.ts +185 -185
  10. package/packages/bill/cnfg.ts +72 -72
  11. package/packages/bill/index.ts +17 -17
  12. package/packages/bill/main.ts +211 -211
  13. package/packages/bill/types.ts +144 -144
  14. package/packages/card/data.ts +111 -111
  15. package/packages/card/form.ts +19 -19
  16. package/packages/card/fwcz.ts +87 -87
  17. package/packages/card/gblb.ts +118 -118
  18. package/packages/card/hyhb.ts +72 -72
  19. package/packages/card/index.ts +59 -59
  20. package/packages/card/main.ts +342 -342
  21. package/packages/card/p4pz.ts +97 -97
  22. package/packages/card/room.ts +72 -72
  23. package/packages/card/types.ts +977 -977
  24. package/packages/card/zcbd.ts +122 -122
  25. package/packages/card/zccf.ts +113 -113
  26. package/packages/card/zccz.ts +121 -121
  27. package/packages/card/zcdb.ts +131 -131
  28. package/packages/card/zclb.ts +105 -105
  29. package/packages/card/zclbGblb.ts +33 -33
  30. package/packages/card/zczj.ts +21 -21
  31. package/packages/card/zczjProp.ts +21 -21
  32. package/packages/cnfg/index.ts +14 -14
  33. package/packages/cnfg/main.ts +46 -46
  34. package/packages/cnfg/types.ts +4 -4
  35. package/packages/core/dddw.ts +76 -76
  36. package/packages/core/dept.ts +162 -162
  37. package/packages/core/dict.ts +98 -98
  38. package/packages/core/index.ts +65 -65
  39. package/packages/core/laid.ts +89 -89
  40. package/packages/core/local.ts +29 -29
  41. package/packages/core/mast.ts +42 -42
  42. package/packages/core/part.ts +65 -65
  43. package/packages/core/path.ts +101 -101
  44. package/packages/core/skdw.ts +68 -68
  45. package/packages/core/sysbilltype.ts +57 -57
  46. package/packages/core/sysclas.ts +16 -16
  47. package/packages/core/sysenvr.ts +15 -15
  48. package/packages/core/syskjnd.ts +19 -19
  49. package/packages/core/sysmenu.ts +148 -148
  50. package/packages/core/systravel.ts +53 -53
  51. package/packages/core/type.ts +82 -82
  52. package/packages/core/types.ts +1052 -1052
  53. package/packages/core/unit.ts +149 -149
  54. package/packages/core/user.ts +625 -625
  55. package/packages/cron/index.ts +17 -17
  56. package/packages/cron/main.ts +66 -66
  57. package/packages/cron/todo.ts +21 -21
  58. package/packages/cron/types.ts +26 -26
  59. package/packages/ding/index.ts +14 -14
  60. package/packages/ding/main.ts +29 -29
  61. package/packages/ding/types.ts +26 -26
  62. package/packages/elem/data.ts +66 -66
  63. package/packages/elem/index.ts +15 -15
  64. package/packages/elem/main.ts +79 -79
  65. package/packages/elem/types.ts +49 -49
  66. package/packages/expd/index.ts +14 -14
  67. package/packages/expd/main.ts +31 -31
  68. package/packages/expd/types.ts +18 -18
  69. package/packages/flow/duty.ts +59 -59
  70. package/packages/flow/flow.ts +164 -164
  71. package/packages/flow/index.ts +25 -25
  72. package/packages/flow/main.ts +66 -66
  73. package/packages/flow/node.ts +98 -98
  74. package/packages/flow/types.ts +269 -269
  75. package/packages/flow/void.ts +71 -71
  76. package/packages/gams/cnfg.ts +95 -95
  77. package/packages/gams/dial.ts +21 -21
  78. package/packages/gams/index.ts +28 -28
  79. package/packages/gams/item.ts +61 -61
  80. package/packages/gams/k0km.ts +61 -61
  81. package/packages/gams/k8km.ts +124 -124
  82. package/packages/gams/type.ts +59 -59
  83. package/packages/gams/types.ts +269 -269
  84. package/packages/grow/grow.ts +19 -19
  85. package/packages/grow/index.ts +14 -14
  86. package/packages/grow/types.ts +4 -4
  87. package/packages/gzjg/gzlm.ts +114 -114
  88. package/packages/gzjg/index.ts +20 -20
  89. package/packages/gzjg/main.ts +75 -75
  90. package/packages/gzjg/qzgs.ts +41 -41
  91. package/packages/gzjg/types.ts +126 -126
  92. package/packages/gztb/index.ts +14 -14
  93. package/packages/gztb/main.ts +76 -76
  94. package/packages/gztb/types.ts +35 -35
  95. package/packages/gzzd/index.ts +14 -14
  96. package/packages/gzzd/main.ts +142 -142
  97. package/packages/gzzd/types.ts +88 -88
  98. package/packages/hzcb/index.ts +29 -29
  99. package/packages/hzcb/main.ts +94 -94
  100. package/packages/hzcb/ndjh.ts +37 -37
  101. package/packages/hzcb/tdss.ts +36 -36
  102. package/packages/hzcb/types.ts +339 -332
  103. package/packages/hzcb/xmss.ts +36 -36
  104. package/packages/hzcb/xmtz.ts +62 -62
  105. package/packages/hzcb/xmyk.ts +95 -84
  106. package/packages/hznj/base.ts +60 -60
  107. package/packages/hznj/dzqr.ts +37 -37
  108. package/packages/hznj/index.ts +47 -47
  109. package/packages/hznj/main.ts +60 -60
  110. package/packages/hznj/noti.ts +85 -84
  111. package/packages/hznj/rwqx.ts +37 -37
  112. package/packages/hznj/type.ts +920 -920
  113. package/packages/hznj/xmjj.ts +37 -37
  114. package/packages/hznj/xmsy.ts +62 -62
  115. package/packages/hznj/zbcz.ts +36 -36
  116. package/packages/hznj/zbjg.ts +40 -40
  117. package/packages/hznj/zblr.ts +41 -41
  118. package/packages/hznj/zbly.ts +36 -36
  119. package/packages/hznj/zbth.ts +46 -46
  120. package/packages/hznk/base.ts +58 -58
  121. package/packages/hznk/data.ts +68 -68
  122. package/packages/hznk/fydw.ts +66 -66
  123. package/packages/hznk/fytq.ts +40 -40
  124. package/packages/hznk/index.ts +35 -35
  125. package/packages/hznk/main.ts +60 -60
  126. package/packages/hznk/note.ts +36 -36
  127. package/packages/hznk/type.ts +726 -726
  128. package/packages/hznk/xmys.ts +36 -36
  129. package/packages/hznk/yssq.ts +36 -36
  130. package/packages/index.ts +37 -37
  131. package/packages/japz/cnfg.ts +36 -36
  132. package/packages/japz/index.ts +29 -29
  133. package/packages/japz/item.ts +63 -63
  134. package/packages/japz/k0km.ts +36 -36
  135. package/packages/japz/k7km.ts +40 -40
  136. package/packages/japz/k8km.ts +36 -36
  137. package/packages/japz/k9km.ts +40 -40
  138. package/packages/japz/types.ts +449 -449
  139. package/packages/load/cell.ts +21 -21
  140. package/packages/load/data.ts +22 -22
  141. package/packages/load/index.ts +32 -32
  142. package/packages/load/main.ts +68 -68
  143. package/packages/load/nsdw.ts +50 -50
  144. package/packages/load/types.ts +89 -89
  145. package/packages/load/yqdw.ts +15 -15
  146. package/packages/load/yqkm.ts +15 -15
  147. package/packages/load/zydw.ts +16 -16
  148. package/packages/myoa/index.ts +19 -19
  149. package/packages/myoa/main.ts +249 -249
  150. package/packages/myoa/room.ts +57 -57
  151. package/packages/myoa/types.ts +291 -291
  152. package/packages/myoa/withcard.ts +151 -151
  153. package/packages/noti/index.ts +14 -14
  154. package/packages/noti/main.ts +238 -238
  155. package/packages/noti/types.ts +169 -169
  156. package/packages/ocri/index.ts +14 -14
  157. package/packages/ocri/path.ts +24 -24
  158. package/packages/ocri/types.ts +37 -37
  159. package/packages/pzpt/cnfg.ts +93 -93
  160. package/packages/pzpt/cnfgmore.ts +30 -30
  161. package/packages/pzpt/glfa.ts +70 -70
  162. package/packages/pzpt/glkm.ts +60 -60
  163. package/packages/pzpt/index.ts +50 -50
  164. package/packages/pzpt/item.ts +52 -52
  165. package/packages/pzpt/k0km.ts +51 -51
  166. package/packages/pzpt/k8km.ts +50 -50
  167. package/packages/pzpt/kbkm.ts +22 -22
  168. package/packages/pzpt/pzpz.ts +66 -66
  169. package/packages/pzpt/pzpzp6pz.ts +61 -61
  170. package/packages/pzpt/type.ts +50 -50
  171. package/packages/pzpt/types.ts +489 -489
  172. package/packages/pzpt/yqkb.ts +20 -20
  173. package/packages/pzpt/yqkm.ts +34 -34
  174. package/packages/tabl/index.ts +14 -14
  175. package/packages/tabl/main.ts +190 -190
  176. package/packages/tabl/types.ts +192 -192
  177. package/packages/take/index.ts +14 -14
  178. package/packages/take/main.ts +64 -64
  179. package/packages/take/types.ts +137 -137
  180. package/packages/talk/index.ts +14 -14
  181. package/packages/talk/main.ts +32 -32
  182. package/packages/talk/types.ts +29 -29
  183. package/packages/task/index.ts +14 -14
  184. package/packages/task/main.ts +65 -65
  185. package/packages/task/types.ts +18 -18
  186. package/packages/type.ts +9 -9
  187. package/packages/vary/index.ts +14 -14
  188. package/packages/vary/main.ts +88 -88
  189. package/packages/vary/types.ts +94 -94
  190. package/packages/wldy/data.ts +86 -86
  191. package/packages/wldy/index.ts +20 -20
  192. package/packages/wldy/item.ts +57 -57
  193. package/packages/wldy/page.ts +114 -114
  194. package/packages/wldy/types.ts +110 -110
  195. package/packages/wlzf/index.ts +14 -14
  196. package/packages/wlzf/main.ts +57 -57
  197. package/packages/wlzf/types.ts +49 -49
  198. package/packages/wtui/ctrl.ts +77 -77
  199. package/packages/wtui/envr.ts +19 -19
  200. package/packages/wtui/form.ts +67 -67
  201. package/packages/wtui/index.ts +44 -44
  202. package/packages/wtui/item.ts +67 -67
  203. package/packages/wtui/main.ts +103 -103
  204. package/packages/wtui/menu.ts +59 -59
  205. package/packages/wtui/node.ts +95 -95
  206. package/packages/wtui/todo.ts +83 -83
  207. package/packages/wtui/types.ts +413 -413
  208. package/packages/wtui/user.ts +66 -66
  209. package/packages/wtui/view.ts +98 -98
  210. package/packages/wtui/zone.ts +58 -58
  211. package/packages/wzpz/cnfg.ts +57 -57
  212. package/packages/wzpz/index.ts +29 -29
  213. package/packages/wzpz/item.ts +71 -71
  214. package/packages/wzpz/k0km.ts +137 -137
  215. package/packages/wzpz/k8km.ts +102 -102
  216. package/packages/wzpz/kbkm.ts +21 -21
  217. package/packages/wzpz/type.ts +62 -62
  218. package/packages/wzpz/types.ts +425 -425
  219. package/packages/yzcg/index.ts +14 -14
  220. package/packages/yzcg/main.ts +66 -66
  221. package/packages/yzcg/types.ts +36 -36
  222. package/packages/yzht/bill.ts +22 -22
  223. package/packages/yzht/glpz.ts +41 -41
  224. package/packages/yzht/index.ts +20 -20
  225. package/packages/yzht/main.ts +304 -304
  226. package/packages/yzht/types.ts +238 -238
  227. package/packages/yzpz/cnfg.ts +57 -57
  228. package/packages/yzpz/index.ts +29 -29
  229. package/packages/yzpz/item.ts +70 -70
  230. package/packages/yzpz/k0km.ts +51 -51
  231. package/packages/yzpz/k8km.ts +79 -79
  232. package/packages/yzpz/kbkm.ts +40 -40
  233. package/packages/yzpz/type.ts +57 -57
  234. package/packages/yzpz/types.ts +281 -281
  235. package/packages/zbhd/cnfg.ts +60 -60
  236. package/packages/zbhd/index.ts +17 -17
  237. package/packages/zbhd/main.ts +305 -305
  238. package/packages/zbhd/types.ts +281 -281
  239. package/packages/zbzd/index.ts +17 -17
  240. package/packages/zbzd/main.ts +215 -215
  241. package/packages/zbzd/types.ts +167 -167
  242. package/packages/zbzd/zbfl.ts +32 -32
  243. package/readme.md +1 -1
@@ -1,57 +1,57 @@
1
- import { TAntv } from "@ningboyz/types";
2
- import type { HttpRequest } from "../axios";
3
- import { IAntvParaDetaildbQuerys, IAntvParaSelectdbQuerys } from "./types";
4
-
5
- class ParaRequest {
6
- private httpRequest: HttpRequest;
7
- constructor(httpRequest: HttpRequest) {
8
- this.httpRequest = httpRequest;
9
- }
10
-
11
- /**
12
- * 获取数字提取参数列表
13
- * @param querys
14
- * @returns
15
- */
16
- selectdb(querys: IAntvParaSelectdbQuerys) {
17
- return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/selectdb", querys, undefined);
18
- }
19
-
20
- /**
21
- * 新增数字提取参数
22
- * @param querys
23
- * @returns
24
- */
25
- insertdb(Querys: object) {
26
- return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/insertdb", undefined, Querys);
27
- }
28
-
29
- /**
30
- * 修改数字提取参数
31
- * @param querys
32
- * @returns
33
- */
34
- updatedb(Querys: object) {
35
- return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/updatedb", undefined, Querys);
36
- }
37
-
38
- /**
39
- * 删除数字提取参数
40
- * @param querys
41
- * @returns
42
- */
43
- deletedb(Querys: object) {
44
- return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/deletedb", undefined, Querys);
45
- }
46
-
47
- /**
48
- * 获取数字提取参数详情
49
- * @param querys
50
- * @returns
51
- */
52
- detaildb(querys: IAntvParaDetaildbQuerys) {
53
- return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/detaildb", querys, undefined);
54
- }
55
- }
56
-
57
- export default ParaRequest;
1
+ import { TAntv } from "@ningboyz/types";
2
+ import type { HttpRequest } from "../axios";
3
+ import { IAntvParaDetaildbQuerys, IAntvParaSelectdbQuerys } from "./types";
4
+
5
+ class ParaRequest {
6
+ private httpRequest: HttpRequest;
7
+ constructor(httpRequest: HttpRequest) {
8
+ this.httpRequest = httpRequest;
9
+ }
10
+
11
+ /**
12
+ * 获取数字提取参数列表
13
+ * @param querys
14
+ * @returns
15
+ */
16
+ selectdb(querys: IAntvParaSelectdbQuerys) {
17
+ return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/selectdb", querys, undefined);
18
+ }
19
+
20
+ /**
21
+ * 新增数字提取参数
22
+ * @param querys
23
+ * @returns
24
+ */
25
+ insertdb(Querys: object) {
26
+ return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/insertdb", undefined, Querys);
27
+ }
28
+
29
+ /**
30
+ * 修改数字提取参数
31
+ * @param querys
32
+ * @returns
33
+ */
34
+ updatedb(Querys: object) {
35
+ return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/updatedb", undefined, Querys);
36
+ }
37
+
38
+ /**
39
+ * 删除数字提取参数
40
+ * @param querys
41
+ * @returns
42
+ */
43
+ deletedb(Querys: object) {
44
+ return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/deletedb", undefined, Querys);
45
+ }
46
+
47
+ /**
48
+ * 获取数字提取参数详情
49
+ * @param querys
50
+ * @returns
51
+ */
52
+ detaildb(querys: IAntvParaDetaildbQuerys) {
53
+ return this.httpRequest.post<TAntv.IAntvParaResponse[]>("/antv/tpara/detaildb", querys, undefined);
54
+ }
55
+ }
56
+
57
+ export default ParaRequest;
@@ -1,59 +1,59 @@
1
- /** cnfg */
2
- export interface IAntvCnfgSelectdbQuerys {
3
- antvmain: number;
4
- }
5
-
6
- export class TAntvCnfgSelectdbQuerys implements IAntvCnfgSelectdbQuerys {
7
- antvmain: number = -1;
8
- }
9
-
10
- export interface IAntvCnfgDetaildbQuerys {
11
- antvmain: number;
12
- }
13
-
14
- export class TAntvCnfgDetaildbQuerys implements IAntvCnfgDetaildbQuerys {
15
- antvmain: number = -1;
16
- }
17
-
18
- /** main */
19
- export interface IAntvMainDetaildbQuerys {
20
- antvmain: number;
21
- }
22
-
23
- export class TAntvMainDetaildbQuerys implements IAntvMainDetaildbQuerys {
24
- antvmain: number = -1;
25
- }
26
-
27
- export interface IAntvMainGet5DataQuerys {
28
- antvname: string;
29
- cnfgname: string;
30
- unittypetext: string;
31
- [key: string]: string;
32
- }
33
-
34
- export class TAntvMainGet5DataQuerys implements IAntvMainGet5DataQuerys {
35
- antvname: string = "";
36
- cnfgname: string = "";
37
- unittypetext: string = "";
38
-
39
- [key: string]: string;
40
- }
41
-
42
- /** para */
43
- export interface IAntvParaSelectdbQuerys {
44
- antvmain: number;
45
- antvcnfg: number;
46
- }
47
-
48
- export class TAntvParaSelectdbQuerys implements IAntvParaSelectdbQuerys {
49
- antvmain: number = -1;
50
- antvcnfg: number = -1;
51
- }
52
-
53
- export interface IAntvParaDetaildbQuerys {
54
- antvmain: number;
55
- }
56
-
57
- export class TAntvParaDetaildbQuerys implements IAntvParaDetaildbQuerys {
58
- antvmain: number = -1;
59
- }
1
+ /** cnfg */
2
+ export interface IAntvCnfgSelectdbQuerys {
3
+ antvmain: number;
4
+ }
5
+
6
+ export class TAntvCnfgSelectdbQuerys implements IAntvCnfgSelectdbQuerys {
7
+ antvmain: number = -1;
8
+ }
9
+
10
+ export interface IAntvCnfgDetaildbQuerys {
11
+ antvmain: number;
12
+ }
13
+
14
+ export class TAntvCnfgDetaildbQuerys implements IAntvCnfgDetaildbQuerys {
15
+ antvmain: number = -1;
16
+ }
17
+
18
+ /** main */
19
+ export interface IAntvMainDetaildbQuerys {
20
+ antvmain: number;
21
+ }
22
+
23
+ export class TAntvMainDetaildbQuerys implements IAntvMainDetaildbQuerys {
24
+ antvmain: number = -1;
25
+ }
26
+
27
+ export interface IAntvMainGet5DataQuerys {
28
+ antvname: string;
29
+ cnfgname: string;
30
+ unittypetext: string;
31
+ [key: string]: string;
32
+ }
33
+
34
+ export class TAntvMainGet5DataQuerys implements IAntvMainGet5DataQuerys {
35
+ antvname: string = "";
36
+ cnfgname: string = "";
37
+ unittypetext: string = "";
38
+
39
+ [key: string]: string;
40
+ }
41
+
42
+ /** para */
43
+ export interface IAntvParaSelectdbQuerys {
44
+ antvmain: number;
45
+ antvcnfg: number;
46
+ }
47
+
48
+ export class TAntvParaSelectdbQuerys implements IAntvParaSelectdbQuerys {
49
+ antvmain: number = -1;
50
+ antvcnfg: number = -1;
51
+ }
52
+
53
+ export interface IAntvParaDetaildbQuerys {
54
+ antvmain: number;
55
+ }
56
+
57
+ export class TAntvParaDetaildbQuerys implements IAntvParaDetaildbQuerys {
58
+ antvmain: number = -1;
59
+ }
package/packages/axios.ts CHANGED
@@ -1,185 +1,185 @@
1
- import type { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from "axios";
2
- import axios from "axios";
3
- import _ from "lodash";
4
- import { TResp } from "@ningboyz/types";
5
- import { ISessionUserInfo, TSessionUserInfo } from "@ningboyz/types/src/store";
6
- import { CONST_ERROR_KEY_TO_会话过期, CONST_ERROR_KEY_TO_路由错误 } from "@ningboyz/types/src/const/const_error_key";
7
-
8
- export interface IAxiosConfig {
9
- baseURL: string;
10
- timeout?: number;
11
- getUserInfo?: () => ISessionUserInfo;
12
- interceptorsRequest?: (request: InternalAxiosRequestConfig<any>) => InternalAxiosRequestConfig<any>;
13
- interceptorsResponse?: (response: AxiosResponse<any>) => AxiosResponse<any>;
14
- loseTokenState?: () => void;
15
- }
16
-
17
- class HttpRequest {
18
- private instance: AxiosInstance;
19
- private readonly METHOD_GET: string = "GET";
20
- private readonly METHOD_POST: string = "POST";
21
-
22
- // 实现一个方法将传入的querys每一个key都转换为小写
23
- private toLowerCase(querys: object) {
24
- return _.mapKeys(querys, (value, key) => key.toLowerCase());
25
- }
26
-
27
- constructor(config: IAxiosConfig) {
28
- const { baseURL, timeout = 60000, getUserInfo, interceptorsRequest, interceptorsResponse, loseTokenState } = config;
29
- this.instance = axios.create({
30
- baseURL,
31
- timeout
32
- });
33
- /**用户传了请求中间件 */
34
- if (!_.isNil(interceptorsRequest)) {
35
- this.instance.interceptors.request.use(interceptorsRequest);
36
- } else {
37
- this.instance.interceptors.request.use((request) => {
38
- const userInfo = !_.isNil(getUserInfo) ? getUserInfo() : new TSessionUserInfo();
39
- /** 添加随机数,防止浏览器接口缓存 */
40
- const time = new Date().getTime() + Math.round(Math.random() * 1000);
41
- request.params = {
42
- whobuild: userInfo.whobuild !== 0 ? userInfo.whobuild : undefined,
43
- userindx: userInfo.userIndx !== 0 ? userInfo.userIndx : undefined,
44
- ...request.params,
45
- r: time
46
- };
47
- request.headers.usrtoken = userInfo.usrtoken ?? request.headers?.usrtoken;
48
- request.headers.dbconfig = userInfo.dbConfig;
49
- return request;
50
- });
51
- }
52
-
53
- /**用户传了响应中间件 */
54
- if (!_.isNil(interceptorsResponse)) {
55
- // this.instance.interceptors.response.use(interceptorsResponse);
56
- this.instance.interceptors.response.use((response) => {
57
- response = interceptorsResponse(response);
58
- if (!_.isNil(response.data) && !_.isNil(loseTokenState)) {
59
- const resp = response.data as TResp.IResponse<any>;
60
- if (resp.ERRORKEY === CONST_ERROR_KEY_TO_会话过期) {
61
- loseTokenState();
62
- }
63
- }
64
- return response;
65
- });
66
- } else {
67
- this.instance.interceptors.response.use((response) => {
68
- if (!_.isNil(response.data) && !_.isNil(loseTokenState)) {
69
- const resp = response.data as TResp.IResponse<any>;
70
- if (resp.ERRORKEY === CONST_ERROR_KEY_TO_会话过期) {
71
- loseTokenState();
72
- }
73
- }
74
- return response;
75
- });
76
- }
77
- }
78
-
79
- getFormData(data: object) {
80
- if (data instanceof FormData) {
81
- return data;
82
- }
83
- const formData = new FormData();
84
- formData.append("params", JSON.stringify(data));
85
- return formData;
86
- }
87
-
88
- get<T>(url: string, querys?: object): Promise<TResp.IResponse<T>> {
89
- const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
90
- return new Promise((resolve, reject) => {
91
- this.instance
92
- .request<T>({
93
- method: this.METHOD_GET,
94
- url,
95
- params: lowerQuerys
96
- })
97
- .then((res: AxiosResponse) => {
98
- resolve(res.data as TResp.IResponse<T>);
99
- })
100
- .catch((err: any) => {
101
- reject(err);
102
- });
103
- });
104
- }
105
-
106
- post<T>(url: string, querys?: object, params?: object, headers?: object): Promise<TResp.IResponse<T>> {
107
- const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
108
- return new Promise((resolve, reject) => {
109
- const data = !_.isNil(params) ? this.getFormData(params) : void 0;
110
- this.instance
111
- .request<T>({
112
- method: this.METHOD_POST,
113
- url,
114
- params: lowerQuerys,
115
- data,
116
- headers: {
117
- ...headers
118
- }
119
- })
120
- .then((res: AxiosResponse) => {
121
- resolve(res.data as TResp.IResponse<T>);
122
- })
123
- .catch((err: any) => {
124
- reject(err);
125
- });
126
- });
127
- }
128
-
129
- postJson<T>(url: string, querys?: object, params?: object, headers?: object): Promise<TResp.IResponse<T>> {
130
- const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
131
- return new Promise((resolve, reject) => {
132
- const data = !_.isNil(params) ? params : void 0;
133
- this.instance
134
- .request<T>({
135
- method: this.METHOD_POST,
136
- url,
137
- params: lowerQuerys,
138
- data,
139
- headers: {
140
- ...headers
141
- }
142
- })
143
- .then((res: AxiosResponse) => {
144
- resolve(res.data as TResp.IResponse<T>);
145
- })
146
- .catch((err: any) => {
147
- reject(err);
148
- });
149
- });
150
- }
151
-
152
- postFile<T>(url: string, querys?: object, params?: object): Promise<TResp.IResponse<T>> {
153
- const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
154
- return new Promise((resolve, reject) => {
155
- const data = !_.isNil(params) ? this.getFormData(params) : void 0;
156
- this.instance
157
- .request({
158
- url,
159
- method: this.METHOD_POST,
160
- params: lowerQuerys,
161
- data,
162
- headers: {
163
- "Content-Type": `multipart/form-data;boundary=${new Date().getTime()}`
164
- }
165
- })
166
- .then((res: AxiosResponse) => {
167
- resolve(res.data as TResp.IResponse<T>);
168
- })
169
- .catch((err: any) => {
170
- reject(err);
171
- });
172
- });
173
- }
174
-
175
- getInstance() {
176
- return this.instance;
177
- }
178
- }
179
-
180
- function createRequest(config: IAxiosConfig) {
181
- return new HttpRequest(config);
182
- }
183
-
184
- export { createRequest };
185
- export type { HttpRequest, AxiosResponse, InternalAxiosRequestConfig };
1
+ import type { AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from "axios";
2
+ import axios from "axios";
3
+ import _ from "lodash";
4
+ import { TResp } from "@ningboyz/types";
5
+ import { ISessionUserInfo, TSessionUserInfo } from "@ningboyz/types/src/store";
6
+ import { CONST_ERROR_KEY_TO_会话过期, CONST_ERROR_KEY_TO_路由错误 } from "@ningboyz/types/src/const/const_error_key";
7
+
8
+ export interface IAxiosConfig {
9
+ baseURL: string;
10
+ timeout?: number;
11
+ getUserInfo?: () => ISessionUserInfo;
12
+ interceptorsRequest?: (request: InternalAxiosRequestConfig<any>) => InternalAxiosRequestConfig<any>;
13
+ interceptorsResponse?: (response: AxiosResponse<any>) => AxiosResponse<any>;
14
+ loseTokenState?: () => void;
15
+ }
16
+
17
+ class HttpRequest {
18
+ private instance: AxiosInstance;
19
+ private readonly METHOD_GET: string = "GET";
20
+ private readonly METHOD_POST: string = "POST";
21
+
22
+ // 实现一个方法将传入的querys每一个key都转换为小写
23
+ private toLowerCase(querys: object) {
24
+ return _.mapKeys(querys, (value, key) => key.toLowerCase());
25
+ }
26
+
27
+ constructor(config: IAxiosConfig) {
28
+ const { baseURL, timeout = 60000, getUserInfo, interceptorsRequest, interceptorsResponse, loseTokenState } = config;
29
+ this.instance = axios.create({
30
+ baseURL,
31
+ timeout
32
+ });
33
+ /**用户传了请求中间件 */
34
+ if (!_.isNil(interceptorsRequest)) {
35
+ this.instance.interceptors.request.use(interceptorsRequest);
36
+ } else {
37
+ this.instance.interceptors.request.use((request) => {
38
+ const userInfo = !_.isNil(getUserInfo) ? getUserInfo() : new TSessionUserInfo();
39
+ /** 添加随机数,防止浏览器接口缓存 */
40
+ const time = new Date().getTime() + Math.round(Math.random() * 1000);
41
+ request.params = {
42
+ whobuild: userInfo.whobuild !== 0 ? userInfo.whobuild : undefined,
43
+ userindx: userInfo.userIndx !== 0 ? userInfo.userIndx : undefined,
44
+ ...request.params,
45
+ r: time
46
+ };
47
+ request.headers.usrtoken = userInfo.usrtoken ?? request.headers?.usrtoken;
48
+ request.headers.dbconfig = userInfo.dbConfig;
49
+ return request;
50
+ });
51
+ }
52
+
53
+ /**用户传了响应中间件 */
54
+ if (!_.isNil(interceptorsResponse)) {
55
+ // this.instance.interceptors.response.use(interceptorsResponse);
56
+ this.instance.interceptors.response.use((response) => {
57
+ response = interceptorsResponse(response);
58
+ if (!_.isNil(response.data) && !_.isNil(loseTokenState)) {
59
+ const resp = response.data as TResp.IResponse<any>;
60
+ if (resp.ERRORKEY === CONST_ERROR_KEY_TO_会话过期) {
61
+ loseTokenState();
62
+ }
63
+ }
64
+ return response;
65
+ });
66
+ } else {
67
+ this.instance.interceptors.response.use((response) => {
68
+ if (!_.isNil(response.data) && !_.isNil(loseTokenState)) {
69
+ const resp = response.data as TResp.IResponse<any>;
70
+ if (resp.ERRORKEY === CONST_ERROR_KEY_TO_会话过期) {
71
+ loseTokenState();
72
+ }
73
+ }
74
+ return response;
75
+ });
76
+ }
77
+ }
78
+
79
+ getFormData(data: object) {
80
+ if (data instanceof FormData) {
81
+ return data;
82
+ }
83
+ const formData = new FormData();
84
+ formData.append("params", JSON.stringify(data));
85
+ return formData;
86
+ }
87
+
88
+ get<T>(url: string, querys?: object): Promise<TResp.IResponse<T>> {
89
+ const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
90
+ return new Promise((resolve, reject) => {
91
+ this.instance
92
+ .request<T>({
93
+ method: this.METHOD_GET,
94
+ url,
95
+ params: lowerQuerys
96
+ })
97
+ .then((res: AxiosResponse) => {
98
+ resolve(res.data as TResp.IResponse<T>);
99
+ })
100
+ .catch((err: any) => {
101
+ reject(err);
102
+ });
103
+ });
104
+ }
105
+
106
+ post<T>(url: string, querys?: object, params?: object, headers?: object): Promise<TResp.IResponse<T>> {
107
+ const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
108
+ return new Promise((resolve, reject) => {
109
+ const data = !_.isNil(params) ? this.getFormData(params) : void 0;
110
+ this.instance
111
+ .request<T>({
112
+ method: this.METHOD_POST,
113
+ url,
114
+ params: lowerQuerys,
115
+ data,
116
+ headers: {
117
+ ...headers
118
+ }
119
+ })
120
+ .then((res: AxiosResponse) => {
121
+ resolve(res.data as TResp.IResponse<T>);
122
+ })
123
+ .catch((err: any) => {
124
+ reject(err);
125
+ });
126
+ });
127
+ }
128
+
129
+ postJson<T>(url: string, querys?: object, params?: object, headers?: object): Promise<TResp.IResponse<T>> {
130
+ const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
131
+ return new Promise((resolve, reject) => {
132
+ const data = !_.isNil(params) ? params : void 0;
133
+ this.instance
134
+ .request<T>({
135
+ method: this.METHOD_POST,
136
+ url,
137
+ params: lowerQuerys,
138
+ data,
139
+ headers: {
140
+ ...headers
141
+ }
142
+ })
143
+ .then((res: AxiosResponse) => {
144
+ resolve(res.data as TResp.IResponse<T>);
145
+ })
146
+ .catch((err: any) => {
147
+ reject(err);
148
+ });
149
+ });
150
+ }
151
+
152
+ postFile<T>(url: string, querys?: object, params?: object): Promise<TResp.IResponse<T>> {
153
+ const lowerQuerys = querys ? this.toLowerCase(querys) : undefined;
154
+ return new Promise((resolve, reject) => {
155
+ const data = !_.isNil(params) ? this.getFormData(params) : void 0;
156
+ this.instance
157
+ .request({
158
+ url,
159
+ method: this.METHOD_POST,
160
+ params: lowerQuerys,
161
+ data,
162
+ headers: {
163
+ "Content-Type": `multipart/form-data;boundary=${new Date().getTime()}`
164
+ }
165
+ })
166
+ .then((res: AxiosResponse) => {
167
+ resolve(res.data as TResp.IResponse<T>);
168
+ })
169
+ .catch((err: any) => {
170
+ reject(err);
171
+ });
172
+ });
173
+ }
174
+
175
+ getInstance() {
176
+ return this.instance;
177
+ }
178
+ }
179
+
180
+ function createRequest(config: IAxiosConfig) {
181
+ return new HttpRequest(config);
182
+ }
183
+
184
+ export { createRequest };
185
+ export type { HttpRequest, AxiosResponse, InternalAxiosRequestConfig };