feat: 请求响应拦截器

This commit is contained in:
2024-12-20 10:35:40 +08:00
parent db5c4b08ff
commit 977f6328f8
19 changed files with 178 additions and 47 deletions

View File

@@ -8,13 +8,15 @@
"use strict";
/* harmony import */ var _nutui_nutui_react_taro_dist_esm_Button_style_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @nutui/nutui-react-taro/dist/esm/Button/style/css */ "./node_modules/.pnpm/@nutui+nutui-react-taro@2.7.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@nutui/nutui-react-taro/dist/esm/Button/style/css.js");
/* harmony import */ var _nutui_nutui_react_taro_dist_esm_Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @nutui/nutui-react-taro/dist/esm/Button */ "./node_modules/.pnpm/@nutui+nutui-react-taro@2.7.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@nutui/nutui-react-taro/dist/esm/button.taro-CixO32Hw.js");
/* harmony import */ var _nutui_nutui_react_taro_dist_esm_Button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @nutui/nutui-react-taro/dist/esm/Button */ "./node_modules/.pnpm/@nutui+nutui-react-taro@2.7.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@nutui/nutui-react-taro/dist/esm/button.taro-CixO32Hw.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "webpack/container/remote/react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/.pnpm/@tarojs+plugin-platform-weapp@4.0.8_@tarojs+service@4.0.8_@tarojs+shared@4.0.8/node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
/* harmony import */ var _tarojs_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tarojs/components */ "./node_modules/.pnpm/@tarojs+plugin-platform-weapp@4.0.8_@tarojs+service@4.0.8_@tarojs+shared@4.0.8/node_modules/@tarojs/plugin-platform-weapp/dist/components-react.js");
/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../api */ "./src/api/index.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var _utils_TaroUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/TaroUtils */ "./src/utils/TaroUtils.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "webpack/container/remote/react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
@@ -26,15 +28,22 @@ class Home extends react__WEBPACK_IMPORTED_MODULE_1__.Component {
async sendMsg() {
await _api__WEBPACK_IMPORTED_MODULE_2__["default"].system.getBaidu();
}
async showToast() {
_utils_TaroUtils__WEBPACK_IMPORTED_MODULE_3__["default"].showToast("你好");
}
render() {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_4__.View, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_4__.View, {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_tarojs_components__WEBPACK_IMPORTED_MODULE_5__.View, {
class: "text-_red_",
children: "123456"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_nutui_nutui_react_taro_dist_esm_Button__WEBPACK_IMPORTED_MODULE_5__.B, {
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_nutui_nutui_react_taro_dist_esm_Button__WEBPACK_IMPORTED_MODULE_6__.B, {
type: "info",
onClick: this.sendMsg,
children: "\u53D1\u9001"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_nutui_nutui_react_taro_dist_esm_Button__WEBPACK_IMPORTED_MODULE_6__.B, {
type: "info",
onClick: this.showToast,
children: "\u5F39\u7A97"
})]
});
}
@@ -568,7 +577,7 @@ const Api = {
const system = {
getBaidu: async () => {
return (0,_utils_request__WEBPACK_IMPORTED_MODULE_0__["default"])({
url: 'https://www.baidu.com/s?wq=你好',
url: '/s?wq=你好',
method: 'GET'
});
}
@@ -604,31 +613,109 @@ var inst = Page(taroOption)
/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_pnpm_tarojs_taro_loader_4_0_8_webpack_5_91_0_swc_core_1_3_96_node_modules_tarojs_taro_loader_lib_entry_cache_js_name_pages_home_index_index_jsx__WEBPACK_IMPORTED_MODULE_1__["default"]);
/***/ }),
/***/ "./src/utils/TaroUtils.js":
/*!********************************!*\
!*** ./src/utils/TaroUtils.js ***!
\********************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/utils/utils.js");
const TaroUtils = {
showToast(options) {
if (!(0,_utils__WEBPACK_IMPORTED_MODULE_1__.isObject)(options)) {
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast({
title: options,
duration: 2000
}).then(() => {});
return;
}
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().showToast(options).then(() => {});
}
};
/* harmony default export */ __webpack_exports__["default"] = (TaroUtils);
/***/ }),
/***/ "./src/utils/request.js":
/*!******************************!*\
!*** ./src/utils/request.js ***!
\******************************/
/***/ (function(__unused_webpack_module, __webpack_exports__) {
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tarojs/taro */ "webpack/container/remote/@tarojs/taro");
/* harmony import */ var _tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tarojs_taro__WEBPACK_IMPORTED_MODULE_0__);
const request = options => {
const {
method,
url
url,
data
} = options;
return new Promise((resolve, reject) => {
wx.request({
url: url,
method: method || 'GET'
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().request({
url: "https://www.baidu.com" + url,
method: method || 'GET',
success: res => {
resolve(res);
},
fail: err => {
reject(err);
}
});
});
};
const interceptor = function (chain) {
const requestParams = chain.requestParams;
const {
method,
data,
url
} = requestParams;
console.table(Object.entries({
['接口名称']: url,
['请求方式']: method,
['携带参数']: data
}).map(_ref => {
let [key, value] = _ref;
return {
Property: key,
Value: value
};
}));
return chain.proceed(requestParams).then(res => {
console.log(`接口返回:`, res);
return res.data;
});
};
_tarojs_taro__WEBPACK_IMPORTED_MODULE_0___default().addInterceptor(interceptor);
/* harmony default export */ __webpack_exports__["default"] = (request);
/***/ }),
/***/ "./src/utils/utils.js":
/*!****************************!*\
!*** ./src/utils/utils.js ***!
\****************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ isObject: function() { return /* binding */ isObject; }
/* harmony export */ });
const isObject = obj => {
return obj !== null && typeof obj === 'object';
};
/***/ }),
/***/ "./node_modules/.pnpm/@nutui+icons-react-taro@1.0.5/node_modules/@nutui/icons-react-taro/dist/style_icon.css":
/*!*******************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@nutui+icons-react-taro@1.0.5/node_modules/@nutui/icons-react-taro/dist/style_icon.css ***!