var a = new<b> myAxios</b>({<br> baseURL: "xxx"<br>});<br>a.send({<br> url: "xxx",<br> data: {},<br> <font color="#924517"> <b>beforeSend: function() {}</b></font><br>});<br>
function <b><font color="#16884a">myAxios</font></b>(axiosConfig) {<br> this.axios = <b>axiosBuild</b>(axiosConfig);<br>}<br>myAxios.prototype.send = function(config) {<br><b> beforeSend</b>.call(this, { <font color="#924517">cb: config.beforeSend</font>, url: config.url });<br> var sendPromise = <b>send</b>.call(this, config);<br> var afterData = <b>afterSend</b>.call(this, {<br> promise: sendPromise,<br> cb: config.afterCb<br> });<br> return afterData;<br>};<br>
function axiosBuild(config) {<br> const service = axios.create(config);<br> return service;<br>}<br>function<b> beforeSend</b>(config) {<br> this.axios.get("xxxurl" + config.url);<br> return <font color="#924517">config.cb.apply(this, arguments)</font>;<br>}<br>function send(config) {<br> var arg;<br> var state = {<br> get: function() {<br> var parse = qs(config.data);<br> return [config.url + parse];<br> },<br> post: function() {<br> return [config.url, config.data];<br> }<br> };<br> arg = state[config.type]();<br> return this.axios[config.type].apply(this, arg);<br>}<br>