mirror of
https://gitee.com/java110/PropertyApp.git
synced 2026-02-23 13:26:41 +08:00
9 lines
1.8 KiB
JavaScript
9 lines
1.8 KiB
JavaScript
function e(t,o,n){void 0===n&&(n="[]"),t=t.replace(/=/g,"");var r=[];if(null==o)return r;switch(o.constructor){case String:case Number:case Boolean:r.push(encodeURIComponent(t)+"="+encodeURIComponent(o));break;case Array:o.forEach((function(o){r=r.concat(e(""+t+n+"=",o,n))}));break;case Object:Object.keys(o).forEach((function(a){var c=o[a];r=r.concat(e(t+"["+a+"]",c,n))}))}return r}function t(e){var o=[];return e.forEach((function(e){"string"==typeof e?o.push(e):o=o.concat(t(e))})),o}
|
|
/**
|
|
* Vue Jsonp.
|
|
* # Carry Your World #
|
|
*
|
|
* @author: LancerComet
|
|
* @license: MIT
|
|
*/var o={install:function(e){e.prototype.$jsonp=n}};function n(o,n,r){var a;if(void 0===n&&(n={}),"string"!=typeof o)throw new Error('[Vue-jsonp] Type of param "url" is not string.');if("object"!=typeof n||!n)throw new Error("[Vue-jsonp] Invalid params, should be an object.");var c="number"==typeof r?r:null!==(a=null==r?void 0:r.timeout)&&void 0!==a?a:5e3,i="[]";if("object"==typeof r){var u=r.arrayIndicator;"string"==typeof u&&(i=u)}return new Promise((function(r,a){var u="string"==typeof n.callbackQuery?n.callbackQuery:"callback",s="string"==typeof n.callbackName?n.callbackName:"jsonp_"+(Math.floor(1e5*Math.random())*Date.now()).toString(16);n[u]=s,delete n.callbackQuery,delete n.callbackName;var l=[];Object.keys(n).forEach((function(t){l=l.concat(e(t,n[t],i))}));var f=t(l).join("&"),d=function(){p(),clearTimeout(b),a({status:400,statusText:"Bad Request"})},p=function(){v.removeEventListener("error",d)},m=function(){document.body.removeChild(v),delete window[s]},b=null;c>-1&&(b=setTimeout((function(){p(),m(),a({statusText:"Request Timeout",status:408})}),c)),window[s]=function(e){clearTimeout(b),p(),m(),r(e)};var v=document.createElement("script");v.addEventListener("error",d),v.src=o+(/\?/.test(o)?"&":"?")+f,document.body.appendChild(v)}))}export{o as VueJsonp,n as jsonp};
|