@next-core/brick-kit 2.122.14 → 2.123.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.123.2](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.123.1...@next-core/brick-kit@2.123.2) (2022-07-19)
7
+
8
+ **Note:** Version bump only for package @next-core/brick-kit
9
+
10
+
11
+
12
+
13
+
14
+ ## [2.123.1](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.123.0...@next-core/brick-kit@2.123.1) (2022-07-18)
15
+
16
+ **Note:** Version bump only for package @next-core/brick-kit
17
+
18
+
19
+
20
+
21
+
22
+ # [2.123.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.14...@next-core/brick-kit@2.123.0) (2022-07-18)
23
+
24
+
25
+ ### Features
26
+
27
+ * contract support upload type ([c4614f8](https://github.com/easyops-cn/next-core/commit/c4614f8d588bf60c243444e95780b62eb3612371))
28
+
29
+
30
+
31
+
32
+
6
33
  ## [2.122.14](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.122.13...@next-core/brick-kit@2.122.14) (2022-07-15)
7
34
 
8
35
  **Note:** Version bump only for package @next-core/brick-kit
@@ -5881,7 +5881,8 @@
5881
5881
  serviceName,
5882
5882
  responseWrapper,
5883
5883
  version,
5884
- isFileType
5884
+ isFileType,
5885
+ request
5885
5886
  } = _ref;
5886
5887
  var fileName;
5887
5888
 
@@ -5897,14 +5898,16 @@
5897
5898
  url,
5898
5899
  method,
5899
5900
  ext_fields,
5900
- responseWrapper: false
5901
+ responseWrapper: false,
5902
+ request
5901
5903
  }, ...args, {
5902
5904
  responseType: "blob"
5903
5905
  }] : [{
5904
5906
  url,
5905
5907
  method,
5906
5908
  ext_fields,
5907
- responseWrapper
5909
+ responseWrapper,
5910
+ request
5908
5911
  }, ...args];
5909
5912
  }
5910
5913
 
@@ -5945,7 +5948,8 @@
5945
5948
  serviceName: api.serviceName,
5946
5949
  version: api.version,
5947
5950
  isFileType: (contract === null || contract === void 0 ? void 0 : (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === "file",
5948
- responseWrapper
5951
+ responseWrapper,
5952
+ request: contract.request
5949
5953
  };
5950
5954
  }
5951
5955
 
@@ -5978,7 +5982,8 @@
5978
5982
  version: contract.version,
5979
5983
  contract: {
5980
5984
  endpoint: contract.endpoint,
5981
- response: contract.response
5985
+ response: contract.response,
5986
+ request: contract.request
5982
5987
  }
5983
5988
  };
5984
5989
  } else {
@@ -5999,7 +6004,8 @@
5999
6004
  version: contractData.version,
6000
6005
  contract: {
6001
6006
  endpoint: contractData.endpoint,
6002
- response: contractData.response
6007
+ response: contractData.response,
6008
+ request: contractData.request
6003
6009
  }
6004
6010
  };
6005
6011
  }
@@ -6942,6 +6948,46 @@
6942
6948
  options
6943
6949
  };
6944
6950
  }
6951
+ function hasFileType(request) {
6952
+ var flag = false;
6953
+ if (!request) return flag;
6954
+
6955
+ var processFields = fields => {
6956
+ return fields.some(field => {
6957
+ if (["file", "file[]"].includes(field.type)) {
6958
+ return true;
6959
+ }
6960
+
6961
+ if (!_.isEmpty(field.fields)) {
6962
+ return processFields(field.fields);
6963
+ }
6964
+ });
6965
+ };
6966
+
6967
+ if (request.type === "object" && !_.isEmpty(request.fields)) {
6968
+ flag = processFields(request.fields);
6969
+ }
6970
+
6971
+ return flag;
6972
+ }
6973
+ function transformFormData(data) {
6974
+ var formData = new FormData();
6975
+
6976
+ for (var [key, value] of Object.entries(data)) {
6977
+ if (Array.isArray(value)) {
6978
+ (function () {
6979
+ var k = "".concat(key, "[]");
6980
+ value.forEach(v => {
6981
+ formData.append(k, v);
6982
+ });
6983
+ })();
6984
+ } else {
6985
+ formData.append(key, value);
6986
+ }
6987
+ }
6988
+
6989
+ return formData;
6990
+ }
6945
6991
  function CustomApi(_x) {
6946
6992
  return _CustomApi.apply(this, arguments);
6947
6993
  }
@@ -6952,9 +6998,11 @@
6952
6998
  url,
6953
6999
  method = "GET",
6954
7000
  responseWrapper = true,
6955
- ext_fields = []
7001
+ ext_fields = [],
7002
+ request
6956
7003
  } = _ref;
6957
7004
  var isSimpleRequest = ["get", "delete", "head"].includes(method.toLowerCase());
7005
+ var response;
6958
7006
 
6959
7007
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
6960
7008
  args[_key2 - 1] = arguments[_key2];
@@ -6962,17 +7010,16 @@
6962
7010
 
6963
7011
  if (isSimpleRequest) {
6964
7012
  var [data, options] = args;
6965
- var response = yield brickHttp.http.simpleRequest(method, url, _objectSpread__default["default"]({
7013
+ response = yield brickHttp.http.simpleRequest(method, url, _objectSpread__default["default"]({
6966
7014
  params: data
6967
7015
  }, options));
6968
- return responseWrapper ? response.data : response;
6969
7016
  } else {
7017
+ var isUploadType = hasFileType(request);
6970
7018
  var result = processExtFields(ext_fields, ...args);
6971
-
6972
- var _response = yield brickHttp.http.requestWithBody(method, url, result.data, result.options);
6973
-
6974
- return responseWrapper ? _response.data : _response;
7019
+ response = yield brickHttp.http.requestWithBody(method, url, isUploadType ? transformFormData(result.data) : result.data, result.options);
6975
7020
  }
7021
+
7022
+ return responseWrapper ? response.data : response;
6976
7023
  });
6977
7024
  return _CustomApi.apply(this, arguments);
6978
7025
  }