@base-web-kits/base-tools-web 1.3.20 → 1.4.0

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.
@@ -11,8 +11,8 @@ export type WebApiConfig<Res = any, Err = any> = {
11
11
  toastError?: ((e: Err) => boolean | string) | boolean | string;
12
12
  /** 是否显示日志, 默认 true */
13
13
  showLog?: boolean;
14
- /** 响应数据的转换, 如解密操作 (返回值在成功日志中输出'resMap'字段) */
15
- resMap?: (res: any) => Res;
14
+ /** 响应数据的转换, 如解密操作 (返回值在成功日志中输出'transformResponse'字段) */
15
+ transformResponse?: (res: any) => Res;
16
16
  /** 成功和失败时,额外输出的日志数据 (可覆盖内部log参数,如'name') */
17
17
  logExtra?: Record<string, unknown>;
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/async/index.ts"],"names":[],"mappings":"AAIA,KAAK,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,CACnD,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI;IAC/C,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B,0BAA0B;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;IAE/D,wGAAwG;IACxG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;IAE/D,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAE3B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,IAER,QAAQ,MAAM,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,kBAiEjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/async/index.ts"],"names":[],"mappings":"AAIA,KAAK,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,CACnD,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI;IAC/C,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE/B,0BAA0B;IAC1B,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;IAE/D,wGAAwG;IACxG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;IAE/D,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAEtC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,IAER,QAAQ,MAAM,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,kBAiEjE"}
@@ -2046,7 +2046,8 @@ var baseToolsWeb = (() => {
2046
2046
  toastError = true,
2047
2047
  enableChunked = false,
2048
2048
  cacheTime,
2049
- resMap,
2049
+ transformRequest,
2050
+ transformResponse,
2050
2051
  responseType = "json",
2051
2052
  timeout = 6e4,
2052
2053
  onTaskReady,
@@ -2066,18 +2067,34 @@ var baseToolsWeb = (() => {
2066
2067
  const execute = () => __async(null, null, function* () {
2067
2068
  var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2068
2069
  const isGet = method === "GET";
2069
- const isObjectData = isPlainObject(data);
2070
- const isArrayData = !isObjectData && Array.isArray(data);
2071
- const fillData = isObjectData ? filterRequestData(data) : data;
2072
- const fillHeader = filterRequestHeader(header);
2070
+ let fillData = isPlainObject(data) ? filterRequestData(data) : data;
2071
+ let fillHeader = filterRequestHeader(header);
2072
+ let fillUrl = url;
2073
+ const requestTransformer = transformRequest;
2074
+ if (requestTransformer) {
2075
+ const transformed = (yield requestTransformer({
2076
+ url: fillUrl,
2077
+ method,
2078
+ header: __spreadValues({}, fillHeader),
2079
+ data: fillData
2080
+ })) || {};
2081
+ if (transformed.url !== void 0) fillUrl = transformed.url;
2082
+ if (transformed.header !== void 0) fillHeader = filterRequestHeader(transformed.header);
2083
+ if (transformed.data !== void 0) {
2084
+ const transformedData = transformed.data;
2085
+ fillData = isPlainObject(transformedData) ? filterRequestData(transformedData) : transformedData;
2086
+ }
2087
+ }
2073
2088
  const contentTypeKey = Object.keys(fillHeader).find(
2074
2089
  (k) => k.toLowerCase() === "content-type"
2075
2090
  );
2076
2091
  const contentType = contentTypeKey ? String(fillHeader[contentTypeKey]).toLowerCase() : "";
2092
+ const isObjectData = isPlainObject(fillData);
2093
+ const isArrayData = !isObjectData && Array.isArray(fillData);
2077
2094
  if (!isGet && fillData && (isObjectData || isArrayData) && !contentType) {
2078
2095
  fillHeader["Content-Type"] = "application/json";
2079
2096
  }
2080
- const fillUrl = isGet && isObjectData ? appendUrlParam(url, fillData) : url;
2097
+ fillUrl = isGet && isPlainObject(fillData) ? appendUrlParam(fillUrl, fillData) : fillUrl;
2081
2098
  let fillBody;
2082
2099
  if (!isGet && fillData) {
2083
2100
  if (isObjectData && contentType.includes("application/x-www-form-urlencoded")) {
@@ -2148,7 +2165,7 @@ var baseToolsWeb = (() => {
2148
2165
  }
2149
2166
  const resData = yield parseResponse(response, responseType);
2150
2167
  if (showLoading) (_d = appConfig2.hideLoading) == null ? void 0 : _d.call(appConfig2);
2151
- const res = resMap ? resMap(resData) : resData;
2168
+ const res = transformResponse ? transformResponse(resData) : resData;
2152
2169
  const code = getObjectValue(res, codeKey);
2153
2170
  const scode = successKey ? getObjectValue(res, successKey) : code;
2154
2171
  const msg = getObjectValue(res, msgKey);
@@ -2336,7 +2353,7 @@ var baseToolsWeb = (() => {
2336
2353
  toastSuccess = false,
2337
2354
  toastError = true,
2338
2355
  showLog = true,
2339
- resMap,
2356
+ transformResponse,
2340
2357
  logExtra
2341
2358
  } = finalConfig;
2342
2359
  const {
@@ -2353,12 +2370,12 @@ var baseToolsWeb = (() => {
2353
2370
  return new Promise((resolve, reject) => {
2354
2371
  webApi(option, finalConfig).then((res) => {
2355
2372
  if (showLoading) hideLoadingFn == null ? void 0 : hideLoadingFn();
2356
- const finalRes = resMap ? resMap(res) : res;
2373
+ const finalRes = transformResponse ? transformResponse(res) : res;
2357
2374
  if (showLog) {
2358
2375
  const logData = __spreadValues({ name: fname, status: "success", option }, logExtra);
2359
- if (resMap) {
2376
+ if (transformResponse) {
2360
2377
  logData.res = res;
2361
- logData.resMap = cloneDeep(finalRes);
2378
+ logData.transformResponse = cloneDeep(finalRes);
2362
2379
  } else {
2363
2380
  logData.res = cloneDeep(res);
2364
2381
  }