UNPKG

alloy-request

Version:

alloy-request 基于`axios`和`ahooks的useRequest`封装的 react 请求库

120 lines (119 loc) 2.22 kB
import p from "axios"; import { useRequest as y } from "ahooks"; const T = { headers: { "Content-Type": "application/json" }, timeout: 3e4 // 基础请求全局超时时间 }, o = p.create(T); function x(r, n, t) { o.interceptors.request.use( //@ts-ignore (e) => r ? r(e) : e, (e) => Promise.reject(e) ), o.interceptors.response.use((e) => e.status === 200 ? n ? n(e) : e.data : Promise.reject(e), (e) => t ? t(e) : Promise.reject(e)); } function a(r, n, t) { try { const { headers: e = {}, ...c } = t || {}; return o({ ...c, method: "POST", url: r, data: n, headers: e }); } catch (e) { return console.log(e), Promise.reject(e); } } function f(r, n, t) { try { const { headers: e = {}, ...c } = t || {}; return o({ ...c, method: "GET", url: r, data: n, headers: e }); } catch (e) { return Promise.reject(e); } } function m(r, n, t) { try { const { headers: e = {}, ...c } = t || {}; return o({ ...c, method: "PUT", url: r, data: n, headers: e }); } catch (e) { return Promise.reject(e); } } function h(r, n, t) { try { const { headers: e = {}, ...c } = t || {}; return o({ ...c, method: "PATCH", url: r, data: n, headers: e }); } catch (e) { return Promise.reject(e); } } function d(r, n, t) { try { const { headers: e = {}, ...c } = t || {}; return o({ ...c, method: "DELETE", url: r, data: n, headers: e }); } catch (e) { return Promise.reject(e); } } const s = { get: f, post: a, put: m, patch: h, del: d }; function E(r, n, t) { return y(async (e) => { var i; const l = (n ?? (() => ({})))(e), { method: P = "post", payload: g, ...j } = l, u = (i = s[P]) == null ? void 0 : i.call(s, r, g, j); return t != null && t.formatResult ? u.then(t.formatResult) : u; }, t); } const R = { initInstance: x, post: a, get: f, put: m, patch: h, del: d, useAxios: E }; export { R as default, d as del, f as get, x as initInstance, h as patch, a as post, m as put, E as useAxios };