@qy_better_lib/core 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.min.js CHANGED
@@ -1 +1 @@
1
- (function(i,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("dayjs")):typeof define=="function"&&define.amd?define(["exports","dayjs"],m):(i=typeof globalThis<"u"?globalThis:i||self,m(i.QyBetterLibCore={},i.dayjs))})(this,(function(i,m){"use strict";function st(){return Math.floor(Math.random()*1e4)}function at(t){return t<0?0:Math.floor(Math.random()*Math.floor(t))}function ft(t,e){return t>e&&([t,e]=[e,t]),Math.floor(Math.random()*(e-t+1))+t}function lt(t,e,n=2){t>e&&([t,e]=[e,t]);const r=Math.random()*(e-t)+t;return parseFloat(r.toFixed(n))}function _t(){const t=P;return`${t()}${t()}-${t()}-${t()}-${t()}-${t()}${t()}${t()}`}function P(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}function N(t,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let n="";const r=e.length;for(let o=0;o<t;o++)n+=e.charAt(Math.floor(Math.random()*r));return n}function dt(){return Math.random()>.5}function v(t){if(!(!t||t.length===0))return t[Math.floor(Math.random()*t.length)]}function ht(t,e){return!t||t.length===0||e<=0?[]:e>=t.length?[...t]:[...t].sort(()=>.5-Math.random()).slice(0,e)}function mt(){const t="0123456789ABCDEF";let e="#";for(let n=0;n<6;n++)e+=t[Math.floor(Math.random()*16)];return e}function j(t){return N(t,"0123456789")}function gt(t=8){return N(t,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+~`|}{[]:;?><,./-=")}function yt(){const e=v(["130","131","132","133","134","135","136","137","138","139","150","151","152","153","155","156","157","158","159","170","171","172","173","175","176","177","178","180","181","182","183","184","185","186","187","188","189"]),n=j(8);return`${e}${n}`}function bt(){const t=["gmail.com","yahoo.com","hotmail.com","outlook.com","163.com","126.com","qq.com","sina.com"],e=N(8),n=v(t);return`${e}@${n}`}function wt(){const t=["http","https"],e=["example.com","test.com","demo.com","sample.com"],n=["api","docs","about","contact","products"],r=v(t),o=v(e),c=v(n),u=N(4);return`${r}://www.${o}/${c}?id=${u}`}function pt(t){if(!t)return[];const e=[...t];for(let n=e.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1));[e[n],e[r]]=[e[r],e[n]]}return e}function vt(t){return t===void 0}function Mt(t){return t===null}function l(t){return Array.isArray(t)}function h(t){return typeof t=="object"&&t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function Nt(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function W(t){return Object.prototype.toString.call(t)==="[object Date]"}function $t(t){return W(t)&&!isNaN(t.getTime())}function Et(t){return typeof t=="boolean"}function w(t){return typeof t=="function"}function kt(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function Ot(t){return typeof t=="symbol"}function St(t){return typeof t=="object"&&t!==null&&typeof t.then=="function"&&typeof t.catch=="function"}function zt(t){return!t&&t!==0||l(t)&&t.length===0||h(t)&&!Object.keys(t).length}function At(t){return!!t}function It(t){return!t}function D(t){return typeof Element>"u"?!1:t instanceof Element}function Dt(t){return typeof HTMLElement>"u"?!1:t instanceof HTMLElement}const U=typeof window<"u";function g(t){return typeof t=="number"&&!isNaN(t)}function L(t){return typeof t=="string"}function Lt(t){return L(t)?!Number.isNaN(Number(t)):!1}function Ft(t){return/^1[3-9]\d{9}$/.test(t)}function Tt(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function Ct(t){try{return new URL(t),!0}catch{return!1}}function Rt(t){return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t)}function Ht(t){return/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t)}function Pt(t){return/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}|0)$/.test(t)}function jt(t,e="key",n="children"){const r={};if(!l(t))return r;const o=[{nodes:t}];for(;o.length>0;){const{nodes:c,parent_key:u}=o.pop();for(const s of c){const a=s[e];if(a&&!r[a]){r[a]=s,u&&r[u]&&(r[a].parent=r[u]);const f=s[n];f&&l(f)&&f.length>0&&o.push({nodes:f,parent_key:a})}}}return r}function Wt(t,e="key",n="parentId",r="children"){if(!l(t))return[];const o={},c=[];for(const u of t)o[u[e]]={...u},o[u[e]][r]||(o[u[e]][r]=[]);for(const u of t){const s=u[n];!s||!o[s]?c.push(o[u[e]]):o[s][r].push(o[u[e]])}return c}function Ut(t,e,n="children"){if(!e||!w(e))return!1;let r=!1;const o=l(t)?t:[t],c=[];for(const u of o)c.push({node:u,depth:0});for(;c.length>0;){const{node:u,depth:s}=c.pop();if(e(u,s)===!1){r=!0;break}const f=u[n];if(f&&l(f)&&f.length>0)for(let _=f.length-1;_>=0;_--)c.push({node:f[_],depth:s+1})}return r}function Bt(t,e,n="children"){if(!e||!w(e))return!1;const r=[];if(l(t))for(const o of t)r.push({node:o,depth:0});else r.push({node:t,depth:0});for(;r.length>0;){const{node:o,depth:c}=r.shift();if(e(o,c)===!1)return!0;const s=o[n];if(s&&l(s))for(const a of s)r.push({node:a,depth:c+1})}return!1}function B(t,e,n="children"){if(!e||!w(e))return null;let r=null;const o=c=>{if(e(c))return r=c,!0;const u=c[n];if(u&&l(u)){for(const s of u)if(o(s))return!0}return!1};if(l(t)){for(const c of t)if(o(c))break}else o(t);return r}function F(t,e,n="key",r="children"){return B(t,o=>o[n]===e,r)}function qt(t,e,n="children"){if(!e||!w(e))return[];const r=o=>{const c=o[n],u=[];if(c&&l(c))for(const s of c){const a=r(s);a&&u.push(a)}return e(o)||u.length>0?{...o,[n]:u}:null};if(l(t)){const o=[];for(const c of t){const u=r(c);u&&o.push(u)}return o}else{const o=r(t);return o?[o]:[]}}function Yt(t,e,n="children"){if(!e||!w(e))return[];const r=o=>{const c=e(o),u=o[n];return u&&l(u)&&(c[n]=u.map(s=>r(s))),c};return l(t)?t.map(o=>r(o)):[r(t)]}function Jt(t,e="key",n="path",r="children"){const o=(c,u="")=>{const s=c[e],a=u?`${u}.${s}`:String(s),f={...c,[n]:a},_=c[r];return _&&l(_)&&(f[r]=_.map(d=>o(d,a))),f};return l(t)?t.map(c=>o(c)):[o(t)]}function Vt(t,e="children"){const n=[],r=o=>{const c=o[e];if(c&&l(c))for(const u of c)n.push(u),r(u)};return r(t),n}function Kt(t,e="parent"){const n=[];let r=t[e];for(;r;)n.unshift(r),r=r[e];return n}function Qt(t,e="children"){const n=r=>{const o=r[e];if(!o||!l(o)||o.length===0)return 1;const c=o.map(u=>n(u));return Math.max(...c)+1};if(l(t)){if(t.length===0)return 0;const r=t.map(o=>n(o));return Math.max(...r)}else return n(t)}function Gt(t,e="children"){const n=[],r=o=>{n.push(o);const c=o[e];if(c&&l(c))for(const u of c)r(u)};if(l(t))for(const o of t)r(o);else r(t);return n}function Xt(t,e,n,r="key",o="children"){const c=l(t)?t:[t],u=F(c,e,r,o);return u?(u[o]||(u[o]=[]),u[o].push(n)):c.push(n),c}function Zt(t,e,n="key",r="children"){const o=l(t)?t:[t];let c=null,u=null;const s=(a,f=null)=>{for(let _=0;_<a.length;_++){const d=a[_];if(d[n]===e)return c=d,u=f?f[r]:a,!0;const M=d[r];if(M&&l(M)&&s(M,d))return!0}return!1};if(s(o),c&&u){const a=u.findIndex(f=>f[n]===e);a>-1&&u.splice(a,1)}return o}function xt(t,e,n,r="key",o="children"){const c=l(t)?t:[t],u=F(c,e,r,o);return u&&Object.assign(u,n),c}function te(t,e,n=!0,r="children"){const o=l(t)?t:[t],c=typeof e=="string"?(s,a)=>{const f=s[e],_=a[e];return f<_?-1:f>_?1:0}:e,u=s=>{if(s.sort(c),n)for(const a of s){const f=a[r];f&&l(f)&&f.length>0&&u(f)}};return u(o),o}function ee(t,e="children"){const n=r=>{const o={...r},c=r[e];return c&&l(c)&&(o[e]=c.map(u=>n(u))),o};return l(t)?t.map(r=>n(r)):[n(t)]}function ne(t,e="key",n="children"){const r=[],o=new Set,c=new Set,u=(s,a="")=>{if(!h(s)){r.push(`Invalid node at ${a}: node must be an object`);return}if(o.has(s)){r.push(`Circular reference detected at ${a}`);return}o.add(s),e in s&&s[e]!==void 0&&(c.has(s[e])?r.push(`Duplicate key "${s[e]}" found at ${a}`):c.add(s[e]));const f=s[n];f!==void 0&&(l(f)?f.forEach((_,d)=>{u(_,`${a}[${d}]`)}):r.push(`Invalid children at ${a}: children must be an array`)),o.delete(s)};return l(t)?t.forEach((s,a)=>{u(s,`[${a}]`)}):u(t,"root"),{valid:r.length===0,errors:r}}function re(t,e,n="children"){const r=[],o=w(e)?e:u=>{if(!e||typeof e!="object")return!1;for(const[s,a]of Object.entries(e))if(u[s]!==a)return!1;return!0},c=u=>{typeof o=="function"&&o(u)&&r.push(u);const s=u[n];if(s&&l(s))for(const a of s)c(a)};if(l(t))for(const u of t)c(u);else c(t);return r}function q(t){if(!t&&t!==0)return"0";const e=k(t);return isNaN(e)?`${t}`:`${e}`.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,")}function k(t){if(g(t))return t;if(L(t)){const e=parseFloat(t);return isNaN(e)?Number.NaN:e}return Number.NaN}function Y(t,e){const n=k(t);return isNaN(n)?Number.NaN:Number(n.toFixed(e))}function oe(t,e="¥",n=2){if(!g(t))return e+"0.00";let r;n===0?r=Math.floor(t).toString():r=t.toFixed(n);const o=q(r);return e+o}function ie(t,e,n){return g(t)?Math.max(e,Math.min(n,t)):Number.NaN}function ce(t,e=2){const n=k(t);return isNaN(n)?"0%":(n*100).toFixed(e)+"%"}function ue(t){return g(t)?t%2===0:!1}function se(t){return g(t)?Math.trunc(t):Number.NaN}function ae(t){return g(t)?t-Math.trunc(t):Number.NaN}function fe(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.round(t*n)/n}function le(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.ceil(t*n)/n}function _e(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.floor(t*n)/n}function de(t,e,n=2){if(!g(t)||!g(e)||e===0)return Number.NaN;const r=t/e*100;return Y(r,n)}function y(t="local"){return t==="local"?localStorage:sessionStorage}function O(t,e=null){try{return JSON.parse(t)}catch(n){return console.error("JSON解析错误:",n),e}}function he(){const t=localStorage.getItem("token");if(!t)return null;const e=O(t);return e!==null?e.expiry!=null&&e.expiry<Date.now()?(localStorage.removeItem("token"),null):e.value:null}function me(t,e=10080*60){const n=Date.now()+e*1e3,r={value:t,expiry:n};localStorage.setItem("token",JSON.stringify(r))}function ge(){localStorage.removeItem("token")}function J(t,e,n="local"){const r=y(n);e!==void 0&&r.setItem(t,JSON.stringify(e))}function V(t,e="local"){const r=y(e).getItem(t);return r?O(r):null}function K(t,e="local"){y(e).removeItem(t)}function ye(t="local"){y(t).clear()}function be(t,e,n,r="local"){const o=y(r),c={value:e,expiry:Date.now()+n*1e3};o.setItem(t,JSON.stringify(c))}function we(t,e="local"){const n=y(e),r=n.getItem(t);if(!r)return null;const o=O(r);return o.expiry&&o.expiry<Date.now()?(n.removeItem(t),null):o.value}function pe(t,e="local"){return y(e).getItem(t)!==null}function Q(t="local"){const e=y(t),n=[];for(let r=0;r<e.length;r++){const o=e.key(r);o&&n.push(o)}return n}function ve(t="local"){const e=y(t),n=Q(t);let r=0;return n.forEach(o=>{const c=e.getItem(o);if(c){const u=O(c);u.expiry&&u.expiry<Date.now()&&(e.removeItem(o),r++)}}),r}function Me(t){try{return btoa(unescape(encodeURIComponent(t)))}catch(e){return console.error("加密错误:",e),t}}function Ne(t){try{return decodeURIComponent(escape(atob(t)))}catch(e){return console.error("解密错误:",e),t}}function $e(t,e,n="local"){const r=y(n),o=JSON.stringify(e),c=Me(o);r.setItem(t,c)}function Ee(t,e="local"){const r=y(e).getItem(t);if(!r)return null;try{const o=Ne(r);return JSON.parse(o)}catch(o){return console.error("解密解析错误:",o),null}}function ke(t,e="local"){t.forEach(n=>{J(n.key,n.value,e)})}function Oe(t,e="local"){const n={};return t.forEach(r=>{n[r]=V(r,e)}),n}function Se(t,e="local"){t.forEach(n=>{K(n,e)})}function S(t){const e=Object.prototype.toString;if(!t||typeof t!="object")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(e.call(t)==="[object Date]")return new Date(t.getTime());if(e.call(t)==="[object RegExp]"){const r=[];return t.global&&r.push("g"),t.multiline&&r.push("m"),t.ignoreCase&&r.push("i"),new RegExp(t.source,r.join(""))}if(e.call(t)==="[object FormData]"){const r=new FormData;for(const[o,c]of t.entries())r.append(o,c);return r}if(e.call(t)==="[object Map]"){const r=new Map;for(const[o,c]of t.entries())r.set(o,S(c));return r}if(e.call(t)==="[object Set]"){const r=new Set;for(const o of t.values())r.add(S(o));return r}const n=Array.isArray(t)?[]:t.constructor?new t.constructor:{};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=S(t[r]));return n}function G(...t){let e=t.length,n=t[0];h(n)||(n={});for(let r=1;r<e;r++){let o=t[r];if(h(o))for(let c in o)c==="__proto__"||n===o[c]||(h(o[c])?(h(n[c])||(n[c]=Array.isArray(o[c])?[]:{}),n[c]=G(n[c],o[c])):n[c]=o[c])}return n}function z(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;let n,r,o;if(Array.isArray(t)){if(n=t.length,n!=e.length)return!1;for(r=n;r--!==0;)if(!z(t[r],e[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(e).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(e,o[r]))return!1;for(r=n;r--!==0;){const c=o[r];if(!z(t[c],e[c]))return!1}return!0}return t!==t&&e!==e}function ze(t){return h(t)&&Object.keys(t).length===0}function Ae(t,e){if(!h(t))return{};const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function Ie(t,e){if(!h(t))return{};const n={};return Object.keys(t).forEach(r=>{e.includes(r)||(n[r]=t[r])}),n}function X(t,e=""){if(!h(t))return{};const n={};return Object.keys(t).forEach(r=>{const o=e?`${e}.${r}`:r;h(t[r])&&!Array.isArray(t[r])?Object.assign(n,X(t[r],o)):n[o]=t[r]}),n}function De(t){if(!h(t))return{};const e={};return Object.keys(t).forEach(n=>{const r=n.split(".");let o=e;r.forEach((c,u)=>{u===r.length-1?o[c]=t[n]:(o[c]||(o[c]={}),o=o[c])})}),e}function Le(t,e,n=void 0){if(!h(t))return n;const r=e.split(".");let o=t;for(const c of r){if(o==null)return n;o=o[c]}return o!==void 0?o:n}function Fe(t,e,n){h(t)||(t={});const r=e.split(".");let o=t;return r.forEach((c,u)=>{u===r.length-1?o[c]=n:(h(o[c])||(o[c]={}),o=o[c])}),t}function Te(...t){return Object.assign({},...t)}function Ce(t,e){const n={};return!h(t)&&!h(e)?n:h(t)?h(e)?(new Set([...Object.keys(t),...Object.keys(e)]).forEach(o=>{z(t[o],e[o])||(n[o]={oldValue:t[o],newValue:e[o]})}),n):t:e}function Z(t,e){return!t||t.tagName==="BODY"?null:t.classList.contains(e)?t:Z(t.parentElement,e)}function Re(t,e=!0){const n=document.getElementById(t);n&&n.scrollTo({top:n.scrollHeight,behavior:e?"smooth":void 0})}function He(t,e=document){return e.querySelector(t)}function Pe(t,e=document){return Array.from(e.querySelectorAll(t))}function je(t,e){t&&!t.classList.contains(e)&&t.classList.add(e)}function We(t,e){t&&t.classList.contains(e)&&t.classList.remove(e)}function Ue(t,e){return t?t.classList.toggle(e):!1}function Be(t,e){return t?t.classList.contains(e):!1}function qe(t,e){return t?window.getComputedStyle(t).getPropertyValue(e):""}function Ye(t,e,n){t&&"style"in t&&(t.style[e]=n)}function x(t,e){t&&"style"in t&&Object.entries(e).forEach(([n,r])=>{t.style[n]=r})}function Je(t,e){return t&&t.getAttribute(e)||""}function tt(t,e,n){t&&t.setAttribute(e,n)}function Ve(t,e){t&&t.removeAttribute(e)}function Ke(t,e,n,r){t&&t.addEventListener(e,n,r)}function Qe(t,e,n,r){t&&t.removeEventListener(e,n,r)}function Ge(t,e){const n=document.createElement(t);return e&&(e.class_name&&(n.className=e.class_name),e.style&&x(n,e.style),e.attributes&&Object.entries(e.attributes).forEach(([r,o])=>{tt(n,r,o)}),e.text&&(n.textContent=e.text)),n}function $(t){return t?t.getBoundingClientRect():null}function et(t){if(!t)return null;const e=$(t);return e?{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}:null}function Xe(t){if(!t)return null;const e=$(t);return e?{width:e.width,height:e.height}:null}function Ze(t,e){if(!t)return;const{behavior:n="smooth",offsetTop:r=0,offsetLeft:o=0}=e||{},c=et(t);c&&window.scrollTo({top:c.top-r,left:c.left-o,behavior:n})}function xe(t){if(!t)return!1;const e=$(t);return e?e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth):!1}function tn(t){if(!t)return!1;const e=$(t);return e?e.top>0&&e.left>0&&e.bottom<(window.innerHeight||document.documentElement.clientHeight)&&e.right<(window.innerWidth||document.documentElement.clientWidth):!1}function en(){return{width:window.innerWidth||document.documentElement.clientWidth,height:window.innerHeight||document.documentElement.clientHeight}}function nn(){return{width:Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.documentElement.clientWidth),height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.documentElement.clientHeight)}}function T({path:t,name:e}){const n=document.createElement("a");n.href=t,n.target="_blank",e&&n.setAttribute("download",e),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function rn(t){t.forEach(e=>{T({path:e.url,name:e.name})})}async function on(t){if(!t)return;const e=new FileReader;return e.readAsDataURL(t),new Promise((n,r)=>{e.onload=o=>n(o.target?.result),e.onerror=o=>r(void 0)})}async function cn(t,e="UTF-8"){if(!t)return;const n=new FileReader;return n.readAsText(t,e),new Promise((r,o)=>{n.onload=c=>r(c.target?.result),n.onerror=()=>o(void 0)})}function A(t){if(!t)return"";const e=t.lastIndexOf(".");return e===-1?"":t.substring(e+1).toLowerCase()}function C(t){if(!t)return"";const e=t.lastIndexOf(".");return e===-1?t:t.substring(0,e)}function un(t,e){return t.size<=e}function sn(t,e){const n=A(t.name);return e.includes(n)}function an(t,e,n){return new File([t],e,{type:n})}function fn(t,e,n="text/plain"){const r=new Blob([t],{type:n}),o=URL.createObjectURL(r);T({path:o,name:e}),URL.revokeObjectURL(o)}async function ln(t,e=800,n=800,r=.8){if(t.type.startsWith("image/"))return new Promise(o=>{const c=document.createElement("canvas"),u=c.getContext("2d"),s=new Image;s.onload=()=>{let{width:a,height:f}=s;if(a>e||f>n){const _=Math.min(e/a,n/f);a*=_,f*=_}c.width=a,c.height=f,u?.drawImage(s,0,0,a,f),c.toBlob(_=>{if(_){const d=new File([_],t.name,{type:t.type});o(d)}else o(void 0)},t.type,r)},s.src=URL.createObjectURL(t)})}function _n(t){const e=A(t.name),n=C(t.name);let r="";return t.size<1024?r=`${t.size} B`:t.size<1024*1024?r=`${(t.size/1024).toFixed(2)} KB`:t.size<1024*1024*1024?r=`${(t.size/(1024*1024)).toFixed(2)} MB`:r=`${(t.size/(1024*1024*1024)).toFixed(2)} GB`,{name:t.name,size:t.size,size_text:r,type:t.type,extension:e,name_without_extension:n}}function dn(t){const e=A(t),n=C(t),r=Date.now(),o=Math.random().toString(36).substring(2,8);return e?`${n}_${r}_${o}.${e}`:`${n}_${r}_${o}`}function nt(t){return/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.test(t)}function hn(t,e,n){if(!nt(t)||!nt(e))return t;n=Math.max(Math.min(Number(n),1),0);const r=p(t),o=p(e);if(!r||!o)return t;const c=Math.round(r.r*(1-n)+o.r*n),u=Math.round(r.g*(1-n)+o.g*n),s=Math.round(r.b*(1-n)+o.b*n);return E(c,u,s)}function mn(t){const e=p(t);return e?`${e.r},${e.g},${e.b}`:"0,0,0"}function p(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function E(t,e,n){return t=Math.max(0,Math.min(255,Math.round(t))),e=Math.max(0,Math.min(255,Math.round(e))),n=Math.max(0,Math.min(255,Math.round(n))),`#${((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)}`}function gn(t,e,n,r){return E(t,e,n)}function yn(t,e){const n=p(t);if(!n)return t;e=Math.max(0,Math.min(1,e));const r=Math.min(255,Math.round(n.r+(255-n.r)*e)),o=Math.min(255,Math.round(n.g+(255-n.g)*e)),c=Math.min(255,Math.round(n.b+(255-n.b)*e));return E(r,o,c)}function bn(t,e){const n=p(t);if(!n)return t;e=Math.max(0,Math.min(1,e));const r=Math.max(0,Math.round(n.r*(1-e))),o=Math.max(0,Math.round(n.g*(1-e))),c=Math.max(0,Math.round(n.b*(1-e)));return E(r,o,c)}function R(t){const e=p(t);return e?(e.r*299+e.g*587+e.b*114)/1e3>128:!1}function wn(t){return!R(t)}function pn(t){return R(t)?"#000000":"#FFFFFF"}function vn(t,e="YYYY-MM-DD HH:mm:ss"){return m(t).format(e)}function Mn(t,e=-1,n="YYYY-MM-DD HH:mm:ss",r=!1){const o=m(),c=o.format(n);let u=o;switch(t){case"d":u=r?o.add(e,"day"):o.startOf("day");break;case"w":u=r?o.add(e,"week"):o.startOf("week");break;case"M":u=r?o.add(e,"month"):o.startOf("month");break;case"Q":u=r?o.add(e*3,"month"):o.startOf("month").subtract(o.month()%3,"month");break;case"y":u=r?o.add(e,"year"):o.startOf("year");break;case"h":u=o.add(e,"hour");break;case"m":u=o.add(e,"minute");break;case"s":u=o.add(e,"second");break}return[u.format(n),c]}function Nn(t,e,n="day"){return m(t).diff(m(e),n)}function $n(t,e,n,r){const o=m(t).add(e,n);return r?o.format(r):o.toDate()}function En(t,e,n,r){const o=m(t).subtract(e,n);return r?o.format(r):o.toDate()}function kn(t){const e=m(t).day();return e>0&&e<6}function On(t){const e=m(t).day();return e===0||e===6}function Sn(t){const e=m(),n=m(t),r=e.diff(n,"minute");if(r<1)return"刚刚";if(r<60)return`${r}分钟前`;const o=e.diff(n,"hour");if(o<24)return`${o}小时前`;const c=e.diff(n,"day");if(c<30)return`${c}天前`;const u=e.diff(n,"month");return u<12?`${u}个月前`:`${e.diff(n,"year")}年前`}function zn(t,e="zh"){const n=Math.floor(t/1e3),r=Math.floor(n/86400),o=Math.floor(n%86400/3600),c=Math.floor(n%3600/60),u=n%60,s=e==="zh"?{day:"天",hour:"时",minute:"分",second:"秒"}:{day:"D",hour:"H",minute:"M",second:"S"};let a="";return r>0&&(a+=`${r}${s.day}`),(o>0||r>0&&(c>0||u>0))&&(a+=`${o}${s.hour}`),(c>0||o>0&&u>0)&&(a+=`${c}${s.minute}`),(u>0||a==="")&&(a+=`${u}${s.second}`),a}function An(t,e=200,n=!1){let r;return function(...o){const c=this;if(r&&clearTimeout(r),n){const u=!r;if(r=setTimeout(()=>{r=void 0},e),u)return t.apply(c,o)}else r=setTimeout(()=>{t.apply(c,o)},e)}}function In(t,e=200,n={}){const{leading:r=!0,trailing:o=!0}=n;let c=0,u,s,a;return function(...f){const _=this,d=Date.now();if(c===0){r&&t.apply(_,f),c=d;return}s=f,a=_;const M=d-c;if(M>=e){u&&(clearTimeout(u),u=void 0),t.apply(_,f),c=d;return}!u&&o&&(u=setTimeout(()=>{s&&(t.apply(a,s),c=Date.now()),u=void 0,s=void 0,a=void 0},e-M))}}function Dn(t){const e=t.length;function n(...r){return r.length>=e?t.apply(this,r):function(...o){return n.apply(this,[...r,...o])}}return n}function Ln(...t){return function(e){return t.reduceRight((n,r)=>r(n),e)}}function Fn(...t){return function(e){return t.reduce((n,r)=>r(n),e)}}function Tn(t,e=1e3){return new Promise(n=>{setTimeout(()=>{n(t())},e)})}async function rt(t,e=3,n=1e3){try{return await t()}catch(r){if(e<=0)throw r;return await new Promise(o=>setTimeout(o,n)),rt(t,e-1,n)}}function Cn(t){let e=!1,n;return function(...r){return e||(e=!0,n=t.apply(this,r)),n}}function Rn(t){const e=new Map;return function(...n){const r=JSON.stringify(n);if(e.has(r))return e.get(r);const o=t.apply(this,n);return e.set(r,o),o}}async function Hn(t,e=!0){if(e)return Promise.all(t.map(n=>n()));{const n=[];for(const r of t)n.push(await r());return n}}function Pn(t,e=5e3,n="Operation timed out"){return Promise.race([Promise.resolve(t()),new Promise((r,o)=>{setTimeout(()=>{o(new Error(n))},e)})])}function jn(t,e=1920){let n=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;if(!n)return t;let r=n/e;return Number((t*r).toFixed(3))}function Wn(t,e,n){return{type:"linear",x:0,y:0,x2:t==="v"?0:1,y2:t==="v"?1:0,colorStops:[{offset:0,color:e},{offset:1,color:n}]}}function Un(t,e,n="canvas",r){return(async()=>{try{let c;if(typeof window<"u"&&window.echarts)c=window.echarts;else{const a=await import("echarts");c=a.default||a}const u=typeof t=="string"?document.getElementById(t):t;if(!u)return console.error("ECharts DOM容器未找到"),null;const s=c.init(u,r,{renderer:n});return e&&s.setOption(e),s}catch(c){return console.error("加载 ECharts 失败:",c),null}})()}function ot(t){t&&typeof t.dispose=="function"&&t.dispose()}function Bn(t,e){t&&typeof t.setOption=="function"&&t.setOption(e)}function H(t){t&&typeof t.resize=="function"&&t.resize()}function qn(t,e=200){if(!t)return;let n;const r=()=>{clearTimeout(n),n=setTimeout(()=>{H(t)},e)};return window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r),clearTimeout(n)}}function Yn(t,e){const r=e||["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc","#67c23a"],o=[];for(let c=0;c<t;c++)o.push(r[c%r.length]);return o}function Jn(t,e){return typeof e=="function"?e(t):typeof e=="string"?e.replace("{value}",String(t)):String(t)}function Vn(t,e){return{...t,...e,series:e.series||t.series,xAxis:e.xAxis||t.xAxis,yAxis:e.yAxis||t.yAxis,legend:e.legend||t.legend,tooltip:e.tooltip||t.tooltip,title:e.title||t.title}}function Kn(t,e,n){t&&typeof t.on=="function"&&t.on(e,n)}function Qn(t,e,n){t&&typeof t.off=="function"&&t.off(e,n)}function Gn(t,e={}){if(!t||typeof t.getDataURL!="function")return null;const{type:n="png",pixel_ratio:r=2,background_color:o="#fff",exclude_components:c=[],file_name:u="echarts-image"}=e,s=t.getDataURL({type:n,pixelRatio:r,backgroundColor:o,excludeComponents:c}),a=document.createElement("a");return a.download=`${u}.${n}`,a.href=s,a.click(),s}function Xn(){return typeof window<"u"&&typeof window.echarts<"u"}function Zn(t){t.forEach(e=>{H(e)})}function xn(t){t.forEach(e=>{ot(e)})}function tr(t,e,n="asc"){return[...t].sort((r,o)=>{const c=r[e],u=o[e];return c<u?n==="asc"?-1:1:c>u?n==="asc"?1:-1:0})}function it(t,e){return t.reduce((n,r)=>{const o=r[e];return n[o]||(n[o]=[]),n[o].push(r),n},{})}function er(t,e,n,r=o=>o.reduce((c,u)=>c+u,0)){const o=it(t,e);return Object.entries(o).map(([c,u])=>{const s=u.map(a=>a[n]).filter(a=>typeof a=="number");return{[e]:c,[n]:r(s)}})}const b=new Map;let I=null;U&&(document.addEventListener("mousedown",t=>{I=t}),document.addEventListener("mouseup",t=>{for(const e of b.values())for(const{document_handler:n}of e)I&&n(t,I);I=null}));function ct(t,e){const n=[];return Array.isArray(e.arg)?n.push(...e.arg.filter(D)):D(e.arg)&&n.push(e.arg),function(r,o){const c=r.target,u=o.target;if(!c||!u||!e.instance)return;const s=t.contains(c)||t.contains(u),a=t===c,f=n.some(d=>d&&(d.contains(c)||d===u));let _=!1;try{const d=e.instance.popperRef;d&&(_=d.contains(c)||d.contains(u))}catch{}s||a||f||_||typeof e.value=="function"&&e.value(r,o)}}const ut={beforeMount(t,e){b.has(t)||b.set(t,[]),b.get(t)?.push({document_handler:ct(t,e),binding_fn:e.value})},updated(t,e){b.has(t)||b.set(t,[]);const n=b.get(t);if(!n)return;const r=n.findIndex(c=>c.binding_fn===e.oldValue),o={document_handler:ct(t,e),binding_fn:e.value};r>=0?n.splice(r,1,o):n.push(o)},unmounted(t){b.delete(t)}};function nr(t){t.directive("click-outside",ut)}i.ClickOutside=ut,i.add_chart_listener=Kn,i.add_class=je,i.add_date=$n,i.add_tree_node=Xt,i.add_tree_node_path=Jt,i.aggregate_chart_data=er,i.auto_size=jn,i.batch_execution=Hn,i.build_tree=Wt,i.calculate_percentage=de,i.ceil=le,i.clamp=ie,i.clear_expired_storage=ve,i.clear_storage=ye,i.clone_tree=ee,i.compose=Ln,i.compress_image=ln,i.create_element=Ge,i.create_file_from_blob=an,i.curry=Dn,i.darken=bn,i.debounce=An,i.decrypt_storage=Ee,i.deep_assign=G,i.deep_clone=S,i.deep_equal=z,i.delay_execution=Tn,i.destroy_chart=ot,i.destroy_charts=xn,i.diff_objects=Ce,i.download_file=T,i.download_files=rn,i.download_text_file=fn,i.encrypt_storage=$e,i.export_chart_image=Gn,i.filter_tree=qt,i.find_tree_node=B,i.find_tree_node_by_key=F,i.flatten_object=X,i.flatten_tree_to_array=Gt,i.floor=_e,i.format_chart_label=Jn,i.format_currency=oe,i.format_date=vn,i.format_timestamp_diff=zn,i.generate_chart_colors=Yn,i.generate_unique_file_name=dn,i.get_all_storage_keys=Q,i.get_attribute=Je,i.get_batch_storage=Oe,i.get_chart_gradient_color=Wn,i.get_contrast_color=pn,i.get_date_diff=Nn,i.get_date_time_range=Mn,i.get_decimal_part=ae,i.get_document_size=nn,i.get_element=He,i.get_element_position=et,i.get_element_rect=$,i.get_element_size=Xe,i.get_elements=Pe,i.get_file_extension=A,i.get_file_info=_n,i.get_file_name_without_extension=C,i.get_integer_part=se,i.get_object_value=Le,i.get_parent_by_class=Z,i.get_relative_time=Sn,i.get_rgb=mn,i.get_storage=V,i.get_storage_with_expiry=we,i.get_style=qe,i.get_token=he,i.get_tree_depth=Qt,i.get_tree_node_ancestors=Kt,i.get_tree_node_descendants=Vt,i.get_window_size=en,i.group_chart_data=it,i.guid=_t,i.has_class=Be,i.has_storage=pe,i.hex_to_rgb=p,i.init_chart=Un,i.is_array=l,i.is_boolean=Et,i.is_client=U,i.is_completely_in_viewport=tn,i.is_dark=wn,i.is_date=W,i.is_echarts_loaded=Xn,i.is_element=D,i.is_email=Tt,i.is_empty=zt,i.is_empty_object=ze,i.is_even=ue,i.is_falsy=It,i.is_function=w,i.is_hex_color=Rt,i.is_html_element=Dt,i.is_in_viewport=xe,i.is_ip=Ht,i.is_light=R,i.is_mobile=Ft,i.is_null=Mt,i.is_number=g,i.is_object=h,i.is_plain_object=Nt,i.is_port=Pt,i.is_promise=St,i.is_reg_exp=kt,i.is_string=L,i.is_string_number=Lt,i.is_symbol=Ot,i.is_truthy=At,i.is_undefined=vt,i.is_url=Ct,i.is_valid_date=$t,i.is_weekday=kn,i.is_weekend=On,i.lighten=yn,i.make_chart_responsive=qn,i.memoize=Rn,i.merge_chart_options=Vn,i.merge_objects=Te,i.mix=hn,i.off=Qe,i.omit=Ie,i.on=Ke,i.once=Cn,i.pick=Ae,i.pipe=Fn,i.random_boolean=dt,i.random_color=mt,i.random_element=v,i.random_elements=ht,i.random_email=bt,i.random_float=lt,i.random_id=st,i.random_int=at,i.random_int_range=ft,i.random_len_string=N,i.random_number_string=j,i.random_password=gt,i.random_phone=yt,i.random_string=P,i.random_url=wt,i.read_file=cn,i.remove_attribute=Ve,i.remove_batch_storage=Se,i.remove_chart_listener=Qn,i.remove_class=We,i.remove_storage=K,i.remove_token=ge,i.remove_tree_node=Zt,i.resize_chart=H,i.resize_charts=Zn,i.retry=rt,i.rgb_to_hex=E,i.rgba_to_hex=gn,i.round=fe,i.scroll_footer=Re,i.scroll_to_element=Ze,i.search_tree=re,i.set_attribute=tt,i.set_batch_storage=ke,i.set_object_value=Fe,i.set_storage=J,i.set_storage_with_expiry=be,i.set_style=Ye,i.set_styles=x,i.set_token=me,i.setupDirectives=nr,i.shuffle_array=pt,i.sort_chart_data=tr,i.sort_tree=te,i.subtract_date=En,i.thousand_separator=q,i.throttle=In,i.timeout=Pn,i.to_base64=on,i.to_fixed=Y,i.to_number=k,i.to_percentage=ce,i.toggle_class=Ue,i.transform_tree=Yt,i.traverse_tree_breadth_first=Bt,i.traverse_tree_depth_first=Ut,i.tree_flat=jt,i.unflatten_object=De,i.update_chart=Bn,i.update_tree_node=xt,i.validate_file_size=un,i.validate_file_type=sn,i.validate_tree=ne,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(i,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("dayjs")):typeof define=="function"&&define.amd?define(["exports","dayjs"],m):(i=typeof globalThis<"u"?globalThis:i||self,m(i.QyBetterLibCore={},i.dayjs))})(this,(function(i,m){"use strict";function st(){return Math.floor(Math.random()*1e4)}function at(t){return t<0?0:Math.floor(Math.random()*Math.floor(t))}function ft(t,e){return t>e&&([t,e]=[e,t]),Math.floor(Math.random()*(e-t+1))+t}function lt(t,e,n=2){t>e&&([t,e]=[e,t]);const r=Math.random()*(e-t)+t;return parseFloat(r.toFixed(n))}function dt(){const t=j;return`${t()}${t()}-${t()}-${t()}-${t()}-${t()}${t()}${t()}`}function j(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)}function N(t,e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){let n="";const r=e.length;for(let o=0;o<t;o++)n+=e.charAt(Math.floor(Math.random()*r));return n}function _t(){return Math.random()>.5}function v(t){if(!(!t||t.length===0))return t[Math.floor(Math.random()*t.length)]}function ht(t,e){return!t||t.length===0||e<=0?[]:e>=t.length?[...t]:[...t].sort(()=>.5-Math.random()).slice(0,e)}function mt(){const t="0123456789ABCDEF";let e="#";for(let n=0;n<6;n++)e+=t[Math.floor(Math.random()*16)];return e}function H(t){return N(t,"0123456789")}function gt(t=8){return N(t,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+~`|}{[]:;?><,./-=")}function yt(){const e=v(["130","131","132","133","134","135","136","137","138","139","150","151","152","153","155","156","157","158","159","170","171","172","173","175","176","177","178","180","181","182","183","184","185","186","187","188","189"]),n=H(8);return`${e}${n}`}function pt(){const t=["gmail.com","yahoo.com","hotmail.com","outlook.com","163.com","126.com","qq.com","sina.com"],e=N(8),n=v(t);return`${e}@${n}`}function bt(){const t=["http","https"],e=["example.com","test.com","demo.com","sample.com"],n=["api","docs","about","contact","products"],r=v(t),o=v(e),c=v(n),u=N(4);return`${r}://www.${o}/${c}?id=${u}`}function wt(t){if(!t)return[];const e=[...t];for(let n=e.length-1;n>0;n--){const r=Math.floor(Math.random()*(n+1));[e[n],e[r]]=[e[r],e[n]]}return e}function vt(t){return t===void 0}function Mt(t){return t===null}function l(t){return Array.isArray(t)}function h(t){return typeof t=="object"&&t!==null&&Object.prototype.toString.call(t)==="[object Object]"}function Nt(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function W(t){return Object.prototype.toString.call(t)==="[object Date]"}function $t(t){return W(t)&&!isNaN(t.getTime())}function Ot(t){return typeof t=="boolean"}function b(t){return typeof t=="function"}function Et(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function kt(t){return typeof t=="symbol"}function St(t){return typeof t=="object"&&t!==null&&typeof t.then=="function"&&typeof t.catch=="function"}function zt(t){return!t&&t!==0||l(t)&&t.length===0||h(t)&&!Object.keys(t).length}function At(t){return!!t}function It(t){return!t}function D(t){return typeof Element>"u"?!1:t instanceof Element}function Dt(t){return typeof HTMLElement>"u"?!1:t instanceof HTMLElement}const U=typeof window<"u";function g(t){return typeof t=="number"&&!isNaN(t)}function L(t){return typeof t=="string"}function Lt(t){return L(t)?!Number.isNaN(Number(t)):!1}function Ft(t){return/^1[3-9]\d{9}$/.test(t)}function Tt(t){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}function Ct(t){try{return new URL(t),!0}catch{return!1}}function Rt(t){return/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(t)}function Pt(t){return/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t)}function jt(t){return/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}|0)$/.test(t)}function Ht(t,e="key",n="children"){const r={};if(!l(t))return r;const o=[{nodes:t}];for(;o.length>0;){const{nodes:c,parent_key:u}=o.pop();for(const s of c){const a=s[e];if(a&&!r[a]){r[a]=s,u&&r[u]&&(r[a].parent=r[u]);const f=s[n];f&&l(f)&&f.length>0&&o.push({nodes:f,parent_key:a})}}}return r}function Wt(t,e="key",n="parentId",r="children"){if(!l(t))return[];const o={},c=[];for(const u of t)o[u[e]]={...u},o[u[e]][r]||(o[u[e]][r]=[]);for(const u of t){const s=u[n];!s||!o[s]?c.push(o[u[e]]):o[s][r].push(o[u[e]])}return c}function Ut(t,e,n="children"){if(!e||!b(e))return!1;let r=!1;const o=l(t)?t:[t],c=[];for(const u of o)c.push({node:u,depth:0});for(;c.length>0;){const{node:u,depth:s}=c.pop();if(e(u,s)===!1){r=!0;break}const f=u[n];if(f&&l(f)&&f.length>0)for(let d=f.length-1;d>=0;d--)c.push({node:f[d],depth:s+1})}return r}function Bt(t,e,n="children"){if(!e||!b(e))return!1;const r=[];if(l(t))for(const o of t)r.push({node:o,depth:0});else r.push({node:t,depth:0});for(;r.length>0;){const{node:o,depth:c}=r.shift();if(e(o,c)===!1)return!0;const s=o[n];if(s&&l(s))for(const a of s)r.push({node:a,depth:c+1})}return!1}function B(t,e,n="children"){if(!e||!b(e))return null;let r=null;const o=c=>{if(e(c))return r=c,!0;const u=c[n];if(u&&l(u)){for(const s of u)if(o(s))return!0}return!1};if(l(t)){for(const c of t)if(o(c))break}else o(t);return r}function F(t,e,n="key",r="children"){return B(t,o=>o[n]===e,r)}function qt(t,e,n="children"){if(!e||!b(e))return[];const r=o=>{const c=o[n],u=[];if(c&&l(c))for(const s of c){const a=r(s);a&&u.push(a)}return e(o)||u.length>0?{...o,[n]:u}:null};if(l(t)){const o=[];for(const c of t){const u=r(c);u&&o.push(u)}return o}else{const o=r(t);return o?[o]:[]}}function Yt(t,e,n="children"){if(!e||!b(e))return[];const r=o=>{const c=e(o),u=o[n];return u&&l(u)&&(c[n]=u.map(s=>r(s))),c};return l(t)?t.map(o=>r(o)):[r(t)]}function Jt(t,e="key",n="path",r="children"){const o=(c,u="")=>{const s=c[e],a=u?`${u}.${s}`:String(s),f={...c,[n]:a},d=c[r];return d&&l(d)&&(f[r]=d.map(_=>o(_,a))),f};return l(t)?t.map(c=>o(c)):[o(t)]}function Vt(t,e="children"){const n=[],r=o=>{const c=o[e];if(c&&l(c))for(const u of c)n.push(u),r(u)};return r(t),n}function Kt(t,e="parent"){const n=[];let r=t[e];for(;r;)n.unshift(r),r=r[e];return n}function Qt(t,e="children"){const n=r=>{const o=r[e];if(!o||!l(o)||o.length===0)return 1;const c=o.map(u=>n(u));return Math.max(...c)+1};if(l(t)){if(t.length===0)return 0;const r=t.map(o=>n(o));return Math.max(...r)}else return n(t)}function Gt(t,e="children"){const n=[],r=o=>{n.push(o);const c=o[e];if(c&&l(c))for(const u of c)r(u)};if(l(t))for(const o of t)r(o);else r(t);return n}function Xt(t,e,n,r="key",o="children"){const c=l(t)?t:[t],u=F(c,e,r,o);return u?(u[o]||(u[o]=[]),u[o].push(n)):c.push(n),c}function Zt(t,e,n="key",r="children"){const o=l(t)?t:[t];let c=null,u=null;const s=(a,f=null)=>{for(let d=0;d<a.length;d++){const _=a[d];if(_[n]===e)return c=_,u=f?f[r]:a,!0;const M=_[r];if(M&&l(M)&&s(M,_))return!0}return!1};if(s(o),c&&u){const a=u.findIndex(f=>f[n]===e);a>-1&&u.splice(a,1)}return o}function xt(t,e,n,r="key",o="children"){const c=l(t)?t:[t],u=F(c,e,r,o);return u&&Object.assign(u,n),c}function te(t,e,n=!0,r="children"){const o=l(t)?t:[t],c=typeof e=="string"?(s,a)=>{const f=s[e],d=a[e];return f<d?-1:f>d?1:0}:e,u=s=>{if(s.sort(c),n)for(const a of s){const f=a[r];f&&l(f)&&f.length>0&&u(f)}};return u(o),o}function ee(t,e="children"){const n=r=>{const o={...r},c=r[e];return c&&l(c)&&(o[e]=c.map(u=>n(u))),o};return l(t)?t.map(r=>n(r)):[n(t)]}function ne(t,e="key",n="children"){const r=[],o=new Set,c=new Set,u=(s,a="")=>{if(!h(s)){r.push(`Invalid node at ${a}: node must be an object`);return}if(o.has(s)){r.push(`Circular reference detected at ${a}`);return}o.add(s),e in s&&s[e]!==void 0&&(c.has(s[e])?r.push(`Duplicate key "${s[e]}" found at ${a}`):c.add(s[e]));const f=s[n];f!==void 0&&(l(f)?f.forEach((d,_)=>{u(d,`${a}[${_}]`)}):r.push(`Invalid children at ${a}: children must be an array`)),o.delete(s)};return l(t)?t.forEach((s,a)=>{u(s,`[${a}]`)}):u(t,"root"),{valid:r.length===0,errors:r}}function re(t,e,n="children"){const r=[],o=b(e)?e:u=>{if(!e||typeof e!="object")return!1;for(const[s,a]of Object.entries(e))if(u[s]!==a)return!1;return!0},c=u=>{typeof o=="function"&&o(u)&&r.push(u);const s=u[n];if(s&&l(s))for(const a of s)c(a)};if(l(t))for(const u of t)c(u);else c(t);return r}function q(t){if(!t&&t!==0)return"0";const e=E(t);return isNaN(e)?`${t}`:`${e}`.replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g,"$1,")}function E(t){if(g(t))return t;if(L(t)){const e=parseFloat(t);return isNaN(e)?Number.NaN:e}return Number.NaN}function Y(t,e){const n=E(t);return isNaN(n)?Number.NaN:Number(n.toFixed(e))}function oe(t,e="¥",n=2){if(!g(t))return e+"0.00";let r;n===0?r=Math.floor(t).toString():r=t.toFixed(n);const o=q(r);return e+o}function ie(t,e,n){return g(t)?Math.max(e,Math.min(n,t)):Number.NaN}function ce(t,e=2){const n=E(t);return isNaN(n)?"0%":(n*100).toFixed(e)+"%"}function ue(t){return g(t)?t%2===0:!1}function se(t){return g(t)?Math.trunc(t):Number.NaN}function ae(t){return g(t)?t-Math.trunc(t):Number.NaN}function fe(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.round(t*n)/n}function le(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.ceil(t*n)/n}function de(t,e=0){if(!g(t))return Number.NaN;const n=Math.pow(10,e);return Math.floor(t*n)/n}function _e(t,e,n=2){if(!g(t)||!g(e)||e===0)return Number.NaN;const r=t/e*100;return Y(r,n)}function y(t="local"){return t==="local"?localStorage:sessionStorage}function k(t,e=null){try{return JSON.parse(t)}catch(n){return console.error("JSON解析错误:",n),e}}function he(){const t=localStorage.getItem("token");if(!t)return null;const e=k(t);return e!==null?e.expiry!=null&&e.expiry<Date.now()?(localStorage.removeItem("token"),null):e.value:null}function me(t,e=10080*60){const n=Date.now()+e*1e3,r={value:t,expiry:n};localStorage.setItem("token",JSON.stringify(r))}function ge(){localStorage.removeItem("token")}function J(t,e,n="local"){const r=y(n);e!==void 0&&r.setItem(t,JSON.stringify(e))}function V(t,e="local"){const r=y(e).getItem(t);return r?k(r):null}function K(t,e="local"){y(e).removeItem(t)}function ye(t="local"){y(t).clear()}function pe(t,e,n,r="local"){const o=y(r),c={value:e,expiry:Date.now()+n*1e3};o.setItem(t,JSON.stringify(c))}function be(t,e="local"){const n=y(e),r=n.getItem(t);if(!r)return null;const o=k(r);return o.expiry&&o.expiry<Date.now()?(n.removeItem(t),null):o.value}function we(t,e="local"){return y(e).getItem(t)!==null}function Q(t="local"){const e=y(t),n=[];for(let r=0;r<e.length;r++){const o=e.key(r);o&&n.push(o)}return n}function ve(t="local"){const e=y(t),n=Q(t);let r=0;return n.forEach(o=>{const c=e.getItem(o);if(c){const u=k(c);u.expiry&&u.expiry<Date.now()&&(e.removeItem(o),r++)}}),r}function Me(t){try{return btoa(unescape(encodeURIComponent(t)))}catch(e){return console.error("加密错误:",e),t}}function Ne(t){try{return decodeURIComponent(escape(atob(t)))}catch(e){return console.error("解密错误:",e),t}}function $e(t,e,n="local"){const r=y(n),o=JSON.stringify(e),c=Me(o);r.setItem(t,c)}function Oe(t,e="local"){const r=y(e).getItem(t);if(!r)return null;try{const o=Ne(r);return JSON.parse(o)}catch(o){return console.error("解密解析错误:",o),null}}function Ee(t,e="local"){t.forEach(n=>{J(n.key,n.value,e)})}function ke(t,e="local"){const n={};return t.forEach(r=>{n[r]=V(r,e)}),n}function Se(t,e="local"){t.forEach(n=>{K(n,e)})}function S(t){const e=Object.prototype.toString;if(!t||typeof t!="object")return t;if(t.nodeType&&"cloneNode"in t)return t.cloneNode(!0);if(e.call(t)==="[object Date]")return new Date(t.getTime());if(e.call(t)==="[object RegExp]"){const r=[];return t.global&&r.push("g"),t.multiline&&r.push("m"),t.ignoreCase&&r.push("i"),new RegExp(t.source,r.join(""))}if(e.call(t)==="[object FormData]"){const r=new FormData;for(const[o,c]of t.entries())r.append(o,c);return r}if(e.call(t)==="[object Map]"){const r=new Map;for(const[o,c]of t.entries())r.set(o,S(c));return r}if(e.call(t)==="[object Set]"){const r=new Set;for(const o of t.values())r.add(S(o));return r}const n=Array.isArray(t)?[]:t.constructor?new t.constructor:{};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=S(t[r]));return n}function G(...t){let e=t.length,n=t[0];h(n)||(n={});for(let r=1;r<e;r++){let o=t[r];if(h(o))for(let c in o)c==="__proto__"||n===o[c]||(h(o[c])?(h(n[c])||(n[c]=Array.isArray(o[c])?[]:{}),n[c]=G(n[c],o[c])):n[c]=o[c])}return n}function z(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){if(t.constructor!==e.constructor)return!1;let n,r,o;if(Array.isArray(t)){if(n=t.length,n!=e.length)return!1;for(r=n;r--!==0;)if(!z(t[r],e[r]))return!1;return!0}if(t.constructor===RegExp)return t.source===e.source&&t.flags===e.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===e.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===e.toString();if(o=Object.keys(t),n=o.length,n!==Object.keys(e).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(e,o[r]))return!1;for(r=n;r--!==0;){const c=o[r];if(!z(t[c],e[c]))return!1}return!0}return t!==t&&e!==e}function ze(t){return h(t)&&Object.keys(t).length===0}function Ae(t,e){if(!h(t))return{};const n={};return e.forEach(r=>{r in t&&(n[r]=t[r])}),n}function Ie(t,e){if(!h(t))return{};const n={};return Object.keys(t).forEach(r=>{e.includes(r)||(n[r]=t[r])}),n}function X(t,e=""){if(!h(t))return{};const n={};return Object.keys(t).forEach(r=>{const o=e?`${e}.${r}`:r;h(t[r])&&!Array.isArray(t[r])?Object.assign(n,X(t[r],o)):n[o]=t[r]}),n}function De(t){if(!h(t))return{};const e={};return Object.keys(t).forEach(n=>{const r=n.split(".");let o=e;r.forEach((c,u)=>{u===r.length-1?o[c]=t[n]:(o[c]||(o[c]={}),o=o[c])})}),e}function Le(t,e,n=void 0){if(!h(t))return n;const r=e.split(".");let o=t;for(const c of r){if(o==null)return n;o=o[c]}return o!==void 0?o:n}function Fe(t,e,n){h(t)||(t={});const r=e.split(".");let o=t;return r.forEach((c,u)=>{u===r.length-1?o[c]=n:(h(o[c])||(o[c]={}),o=o[c])}),t}function Te(...t){return Object.assign({},...t)}function Ce(t,e){const n={};return!h(t)&&!h(e)?n:h(t)?h(e)?(new Set([...Object.keys(t),...Object.keys(e)]).forEach(o=>{z(t[o],e[o])||(n[o]={oldValue:t[o],newValue:e[o]})}),n):t:e}function Z(t,e){return!t||t.tagName==="BODY"?null:t.classList.contains(e)?t:Z(t.parentElement,e)}function Re(t,e=!0){const n=document.getElementById(t);n&&n.scrollTo({top:n.scrollHeight,behavior:e?"smooth":void 0})}function Pe(t,e=document){return e.querySelector(t)}function je(t,e=document){return Array.from(e.querySelectorAll(t))}function He(t,e){t&&!t.classList.contains(e)&&t.classList.add(e)}function We(t,e){t&&t.classList.contains(e)&&t.classList.remove(e)}function Ue(t,e){return t?t.classList.toggle(e):!1}function Be(t,e){return t?t.classList.contains(e):!1}function qe(t,e){return t?window.getComputedStyle(t).getPropertyValue(e):""}function Ye(t,e,n){t&&"style"in t&&(t.style[e]=n)}function x(t,e){t&&"style"in t&&Object.entries(e).forEach(([n,r])=>{t.style[n]=r})}function Je(t,e){return t&&t.getAttribute(e)||""}function tt(t,e,n){t&&t.setAttribute(e,n)}function Ve(t,e){t&&t.removeAttribute(e)}function Ke(t,e,n,r){t&&t.addEventListener(e,n,r)}function Qe(t,e,n,r){t&&t.removeEventListener(e,n,r)}function Ge(t,e){const n=document.createElement(t);return e&&(e.class_name&&(n.className=e.class_name),e.style&&x(n,e.style),e.attributes&&Object.entries(e.attributes).forEach(([r,o])=>{tt(n,r,o)}),e.text&&(n.textContent=e.text)),n}function $(t){return t?t.getBoundingClientRect():null}function et(t){if(!t)return null;const e=$(t);return e?{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}:null}function Xe(t){if(!t)return null;const e=$(t);return e?{width:e.width,height:e.height}:null}function Ze(t,e){if(!t)return;const{behavior:n="smooth",offsetTop:r=0,offsetLeft:o=0}=e||{},c=et(t);c&&window.scrollTo({top:c.top-r,left:c.left-o,behavior:n})}function xe(t){if(!t)return!1;const e=$(t);return e?e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth):!1}function tn(t){if(!t)return!1;const e=$(t);return e?e.top>0&&e.left>0&&e.bottom<(window.innerHeight||document.documentElement.clientHeight)&&e.right<(window.innerWidth||document.documentElement.clientWidth):!1}function en(){return{width:window.innerWidth||document.documentElement.clientWidth,height:window.innerHeight||document.documentElement.clientHeight}}function nn(){return{width:Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.documentElement.clientWidth),height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.documentElement.clientHeight)}}function T({path:t,name:e}){const n=document.createElement("a");n.href=t,n.target="_blank",e&&n.setAttribute("download",e),document.body.appendChild(n),n.click(),document.body.removeChild(n)}function rn(t){t.forEach(e=>{T({path:e.url,name:e.name})})}async function on(t){if(!t)return;const e=new FileReader;return e.readAsDataURL(t),new Promise((n,r)=>{e.onload=o=>n(o.target?.result),e.onerror=o=>r(void 0)})}async function cn(t,e="UTF-8"){if(!t)return;const n=new FileReader;return n.readAsText(t,e),new Promise((r,o)=>{n.onload=c=>r(c.target?.result),n.onerror=()=>o(void 0)})}function A(t){if(!t)return"";const e=t.lastIndexOf(".");return e===-1?"":t.substring(e+1).toLowerCase()}function C(t){if(!t)return"";const e=t.lastIndexOf(".");return e===-1?t:t.substring(0,e)}function un(t,e){return t.size<=e}function sn(t,e){const n=A(t.name);return e.includes(n)}function an(t,e,n){return new File([t],e,{type:n})}function fn(t,e,n="text/plain"){const r=new Blob([t],{type:n}),o=URL.createObjectURL(r);T({path:o,name:e}),URL.revokeObjectURL(o)}async function ln(t,e=800,n=800,r=.8){if(t.type.startsWith("image/"))return new Promise(o=>{const c=document.createElement("canvas"),u=c.getContext("2d"),s=new Image;s.onload=()=>{let{width:a,height:f}=s;if(a>e||f>n){const d=Math.min(e/a,n/f);a*=d,f*=d}c.width=a,c.height=f,u?.drawImage(s,0,0,a,f),c.toBlob(d=>{if(d){const _=new File([d],t.name,{type:t.type});o(_)}else o(void 0)},t.type,r)},s.src=URL.createObjectURL(t)})}function dn(t){const e=A(t.name),n=C(t.name);let r="";return t.size<1024?r=`${t.size} B`:t.size<1024*1024?r=`${(t.size/1024).toFixed(2)} KB`:t.size<1024*1024*1024?r=`${(t.size/(1024*1024)).toFixed(2)} MB`:r=`${(t.size/(1024*1024*1024)).toFixed(2)} GB`,{name:t.name,size:t.size,size_text:r,type:t.type,extension:e,name_without_extension:n}}function _n(t){const e=A(t),n=C(t),r=Date.now(),o=Math.random().toString(36).substring(2,8);return e?`${n}_${r}_${o}.${e}`:`${n}_${r}_${o}`}function nt(t){return/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.test(t)}function hn(t,e,n){if(!nt(t)||!nt(e))return t;n=Math.max(Math.min(Number(n),1),0);const r=w(t),o=w(e);if(!r||!o)return t;const c=Math.round(r.r*(1-n)+o.r*n),u=Math.round(r.g*(1-n)+o.g*n),s=Math.round(r.b*(1-n)+o.b*n);return O(c,u,s)}function mn(t){const e=w(t);return e?`${e.r},${e.g},${e.b}`:"0,0,0"}function w(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function O(t,e,n){return t=Math.max(0,Math.min(255,Math.round(t))),e=Math.max(0,Math.min(255,Math.round(e))),n=Math.max(0,Math.min(255,Math.round(n))),`#${((1<<24)+(t<<16)+(e<<8)+n).toString(16).slice(1)}`}function gn(t,e,n,r){return O(t,e,n)}function yn(t,e){const n=w(t);if(!n)return t;e=Math.max(0,Math.min(1,e));const r=Math.min(255,Math.round(n.r+(255-n.r)*e)),o=Math.min(255,Math.round(n.g+(255-n.g)*e)),c=Math.min(255,Math.round(n.b+(255-n.b)*e));return O(r,o,c)}function pn(t,e){const n=w(t);if(!n)return t;e=Math.max(0,Math.min(1,e));const r=Math.max(0,Math.round(n.r*(1-e))),o=Math.max(0,Math.round(n.g*(1-e))),c=Math.max(0,Math.round(n.b*(1-e)));return O(r,o,c)}function R(t){const e=w(t);return e?(e.r*299+e.g*587+e.b*114)/1e3>128:!1}function bn(t){return!R(t)}function wn(t){return R(t)?"#000000":"#FFFFFF"}function vn(t,e=200,n=!1){let r;return function(...o){const c=this;if(r&&clearTimeout(r),n){const u=!r;if(r=setTimeout(()=>{r=void 0},e),u)return t.apply(c,o)}else r=setTimeout(()=>{t.apply(c,o)},e)}}function Mn(t,e=200,n={}){const{leading:r=!0,trailing:o=!0}=n;let c=0,u,s,a;return function(...f){const d=this,_=Date.now();if(c===0){r&&t.apply(d,f),c=_;return}s=f,a=d;const M=_-c;if(M>=e){u&&(clearTimeout(u),u=void 0),t.apply(d,f),c=_;return}!u&&o&&(u=setTimeout(()=>{s&&(t.apply(a,s),c=Date.now()),u=void 0,s=void 0,a=void 0},e-M))}}function Nn(t){const e=t.length;function n(...r){return r.length>=e?t.apply(this,r):function(...o){return n.apply(this,[...r,...o])}}return n}function $n(...t){return function(e){return t.reduceRight((n,r)=>r(n),e)}}function On(...t){return function(e){return t.reduce((n,r)=>r(n),e)}}function En(t,e=1e3){return new Promise(n=>{setTimeout(()=>{n(t())},e)})}async function rt(t,e=3,n=1e3){try{return await t()}catch(r){if(e<=0)throw r;return await new Promise(o=>setTimeout(o,n)),rt(t,e-1,n)}}function kn(t){let e=!1,n;return function(...r){return e||(e=!0,n=t.apply(this,r)),n}}function Sn(t){const e=new Map;return function(...n){const r=JSON.stringify(n);if(e.has(r))return e.get(r);const o=t.apply(this,n);return e.set(r,o),o}}async function zn(t,e=!0){if(e)return Promise.all(t.map(n=>n()));{const n=[];for(const r of t)n.push(await r());return n}}function An(t,e=5e3,n="Operation timed out"){return Promise.race([Promise.resolve(t()),new Promise((r,o)=>{setTimeout(()=>{o(new Error(n))},e)})])}function In(t,e="YYYY-MM-DD HH:mm:ss"){return m(t).format(e)}function Dn(t,e=-1,n="YYYY-MM-DD HH:mm:ss",r=!1){const o=m(),c=o.format(n);let u=o;switch(t){case"d":u=r?o.add(e,"day"):o.startOf("day");break;case"w":u=r?o.add(e,"week"):o.startOf("week");break;case"M":u=r?o.add(e,"month"):o.startOf("month");break;case"Q":u=r?o.add(e*3,"month"):o.startOf("month").subtract(o.month()%3,"month");break;case"y":u=r?o.add(e,"year"):o.startOf("year");break;case"h":u=o.add(e,"hour");break;case"m":u=o.add(e,"minute");break;case"s":u=o.add(e,"second");break}return[u.format(n),c]}function Ln(t,e,n="day"){return m(t).diff(m(e),n)}function Fn(t,e,n,r){const o=m(t).add(e,n);return r?o.format(r):o.toDate()}function Tn(t,e,n,r){const o=m(t).subtract(e,n);return r?o.format(r):o.toDate()}function Cn(t){const e=m(t).day();return e>0&&e<6}function Rn(t){const e=m(t).day();return e===0||e===6}function Pn(t){const e=m(),n=m(t),r=e.diff(n,"minute");if(r<1)return"刚刚";if(r<60)return`${r}分钟前`;const o=e.diff(n,"hour");if(o<24)return`${o}小时前`;const c=e.diff(n,"day");if(c<30)return`${c}天前`;const u=e.diff(n,"month");return u<12?`${u}个月前`:`${e.diff(n,"year")}年前`}function jn(t,e="zh"){const n=Math.floor(t/1e3),r=Math.floor(n/86400),o=Math.floor(n%86400/3600),c=Math.floor(n%3600/60),u=n%60,s=e==="zh"?{day:"天",hour:"时",minute:"分",second:"秒"}:{day:"D",hour:"H",minute:"M",second:"S"};let a="";return r>0&&(a+=`${r}${s.day}`),(o>0||r>0&&(c>0||u>0))&&(a+=`${o}${s.hour}`),(c>0||o>0&&u>0)&&(a+=`${c}${s.minute}`),(u>0||a==="")&&(a+=`${u}${s.second}`),a}const Hn=Object.freeze(Object.defineProperty({__proto__:null,add_date:Fn,format_date:In,format_timestamp_diff:jn,get_date_diff:Ln,get_date_time_range:Dn,get_relative_time:Pn,is_weekday:Cn,is_weekend:Rn,subtract_date:Tn},Symbol.toStringTag,{value:"Module"}));function Wn(t,e=1920){let n=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;if(!n)return t;let r=n/e;return Number((t*r).toFixed(3))}function Un(t,e,n){return{type:"linear",x:0,y:0,x2:t==="v"?0:1,y2:t==="v"?1:0,colorStops:[{offset:0,color:e},{offset:1,color:n}]}}function Bn(t,e,n="canvas",r){return(async()=>{try{let c;if(typeof window<"u"&&window.echarts)c=window.echarts;else{const a=await import("echarts");c=a.default||a}const u=typeof t=="string"?document.getElementById(t):t;if(!u)return console.error("ECharts DOM容器未找到"),null;const s=c.init(u,r,{renderer:n});return e&&s.setOption(e),s}catch(c){return console.error("加载 ECharts 失败:",c),null}})()}function ot(t){t&&typeof t.dispose=="function"&&t.dispose()}function qn(t,e){t&&typeof t.setOption=="function"&&t.setOption(e)}function P(t){t&&typeof t.resize=="function"&&t.resize()}function Yn(t,e=200){if(!t)return;let n;const r=()=>{clearTimeout(n),n=setTimeout(()=>{P(t)},e)};return window.addEventListener("resize",r),()=>{window.removeEventListener("resize",r),clearTimeout(n)}}function Jn(t,e){const r=e||["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc","#67c23a"],o=[];for(let c=0;c<t;c++)o.push(r[c%r.length]);return o}function Vn(t,e){return typeof e=="function"?e(t):typeof e=="string"?e.replace("{value}",String(t)):String(t)}function Kn(t,e){return{...t,...e,series:e.series||t.series,xAxis:e.xAxis||t.xAxis,yAxis:e.yAxis||t.yAxis,legend:e.legend||t.legend,tooltip:e.tooltip||t.tooltip,title:e.title||t.title}}function Qn(t,e,n){t&&typeof t.on=="function"&&t.on(e,n)}function Gn(t,e,n){t&&typeof t.off=="function"&&t.off(e,n)}function Xn(t,e={}){if(!t||typeof t.getDataURL!="function")return null;const{type:n="png",pixel_ratio:r=2,background_color:o="#fff",exclude_components:c=[],file_name:u="echarts-image"}=e,s=t.getDataURL({type:n,pixelRatio:r,backgroundColor:o,excludeComponents:c}),a=document.createElement("a");return a.download=`${u}.${n}`,a.href=s,a.click(),s}function Zn(){return typeof window<"u"&&typeof window.echarts<"u"}function xn(t){t.forEach(e=>{P(e)})}function tr(t){t.forEach(e=>{ot(e)})}function er(t,e,n="asc"){return[...t].sort((r,o)=>{const c=r[e],u=o[e];return c<u?n==="asc"?-1:1:c>u?n==="asc"?1:-1:0})}function it(t,e){return t.reduce((n,r)=>{const o=r[e];return n[o]||(n[o]=[]),n[o].push(r),n},{})}function nr(t,e,n,r=o=>o.reduce((c,u)=>c+u,0)){const o=it(t,e);return Object.entries(o).map(([c,u])=>{const s=u.map(a=>a[n]).filter(a=>typeof a=="number");return{[e]:c,[n]:r(s)}})}const rr=Object.freeze(Object.defineProperty({__proto__:null,add_chart_listener:Qn,aggregate_chart_data:nr,auto_size:Wn,destroy_chart:ot,destroy_charts:tr,export_chart_image:Xn,format_chart_label:Vn,generate_chart_colors:Jn,get_chart_gradient_color:Un,group_chart_data:it,init_chart:Bn,is_echarts_loaded:Zn,make_chart_responsive:Yn,merge_chart_options:Kn,remove_chart_listener:Gn,resize_chart:P,resize_charts:xn,sort_chart_data:er,update_chart:qn},Symbol.toStringTag,{value:"Module"})),p=new Map;let I=null;U&&(document.addEventListener("mousedown",t=>{I=t}),document.addEventListener("mouseup",t=>{for(const e of p.values())for(const{document_handler:n}of e)I&&n(t,I);I=null}));function ct(t,e){const n=[];return Array.isArray(e.arg)?n.push(...e.arg.filter(D)):D(e.arg)&&n.push(e.arg),function(r,o){const c=r.target,u=o.target;if(!c||!u||!e.instance)return;const s=t.contains(c)||t.contains(u),a=t===c,f=n.some(_=>_&&(_.contains(c)||_===u));let d=!1;try{const _=e.instance.popperRef;_&&(d=_.contains(c)||_.contains(u))}catch{}s||a||f||d||typeof e.value=="function"&&e.value(r,o)}}const ut={beforeMount(t,e){p.has(t)||p.set(t,[]),p.get(t)?.push({document_handler:ct(t,e),binding_fn:e.value})},updated(t,e){p.has(t)||p.set(t,[]);const n=p.get(t);if(!n)return;const r=n.findIndex(c=>c.binding_fn===e.oldValue),o={document_handler:ct(t,e),binding_fn:e.value};r>=0?n.splice(r,1,o):n.push(o)},unmounted(t){p.delete(t)}};function or(t){t.directive("click-outside",ut)}i.ClickOutside=ut,i.add_class=He,i.add_tree_node=Xt,i.add_tree_node_path=Jt,i.batch_execution=zn,i.build_tree=Wt,i.calculate_percentage=_e,i.ceil=le,i.clamp=ie,i.clear_expired_storage=ve,i.clear_storage=ye,i.clone_tree=ee,i.compose=$n,i.compress_image=ln,i.create_element=Ge,i.create_file_from_blob=an,i.curry=Nn,i.darken=pn,i.date=Hn,i.debounce=vn,i.decrypt_storage=Oe,i.deep_assign=G,i.deep_clone=S,i.deep_equal=z,i.delay_execution=En,i.diff_objects=Ce,i.download_file=T,i.download_files=rn,i.download_text_file=fn,i.echarts=rr,i.encrypt_storage=$e,i.filter_tree=qt,i.find_tree_node=B,i.find_tree_node_by_key=F,i.flatten_object=X,i.flatten_tree_to_array=Gt,i.floor=de,i.format_currency=oe,i.generate_unique_file_name=_n,i.get_all_storage_keys=Q,i.get_attribute=Je,i.get_batch_storage=ke,i.get_contrast_color=wn,i.get_decimal_part=ae,i.get_document_size=nn,i.get_element=Pe,i.get_element_position=et,i.get_element_rect=$,i.get_element_size=Xe,i.get_elements=je,i.get_file_extension=A,i.get_file_info=dn,i.get_file_name_without_extension=C,i.get_integer_part=se,i.get_object_value=Le,i.get_parent_by_class=Z,i.get_rgb=mn,i.get_storage=V,i.get_storage_with_expiry=be,i.get_style=qe,i.get_token=he,i.get_tree_depth=Qt,i.get_tree_node_ancestors=Kt,i.get_tree_node_descendants=Vt,i.get_window_size=en,i.guid=dt,i.has_class=Be,i.has_storage=we,i.hex_to_rgb=w,i.is_array=l,i.is_boolean=Ot,i.is_client=U,i.is_completely_in_viewport=tn,i.is_dark=bn,i.is_date=W,i.is_element=D,i.is_email=Tt,i.is_empty=zt,i.is_empty_object=ze,i.is_even=ue,i.is_falsy=It,i.is_function=b,i.is_hex_color=Rt,i.is_html_element=Dt,i.is_in_viewport=xe,i.is_ip=Pt,i.is_light=R,i.is_mobile=Ft,i.is_null=Mt,i.is_number=g,i.is_object=h,i.is_plain_object=Nt,i.is_port=jt,i.is_promise=St,i.is_reg_exp=Et,i.is_string=L,i.is_string_number=Lt,i.is_symbol=kt,i.is_truthy=At,i.is_undefined=vt,i.is_url=Ct,i.is_valid_date=$t,i.lighten=yn,i.memoize=Sn,i.merge_objects=Te,i.mix=hn,i.off=Qe,i.omit=Ie,i.on=Ke,i.once=kn,i.pick=Ae,i.pipe=On,i.random_boolean=_t,i.random_color=mt,i.random_element=v,i.random_elements=ht,i.random_email=pt,i.random_float=lt,i.random_id=st,i.random_int=at,i.random_int_range=ft,i.random_len_string=N,i.random_number_string=H,i.random_password=gt,i.random_phone=yt,i.random_string=j,i.random_url=bt,i.read_file=cn,i.remove_attribute=Ve,i.remove_batch_storage=Se,i.remove_class=We,i.remove_storage=K,i.remove_token=ge,i.remove_tree_node=Zt,i.retry=rt,i.rgb_to_hex=O,i.rgba_to_hex=gn,i.round=fe,i.scroll_footer=Re,i.scroll_to_element=Ze,i.search_tree=re,i.set_attribute=tt,i.set_batch_storage=Ee,i.set_object_value=Fe,i.set_storage=J,i.set_storage_with_expiry=pe,i.set_style=Ye,i.set_styles=x,i.set_token=me,i.setupDirectives=or,i.shuffle_array=wt,i.sort_tree=te,i.thousand_separator=q,i.throttle=Mn,i.timeout=An,i.to_base64=on,i.to_fixed=Y,i.to_number=E,i.to_percentage=ce,i.toggle_class=Ue,i.transform_tree=Yt,i.traverse_tree_breadth_first=Bt,i.traverse_tree_depth_first=Ut,i.tree_flat=Ht,i.unflatten_object=De,i.update_tree_node=xt,i.validate_file_size=un,i.validate_file_type=sn,i.validate_tree=ne,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})}));
package/lib/index.js CHANGED
@@ -7,20 +7,16 @@ import { deep_assign, deep_clone, deep_equal, diff_objects, flatten_object, get_
7
7
  import { add_class, create_element, get_attribute, get_document_size, get_element, get_element_position, get_element_rect, get_element_size, get_elements, get_parent_by_class, get_style, get_window_size, has_class, is_completely_in_viewport, is_in_viewport, off, on, remove_attribute, remove_class, scroll_footer, scroll_to_element, set_attribute, set_style, set_styles, toggle_class } from "./utils/dom.js";
8
8
  import { compress_image, create_file_from_blob, download_file, download_files, download_text_file, generate_unique_file_name, get_file_extension, get_file_info, get_file_name_without_extension, read_file, to_base64, validate_file_size, validate_file_type } from "./utils/file.js";
9
9
  import { darken, get_contrast_color, get_rgb, hex_to_rgb, is_dark, is_light, lighten, mix, rgb_to_hex, rgba_to_hex } from "./utils/color.js";
10
- import { add_date, format_date, format_timestamp_diff, get_date_diff, get_date_time_range, get_relative_time, is_weekday, is_weekend, subtract_date } from "./utils/date.js";
11
10
  import { batch_execution, compose, curry, debounce, delay_execution, memoize, once, pipe, retry, throttle, timeout } from "./utils/share.js";
12
- import { add_chart_listener, aggregate_chart_data, auto_size, destroy_chart, destroy_charts, export_chart_image, format_chart_label, generate_chart_colors, get_chart_gradient_color, group_chart_data, init_chart, is_echarts_loaded, make_chart_responsive, merge_chart_options, remove_chart_listener, resize_chart, resize_charts, sort_chart_data, update_chart } from "./utils/echarts.js";
11
+ import * as date from "./utils/date.js";
12
+ import * as echarts from "./utils/echarts.js";
13
13
  import { setupDirectives } from "./directives/index.js";
14
14
  import { default as default2 } from "./directives/click_outside.js";
15
15
  export {
16
16
  default2 as ClickOutside,
17
- add_chart_listener,
18
17
  add_class,
19
- add_date,
20
18
  add_tree_node,
21
19
  add_tree_node_path,
22
- aggregate_chart_data,
23
- auto_size,
24
20
  batch_execution,
25
21
  build_tree,
26
22
  calculate_percentage,
@@ -35,39 +31,31 @@ export {
35
31
  create_file_from_blob,
36
32
  curry,
37
33
  darken,
34
+ date,
38
35
  debounce,
39
36
  decrypt_storage,
40
37
  deep_assign,
41
38
  deep_clone,
42
39
  deep_equal,
43
40
  delay_execution,
44
- destroy_chart,
45
- destroy_charts,
46
41
  diff_objects,
47
42
  download_file,
48
43
  download_files,
49
44
  download_text_file,
45
+ echarts,
50
46
  encrypt_storage,
51
- export_chart_image,
52
47
  filter_tree,
53
48
  find_tree_node,
54
49
  find_tree_node_by_key,
55
50
  flatten_object,
56
51
  flatten_tree_to_array,
57
52
  floor,
58
- format_chart_label,
59
53
  format_currency,
60
- format_date,
61
- format_timestamp_diff,
62
- generate_chart_colors,
63
54
  generate_unique_file_name,
64
55
  get_all_storage_keys,
65
56
  get_attribute,
66
57
  get_batch_storage,
67
- get_chart_gradient_color,
68
58
  get_contrast_color,
69
- get_date_diff,
70
- get_date_time_range,
71
59
  get_decimal_part,
72
60
  get_document_size,
73
61
  get_element,
@@ -81,7 +69,6 @@ export {
81
69
  get_integer_part,
82
70
  get_object_value,
83
71
  get_parent_by_class,
84
- get_relative_time,
85
72
  get_rgb,
86
73
  get_storage,
87
74
  get_storage_with_expiry,
@@ -91,19 +78,16 @@ export {
91
78
  get_tree_node_ancestors,
92
79
  get_tree_node_descendants,
93
80
  get_window_size,
94
- group_chart_data,
95
81
  guid,
96
82
  has_class,
97
83
  has_storage,
98
84
  hex_to_rgb,
99
- init_chart,
100
85
  is_array,
101
86
  is_boolean,
102
87
  is_client,
103
88
  is_completely_in_viewport,
104
89
  is_dark,
105
90
  is_date,
106
- is_echarts_loaded,
107
91
  is_element,
108
92
  is_email,
109
93
  is_empty,
@@ -131,12 +115,8 @@ export {
131
115
  is_undefined,
132
116
  is_url,
133
117
  is_valid_date,
134
- is_weekday,
135
- is_weekend,
136
118
  lighten,
137
- make_chart_responsive,
138
119
  memoize,
139
- merge_chart_options,
140
120
  merge_objects,
141
121
  mix,
142
122
  off,
@@ -163,13 +143,10 @@ export {
163
143
  read_file,
164
144
  remove_attribute,
165
145
  remove_batch_storage,
166
- remove_chart_listener,
167
146
  remove_class,
168
147
  remove_storage,
169
148
  remove_token,
170
149
  remove_tree_node,
171
- resize_chart,
172
- resize_charts,
173
150
  retry,
174
151
  rgb_to_hex,
175
152
  rgba_to_hex,
@@ -187,9 +164,7 @@ export {
187
164
  set_token,
188
165
  setupDirectives,
189
166
  shuffle_array,
190
- sort_chart_data,
191
167
  sort_tree,
192
- subtract_date,
193
168
  thousand_separator,
194
169
  throttle,
195
170
  timeout,
@@ -203,7 +178,6 @@ export {
203
178
  traverse_tree_depth_first,
204
179
  tree_flat,
205
180
  unflatten_object,
206
- update_chart,
207
181
  update_tree_node,
208
182
  validate_file_size,
209
183
  validate_file_type,
@@ -7,6 +7,6 @@ export * from './object';
7
7
  export * from './dom';
8
8
  export * from './file';
9
9
  export * from './color';
10
- export * from './date';
11
10
  export * from './share';
12
- export * from './echarts';
11
+ export * as date from './date';
12
+ export * as echarts from './echarts';
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@qy_better_lib/core",
3
3
  "type": "module",
4
4
  "private": false,
5
- "version": "0.2.3",
5
+ "version": "0.2.4",
6
6
  "description": "qy better lib core",
7
7
  "author": "luhuiming",
8
8
  "license": "MIT",