UNPKG

@yuanjili/js-es-c

Version:

js工具包

1 lines 3.94 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.downloadFileWithFetch=exports.urlJoinParams=void 0;var downloadFileWithFetch=exports.downloadFileWithFetch=function(){var a=_asyncToGenerator(regeneratorRuntime.mark(function e(b,c,d){var f,g,h,i;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,fetch(b);case 3:if(f=a.sent,f.ok){a.next=6;break}throw new Error("HTTP error! status: "+f.status);case 6:return a.next=8,f.blob();case 8:g=a.sent,h=URL.createObjectURL(g),i=document.createElement("a"),i.href=h,i.download=c,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(h),d&&d({state:0,message:"\u4E0B\u8F7D\u6210\u529F"}),a.next=24;break;case 20:a.prev=20,a.t0=a["catch"](0),d&&d({state:1,message:"\u4E0B\u8F7D\u5931\u8D25"}),console.error("\u4E0B\u8F7D\u6587\u4EF6\u65F6\u51FA\u9519:",a.t0);case 24:case"end":return a.stop()}},e,this,[[0,20]])}));return function(){return a.apply(this,arguments)}}();exports.getQueryObject=getQueryObject,exports.urlParam=urlParam,exports.urlParam2Obj=urlParam2Obj,exports.downloadBlob=downloadBlob,exports.removeUrlParams=removeUrlParams,exports.replaceUrl=replaceUrl,exports.debounce=debounce,exports.throttle=throttle,exports.throttle2=throttle2,exports.downloadByUrl=downloadByUrl;var _arrFun=require("./arrFun");function _asyncToGenerator(a){return function(){var b=a.apply(this,arguments);return new Promise(function(a,c){function d(e,f){try{var g=b[e](f),h=g.value}catch(a){return void c(a)}return g.done?void a(h):Promise.resolve(h).then(function(a){d("next",a)},function(a){d("throw",a)})}return d("next")})}}function getQueryObject(a){a=null==a?window.location.href:a;var b=a.substring(a.lastIndexOf("?")+1),c={};return b.replace(/([^?&=]+)=([^?&=]*)/g,function(a,b,d){var e=decodeURIComponent(b),f=decodeURIComponent(d);return f+="",c[e]=f,a}),c}function urlParam(a){if(!a)return"";var b=Object.keys(a).map(function(b){return void 0===a[b]?"":encodeURIComponent(b)+"="+encodeURIComponent(a[b])});return(0,_arrFun.cleanArray)(b).join("&")}function urlParam2Obj(a){var b=decodeURIComponent(a.split("?")[1]).replace(/\+/g," ");if(!b)return{};var c={},d=b.split("&");return d.forEach(function(a){var b=a.indexOf("=");if(-1!==b){var d=a.substring(0,b),e=a.substring(b+1,a.length);c[d]=e}}),c}var urlJoinParams=exports.urlJoinParams=function(a,b){var c=a;for(var d in b)b[d]&&(c+=0>c.indexOf("?")?"?"+d+"="+b[d]:"&"+d+"="+b[d]);return c};function downloadBlob(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:function(a){return a};try{var d=window.URL.createObjectURL(a),e=document.createElement("a");e.href=d,e.download=b,document.body.appendChild(e),e.click(),e.remove(),window.URL.revokeObjectURL(d),c({state:0,message:"\u4E0B\u8F7D\u6210\u529F"})}catch(a){throw c({state:1,message:"\u4E0B\u8F7D\u5931\u8D25"}),a}}function removeUrlParams(){var a=window.location.origin+window.location.pathname;replaceUrl(a)}function replaceUrl(a){window.history.pushState({},"",a)}function debounce(a,b){var c;return function(){var d=this,e=arguments;clearTimeout(c),c=setTimeout(function(){a.apply(d,e)},b)}}function throttle(a,b){var c=0,d=null;return function(){var e=Date.now(),f=this,g=arguments;e-c>b?(a.apply(f,g),c=e):!d&&(d=setTimeout(function(){a.apply(f,g),d=null,c=Date.now()},b))}}function throttle2(a,b){var c=!1,d=null;return function(){var e=this,f=arguments;c?!d&&(d=setTimeout(function(){a.apply(e,f),d=null},b)):(a.apply(e,f),c=!0,setTimeout(function(){c=!1},b))}}function downloadByUrl(a,b){var c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:function(a){return a},d=arguments[3];try{var e=document.createElement("a");e.href=a,e.target="_blank",e.setAttribute("download",b),d&&d(e),document.body.appendChild(e),e.click(),e.remove(),c&&c({state:0,message:"\u4E0B\u8F7D\u6210\u529F"})}catch(a){throw c&&c({state:1,message:"\u4E0B\u8F7D\u5931\u8D25"}),a}}