jknife
Version:
javaScript工具库
2 lines (1 loc) • 3.68 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).myLibrary=t()}(this,(function(){"use strict";function e(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}const t={getItem:function(e){return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[-.+*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,o,s,r){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e))return!1;let a="";if(n)switch(n.constructor){case Number:a=n===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:a="; expires="+n;break;case Date:a="; expires="+n.toUTCString()}return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+a+(s?"; domain="+s:"")+(o?"; path="+o:"")+(r?"; secure":""),!0},removeItem:function(e,t,n){return!(!e||!this.hasItem(e))&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)},hasItem:function(e){return new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[-.+*]/g,"\\$&")+"\\s*\\=").test(document.cookie)},keys:function(){const e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/);for(let t=0;t<e.length;t++)e[t]=decodeURIComponent(e[t]);return e}};const n={PostMessage:class{eventBox={};messageCallbackFn=null;on(e,t){this.eventBox[e]=t}emit(t,n,o={},s="*"){if(console.log(n),null==t||t!==t.window)throw new Error("emit contentWindow should be a window");if(!e(o))throw new Error("emit data should be a json");if(!n)throw new Error("emit need eventName");t.postMessage({eventName:n,data:o},s)}addEventListener(){this.messageCallbackFn||(this.messageCallbackFn=this.messageCallback.bind(this),window.addEventListener("message",this.messageCallbackFn))}removeEventListener(){window.removeEventListener("message",this.messageCallbackFn),this.messageCallbackFn=null}messageCallback(t){if(t){const n=t.data;if(!e(n)&&!n.eventName)return;const o=this.eventBox[n.eventName];o&&o(t.data.data,t)}}},appendAttrToBody:function(e,t){const n=(document.body.getAttribute("style")??"").split(";");let o="",s=!1;for(const r of n){if(!r)continue;const[n]=r.split(":");n===e?(s=!0,o+=`${n}:${t};`):o+=`${r};`}s||(o+=`${e}:${t};`),document.body.setAttribute("style",o)},arrayToTree:function(e,t=0){const n={},o=[];let s,r;for(r=0;r<e.length;r+=1)n[e[r].id]=r,e[r].children=[];for(r=0;r<e.length;r+=1)s=e[r],s.parentId===t?o.push(s):void 0!==n[s.parentId]&&e[n[s.parentId]].children.push(s);return o},colorHexToRgb:function(e){if((e=e.toLowerCase())&&/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e)){if(4===e.length){let t="#";for(let n=1;n<4;n+=1)t+=e.slice(n,n+1).concat(e.slice(n,n+1));e=t}const t=[];for(let n=1;n<7;n+=2)t.push(parseInt("0x"+e.slice(n,n+2)));return t}return[]},digitUppercase:function(e){const t=["角","分"],n=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],o=[["元","万","亿"],["","拾","佰","仟"]];e=Math.abs(e);let s="";for(let o=0;o<t.length;o++)s+=(n[Math.floor(10*e*Math.pow(10,o))%10]+t[o]).replace(/零./,"");s=s||"整",e=Math.floor(e);for(let t=0;t<o[0].length&&e>0;t++){let r="";for(let t=0;t<o[1].length&&e>0;t++)r=n[e%10]+o[1][t]+r,e=Math.floor(e/10);s=r.replace(/(零.)*零$/,"").replace(/^$/,"零")+o[0][t]+s}return s.replace(/(零.)*零元/,"元").replace(/(零.)+/g,"零").replace(/^整$/,"零元整")},docCookies:t,randomNum:function(e,t){return Math.floor(Math.random()*(t-e+1))+e}};return window.__JsUtils__=n,n}));