UNPKG

vue3-help

Version:

Vue3 帮助工程

1 lines 2.16 kB
const toolMethods={waitAlive:async(e,t=.5)=>new Promise(n=>{const r=Date.now(),o=setInterval(()=>{e()?(clearInterval(o),n(!0)):Date.now()-r>1e3*t&&(clearInterval(o),n(!1))},100)}),jsonDeepCopy:e=>JSON.parse(JSON.stringify(e)),generateNumberArray:(e,t)=>{const n=[];for(let r=e;r<=t;r++)n.push(r);return n},getDiffByDate:e=>e>=86400?`${parseInt(String(e/86400))}天前`:e>=3600?`${parseInt(String(e/3600))}小时前`:e>=60?`${parseInt(String(e/60))}分钟前`:"",getDistances:(e,t)=>{const n=new Map,r=[e,t].join(",");let o=n.get(r);if(o)return o;const[a,s]=e,[h,c]=t,i=a*Math.PI/180,x=h*Math.PI/180,l=i-x,p=s*Math.PI/180-c*Math.PI/180;let u=2*Math.asin(Math.sqrt(Math.pow(Math.sin(l/2),2)+Math.cos(i)*Math.cos(x)*Math.pow(Math.sin(p/2),2)));return u*=6378.137,u=Math.round(1e4*u)/1e4,o={m:1e3*u,km:Number(u.toFixed(2))},n.set(r,o),o},sleep:e=>new Promise(t=>{setTimeout(()=>{t(1)},1e3*e)}),chunkArray:(e=[],t=1)=>{const n=[];if(!e.length||!t)return[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n},quotientMoreThanAdd:(e=1,t=1)=>e%t==0?e/t:Math.floor(e/t)+1,getRandomNumber:(e,t,n=0)=>{const r=Math.pow(10,n),o=Math.random()*(t-e)+e;return Math.floor(o*r)/r},getQueryStringFromObj:e=>{let t="";for(const n in e){""!==t&&(t+="&");t+=`${n}=${e[n]}`}return t},generateUUID:()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}),qsStringify(e){const t=[];for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const r=e[n];void 0!==r?Array.isArray(r)?r.forEach(e=>{t.push(`${encodeURIComponent(n)}=${encodeURIComponent(e)}`)}):t.push(`${encodeURIComponent(n)}=${encodeURIComponent(r)}`):t.push(encodeURIComponent(n))}return t.join("&")},removeFalsyValues:e=>Object.entries(e).reduce((e,[t,n])=>(null!=n&&""!==n&&(e[t]=n),e),{}),flattenTree(e,t="children",n="id",r=!0){let o=[];return e.forEach(e=>{Array.isArray(e[t])&&e[t].length?(r&&o.push(e),o=o.concat(this.flattenTree(e[t].map(t=>({...t,[`father${n}`]:e[n]})),t))):o.push(e)}),o},replaceTextIfExceed:(e,t,n)=>(e=Math.floor(e)).toString().length>t?"function"==typeof n?n(e):n:e};export default toolMethods;