UNPKG

api-simplex-handler

Version:

一个api封装解析器

39 lines (38 loc) 1.41 kB
import { ApiHandler } from "./ApiHandler"; class ApiHandlerAxios extends ApiHandler { axiosInstance; constructor(api, responseHandlerDefineFunction, axiosInstance) { super(api, responseHandlerDefineFunction); this.axiosInstance = axiosInstance; } send(args) { if (!this.api.path) return Promise.reject(`request path is undefined`); let path = this.api.path; const config = { method: this.api.method, }; if (Array.isArray(this.api.params)) { const params = ApiHandler.assemblyParameters(this.api.params, args, this.api); if (typeof params === 'string') path += params; else config.data = params; } else if (typeof this.api.params !== 'undefined') { const params = ApiHandler.assemblyParametersToUnion(this.api.params, args, this.api); path += params.path + params.query; config.data = params.body; } return this.axiosInstance(path, config) .then(res => { const response = { code: res.data?.code ?? res.data?.status ?? res.status, message: res.data?.message ?? res.data?.msg ?? res.statusText, data: res.data?.data }; return response; }); } } export { ApiHandlerAxios };