UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

46 lines (39 loc) 1.93 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _classCallCheck = require('@babel/runtime/helpers/classCallCheck'); var _createClass = require('@babel/runtime/helpers/createClass'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck); var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass); /** * 剥一层嵌套,把 response.data 直接当作返回值交给业务层 * * - 当业务 extra.remainData = true 时不剥(保留整个 param) * - 同时把 shouldAbort 标志设为 `r !== 0`(让后续 decorator 按错误处理) * * 注意:应当放在响应拦截器链的 **最后一个**。 * * 参考 pmd-npm/packages/business/src/network/interceptor/response/common/getDataInterceptor.ts */ var GetDataInterceptor = /*#__PURE__*/function () { function GetDataInterceptor() { _classCallCheck__default["default"](this, GetDataInterceptor); } return _createClass__default["default"](GetDataInterceptor, [{ key: "interceptor", value: function interceptor(param) { var _a, _b, _c, _d, _e; var remainData = (_b = (_a = param.request) === null || _a === void 0 ? void 0 : _a.extra) === null || _b === void 0 ? void 0 : _b.remainData; var r = +((_d = (_c = param.response) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.r); var abort = Number.isFinite(r) ? r !== 0 : false; if (!remainData) { // 把 data 提出来放在 param.data,方便后面的 engine 直接 resolve data param.data = (_e = param.response) === null || _e === void 0 ? void 0 : _e.data; } else { param.data = param; } return [abort, param]; } }]); }(); exports.GetDataInterceptor = GetDataInterceptor;