alloy-request
Version:
alloy-request 基于`axios`和`ahooks的useRequest`封装的 react 请求库
76 lines (75 loc) • 2.11 kB
JavaScript
Object.defineProperties(exports, { __esModule: { value: !0 }, [Symbol.toStringTag]: { value: 'Module' } })
const T = require('axios'),
x = require('ahooks'),
S = { headers: { 'Content-Type': 'application/json' }, timeout: 3e4 },
o = T.create(S)
function m(r, n, t) {
o.interceptors.request.use(
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 u(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 i(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 a(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 f(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: i, post: u, put: a, patch: f, del: d }
function g(r, n, t) {
return x.useRequest(async e => {
var l
const P = (n ?? (() => ({})))(e),
{ method: j = 'post', payload: p, ...y } = P,
h = (l = s[j]) == null ? void 0 : l.call(s, r, p, y)
return t != null && t.formatResult ? h.then(t.formatResult) : h
}, t)
}
const v = { initInstance: m, post: u, get: i, put: a, patch: f, del: d, useAxios: g }
exports.default = v
exports.del = d
exports.get = i
exports.initInstance = m
exports.patch = f
exports.post = u
exports.put = a
exports.useAxios = g