@ibiz-template/core 0.2.18-dev.1 → 0.2.18
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.
- package/dist/index.esm.js +4 -1
- package/dist/index.system.min.js +2 -2
- package/dist/index.system.min.js.map +1 -1
- package/out/interface/i-portal-async-action/i-portal-async-action.d.ts +72 -0
- package/out/interface/i-portal-async-action/i-portal-async-action.d.ts.map +1 -1
- package/out/utils/net/net.d.ts.map +1 -1
- package/out/utils/net/net.js +4 -1
- package/package.json +2 -2
- package/src/interface/i-portal-async-action/i-portal-async-action.ts +78 -0
- package/src/utils/net/net.ts +4 -1
|
@@ -7,6 +7,20 @@
|
|
|
7
7
|
* @interface IPortalAsyncAction
|
|
8
8
|
*/
|
|
9
9
|
export interface IPortalAsyncAction {
|
|
10
|
+
/**
|
|
11
|
+
* 异步操作标识
|
|
12
|
+
* @author lxm
|
|
13
|
+
* @date 2023-11-14 02:26:59
|
|
14
|
+
* @type {string}
|
|
15
|
+
*/
|
|
16
|
+
asyncacitonid: string;
|
|
17
|
+
/**
|
|
18
|
+
* 异步操作名称
|
|
19
|
+
* @author lxm
|
|
20
|
+
* @date 2023-11-14 02:27:18
|
|
21
|
+
* @type {string}
|
|
22
|
+
*/
|
|
23
|
+
asyncacitonname: string;
|
|
10
24
|
/**
|
|
11
25
|
* 会话标识
|
|
12
26
|
*
|
|
@@ -15,8 +29,17 @@ export interface IPortalAsyncAction {
|
|
|
15
29
|
* @type {string}
|
|
16
30
|
*/
|
|
17
31
|
fulltopictag: string;
|
|
32
|
+
srfdcid: string;
|
|
33
|
+
/**
|
|
34
|
+
* 中心系统标识
|
|
35
|
+
* @author lxm
|
|
36
|
+
* @date 2023-11-14 02:26:15
|
|
37
|
+
* @type {string}
|
|
38
|
+
*/
|
|
39
|
+
dcsystemid: string;
|
|
18
40
|
/**
|
|
19
41
|
* 异步作业类型
|
|
42
|
+
* - DEIMPORTDATA2: 异步导入
|
|
20
43
|
*
|
|
21
44
|
* @author chitanda
|
|
22
45
|
* @date 2023-09-05 15:09:09
|
|
@@ -47,6 +70,13 @@ export interface IPortalAsyncAction {
|
|
|
47
70
|
* @type {string}
|
|
48
71
|
*/
|
|
49
72
|
stepinfo?: string;
|
|
73
|
+
/**
|
|
74
|
+
* 完成百分比
|
|
75
|
+
* @author lxm
|
|
76
|
+
* @date 2023-11-14 05:38:15
|
|
77
|
+
* @type {number}
|
|
78
|
+
*/
|
|
79
|
+
completionrate?: number;
|
|
50
80
|
/**
|
|
51
81
|
* 异步结果下载路径,目前是留给导出数据使用
|
|
52
82
|
*
|
|
@@ -87,5 +117,47 @@ export interface IPortalAsyncAction {
|
|
|
87
117
|
* @type {unknown}
|
|
88
118
|
*/
|
|
89
119
|
actionparam4?: unknown;
|
|
120
|
+
/**
|
|
121
|
+
* 操作开始时间
|
|
122
|
+
* @author lxm
|
|
123
|
+
* @date 2023-11-14 02:24:41
|
|
124
|
+
* @type {string}
|
|
125
|
+
*/
|
|
126
|
+
begintime: string;
|
|
127
|
+
/**
|
|
128
|
+
* 操作结束时间
|
|
129
|
+
* @author lxm
|
|
130
|
+
* @date 2023-11-14 02:24:43
|
|
131
|
+
* @type {string}
|
|
132
|
+
*/
|
|
133
|
+
endtime: string;
|
|
134
|
+
/**
|
|
135
|
+
* 创建人标识
|
|
136
|
+
* @author lxm
|
|
137
|
+
* @date 2023-11-14 02:24:03
|
|
138
|
+
* @type {string}
|
|
139
|
+
*/
|
|
140
|
+
createman: string;
|
|
141
|
+
/**
|
|
142
|
+
* 创建时间
|
|
143
|
+
* @author lxm
|
|
144
|
+
* @date 2023-11-14 02:24:11
|
|
145
|
+
* @type {string}
|
|
146
|
+
*/
|
|
147
|
+
createdate: string;
|
|
148
|
+
/**
|
|
149
|
+
* 更新人标识
|
|
150
|
+
* @author lxm
|
|
151
|
+
* @date 2023-11-14 02:24:20
|
|
152
|
+
* @type {string}
|
|
153
|
+
*/
|
|
154
|
+
updateman: string;
|
|
155
|
+
/**
|
|
156
|
+
* 更新时间
|
|
157
|
+
* @author lxm
|
|
158
|
+
* @date 2023-11-14 02:24:24
|
|
159
|
+
* @type {string}
|
|
160
|
+
*/
|
|
161
|
+
updatedate: string;
|
|
90
162
|
}
|
|
91
163
|
//# sourceMappingURL=i-portal-async-action.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-portal-async-action.d.ts","sourceRoot":"","sources":["../../../src/interface/i-portal-async-action/i-portal-async-action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB
|
|
1
|
+
{"version":3,"file":"i-portal-async-action.d.ts","sourceRoot":"","sources":["../../../src/interface/i-portal-async-action/i-portal-async-action.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAE/B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/utils/net/net.ts"],"names":[],"mappings":"AAAA,OAAc,EAEZ,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;GAOG;AACH,qBAAa,GAAG;IACd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,SAA0B;IAE1C;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,gDAA6C;IAElE,SAAS,KAAK,OAAO,IAAI,MAAM,CAI9B;IAED;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,mBAAmB;IAKxC;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAEnD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAK5D;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQrC;;;;;;;;OAQG;IACH,SAAS,KAAK,YAAY,IAAI,kBAAkB,CAS/C;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,EAAE,kBAAkB,EAAE,GAAG,kBAAkB;IAY3E;;;;;;;;;;OAUG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;;;;OAUG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,EACpC,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,aAAa,CAAC;IAazB;;;;;;;;;OASG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAUzB;;;;;;;;;;OAUG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;;OAQG;IACG,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAWzB;;;;;;;;OAQG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,aAAa,CAAC;IA4BzB;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhE;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../../src/utils/net/net.ts"],"names":[],"mappings":"AAAA,OAAc,EAEZ,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,OAAO,CAAC;AACf,OAAO,EACL,oBAAoB,EAErB,MAAM,+BAA+B,CAAC;AAOvC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;GAOG;AACH,qBAAa,GAAG;IACd;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,SAA0B;IAE1C;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,gDAA6C;IAElE,SAAS,KAAK,OAAO,IAAI,MAAM,CAI9B;IAED;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,mBAAmB;IAKxC;;;;;;OAMG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAEnD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAK5D;;;;;;OAMG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQrC;;;;;;;;OAQG;IACH,SAAS,KAAK,YAAY,IAAI,kBAAkB,CAS/C;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,EAAE,kBAAkB,EAAE,GAAG,kBAAkB;IAY3E;;;;;;;;;;OAUG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;;;;OAUG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,EACpC,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,aAAa,CAAC;IAazB;;;;;;;;;OASG;IACG,MAAM,CACV,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAUzB;;;;;;;;;;OAUG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,OAAY,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;;OAQG;IACG,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC;IAWzB;;;;;;;;OAQG;IACG,OAAO,CACX,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,aAAa,CAAC;IA4BzB;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhE;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CAwBvB"}
|
package/out/utils/net/net.js
CHANGED
|
@@ -2,7 +2,7 @@ import axios from 'axios';
|
|
|
2
2
|
import { fetchEventSource, } from '@microsoft/fetch-event-source';
|
|
3
3
|
import { merge } from 'lodash-es';
|
|
4
4
|
import qs from 'qs';
|
|
5
|
-
import { notNilEmpty } from 'qx-util';
|
|
5
|
+
import { isNilOrEmpty, notNilEmpty } from 'qx-util';
|
|
6
6
|
import { mergeDeepRight } from 'ramda';
|
|
7
7
|
import { HttpError } from '../../error';
|
|
8
8
|
import { CoreInterceptor } from '../interceptor';
|
|
@@ -330,6 +330,9 @@ export class Net {
|
|
|
330
330
|
const res = response;
|
|
331
331
|
if (res.status >= 200 && res.status <= 299) {
|
|
332
332
|
res.ok = true;
|
|
333
|
+
if (isNilOrEmpty(res.data)) {
|
|
334
|
+
res.data = undefined;
|
|
335
|
+
}
|
|
333
336
|
}
|
|
334
337
|
return res;
|
|
335
338
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/core",
|
|
3
|
-
"version": "0.2.18
|
|
3
|
+
"version": "0.2.18",
|
|
4
4
|
"description": "核心包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"qx-util": "^0.4.8",
|
|
51
51
|
"ramda": "^0.29.0"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "90638f0e02996149d42c3b8e610fe0697121251e"
|
|
54
54
|
}
|
|
@@ -7,6 +7,22 @@
|
|
|
7
7
|
* @interface IPortalAsyncAction
|
|
8
8
|
*/
|
|
9
9
|
export interface IPortalAsyncAction {
|
|
10
|
+
/**
|
|
11
|
+
* 异步操作标识
|
|
12
|
+
* @author lxm
|
|
13
|
+
* @date 2023-11-14 02:26:59
|
|
14
|
+
* @type {string}
|
|
15
|
+
*/
|
|
16
|
+
asyncacitonid: string;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 异步操作名称
|
|
20
|
+
* @author lxm
|
|
21
|
+
* @date 2023-11-14 02:27:18
|
|
22
|
+
* @type {string}
|
|
23
|
+
*/
|
|
24
|
+
asyncacitonname: string;
|
|
25
|
+
|
|
10
26
|
/**
|
|
11
27
|
* 会话标识
|
|
12
28
|
*
|
|
@@ -16,8 +32,18 @@ export interface IPortalAsyncAction {
|
|
|
16
32
|
*/
|
|
17
33
|
fulltopictag: string;
|
|
18
34
|
|
|
35
|
+
srfdcid: string;
|
|
36
|
+
/**
|
|
37
|
+
* 中心系统标识
|
|
38
|
+
* @author lxm
|
|
39
|
+
* @date 2023-11-14 02:26:15
|
|
40
|
+
* @type {string}
|
|
41
|
+
*/
|
|
42
|
+
dcsystemid: string;
|
|
43
|
+
|
|
19
44
|
/**
|
|
20
45
|
* 异步作业类型
|
|
46
|
+
* - DEIMPORTDATA2: 异步导入
|
|
21
47
|
*
|
|
22
48
|
* @author chitanda
|
|
23
49
|
* @date 2023-09-05 15:09:09
|
|
@@ -52,6 +78,14 @@ export interface IPortalAsyncAction {
|
|
|
52
78
|
*/
|
|
53
79
|
stepinfo?: string;
|
|
54
80
|
|
|
81
|
+
/**
|
|
82
|
+
* 完成百分比
|
|
83
|
+
* @author lxm
|
|
84
|
+
* @date 2023-11-14 05:38:15
|
|
85
|
+
* @type {number}
|
|
86
|
+
*/
|
|
87
|
+
completionrate?: number;
|
|
88
|
+
|
|
55
89
|
/**
|
|
56
90
|
* 异步结果下载路径,目前是留给导出数据使用
|
|
57
91
|
*
|
|
@@ -96,4 +130,48 @@ export interface IPortalAsyncAction {
|
|
|
96
130
|
* @type {unknown}
|
|
97
131
|
*/
|
|
98
132
|
actionparam4?: unknown;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* 操作开始时间
|
|
136
|
+
* @author lxm
|
|
137
|
+
* @date 2023-11-14 02:24:41
|
|
138
|
+
* @type {string}
|
|
139
|
+
*/
|
|
140
|
+
begintime: string;
|
|
141
|
+
/**
|
|
142
|
+
* 操作结束时间
|
|
143
|
+
* @author lxm
|
|
144
|
+
* @date 2023-11-14 02:24:43
|
|
145
|
+
* @type {string}
|
|
146
|
+
*/
|
|
147
|
+
endtime: string;
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* 创建人标识
|
|
151
|
+
* @author lxm
|
|
152
|
+
* @date 2023-11-14 02:24:03
|
|
153
|
+
* @type {string}
|
|
154
|
+
*/
|
|
155
|
+
createman: string;
|
|
156
|
+
/**
|
|
157
|
+
* 创建时间
|
|
158
|
+
* @author lxm
|
|
159
|
+
* @date 2023-11-14 02:24:11
|
|
160
|
+
* @type {string}
|
|
161
|
+
*/
|
|
162
|
+
createdate: string;
|
|
163
|
+
/**
|
|
164
|
+
* 更新人标识
|
|
165
|
+
* @author lxm
|
|
166
|
+
* @date 2023-11-14 02:24:20
|
|
167
|
+
* @type {string}
|
|
168
|
+
*/
|
|
169
|
+
updateman: string;
|
|
170
|
+
/**
|
|
171
|
+
* 更新时间
|
|
172
|
+
* @author lxm
|
|
173
|
+
* @date 2023-11-14 02:24:24
|
|
174
|
+
* @type {string}
|
|
175
|
+
*/
|
|
176
|
+
updatedate: string;
|
|
99
177
|
}
|
package/src/utils/net/net.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from '@microsoft/fetch-event-source';
|
|
13
13
|
import { merge } from 'lodash-es';
|
|
14
14
|
import qs from 'qs';
|
|
15
|
-
import { notNilEmpty } from 'qx-util';
|
|
15
|
+
import { isNilOrEmpty, notNilEmpty } from 'qx-util';
|
|
16
16
|
import { mergeDeepRight } from 'ramda';
|
|
17
17
|
import { HttpError } from '../../error';
|
|
18
18
|
import { CoreInterceptor } from '../interceptor';
|
|
@@ -400,6 +400,9 @@ export class Net {
|
|
|
400
400
|
const res = response as IHttpResponse;
|
|
401
401
|
if (res.status >= 200 && res.status <= 299) {
|
|
402
402
|
res.ok = true;
|
|
403
|
+
if (isNilOrEmpty(res.data)) {
|
|
404
|
+
res.data = undefined as unknown as IData;
|
|
405
|
+
}
|
|
403
406
|
}
|
|
404
407
|
return res;
|
|
405
408
|
}
|