gis-common 4.1.1 → 4.1.2
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/gis-common.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var f = (t, e, n) =>
|
|
1
|
+
var x = Object.defineProperty;
|
|
2
|
+
var S = (t, e, n) => e in t ? x(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
|
+
var f = (t, e, n) => S(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
4
|
const M = {
|
|
5
5
|
MAP_RENDER: "mapRender",
|
|
6
6
|
MAP_READY: "mapReady",
|
|
@@ -495,7 +495,7 @@ E.prototype.fromEntries = function(t = []) {
|
|
|
495
495
|
Array.isArray(n) && n.length === 2 && e.set(n[0], n[1]);
|
|
496
496
|
}), e;
|
|
497
497
|
};
|
|
498
|
-
class
|
|
498
|
+
class k extends A {
|
|
499
499
|
constructor(n = "ws://127.0.0.1:10088") {
|
|
500
500
|
super();
|
|
501
501
|
f(this, "maxCheckTimes", 10);
|
|
@@ -593,7 +593,7 @@ Array.prototype.asc = function(t = (e) => e) {
|
|
|
593
593
|
Array.prototype.clear = function() {
|
|
594
594
|
return this.length = 0, this;
|
|
595
595
|
};
|
|
596
|
-
const
|
|
596
|
+
const U = {
|
|
597
597
|
asArray(t) {
|
|
598
598
|
return y.isEmpty(t) ? [] : Array.isArray(t) ? t : [t];
|
|
599
599
|
},
|
|
@@ -643,30 +643,6 @@ const k = {
|
|
|
643
643
|
return this.union(...t).filter((e) => !this.intersection(...t).includes(e));
|
|
644
644
|
}
|
|
645
645
|
}, N = {
|
|
646
|
-
/**
|
|
647
|
-
* 从 URL 中解析出查询参数和哈希参数,并以对象的形式返回
|
|
648
|
-
*
|
|
649
|
-
* @param href 需要解析的 URL 链接,默认为当前窗口的 URL
|
|
650
|
-
* @param needDecode 是否需要解码参数值,默认为 true
|
|
651
|
-
* @returns 返回一个包含解析后参数的对象,其中键为参数名,值为参数值
|
|
652
|
-
*/
|
|
653
|
-
getUrlParams(t = window.location.href, e = !0) {
|
|
654
|
-
const n = /([^&=]+)=([\w\W]*?)(&|$|#)/g, { search: s, hash: r } = new URL(t), i = [s, r];
|
|
655
|
-
let a = {};
|
|
656
|
-
for (let o = 0; o < i.length; o++) {
|
|
657
|
-
const c = i[o];
|
|
658
|
-
if (c) {
|
|
659
|
-
const h = c.replace(/#|\//g, "").split("?");
|
|
660
|
-
if (h.length > 1)
|
|
661
|
-
for (let u = 1; u < h.length; u++) {
|
|
662
|
-
let d;
|
|
663
|
-
for (; d = n.exec(h[u]); )
|
|
664
|
-
a[d[1]] = e ? decodeURIComponent(d[2]) : d[2];
|
|
665
|
-
}
|
|
666
|
-
}
|
|
667
|
-
}
|
|
668
|
-
return a;
|
|
669
|
-
},
|
|
670
646
|
/**
|
|
671
647
|
* 获取浏览器类型
|
|
672
648
|
*
|
|
@@ -1428,7 +1404,7 @@ const q = {
|
|
|
1428
1404
|
var n = document.createElement("a");
|
|
1429
1405
|
n.href = t, n.download = e || "", n.click(), window.URL.revokeObjectURL(n.href);
|
|
1430
1406
|
}
|
|
1431
|
-
},
|
|
1407
|
+
}, K = {
|
|
1432
1408
|
/**
|
|
1433
1409
|
* 防抖函数,在指定的等待时间内,如果连续触发事件,则只在最后一次触发后执行函数。适用于像搜索输入框这种需要用户停止输入后才调用的场景
|
|
1434
1410
|
*
|
|
@@ -1499,7 +1475,7 @@ const q = {
|
|
|
1499
1475
|
s++, s < Math.floor(n / e) && (t.call(this), setTimeout(this.recurve.bind(this, t, e, n), e));
|
|
1500
1476
|
}, e);
|
|
1501
1477
|
}
|
|
1502
|
-
},
|
|
1478
|
+
}, j = {
|
|
1503
1479
|
/**
|
|
1504
1480
|
* 校验字符串是否符合指定类型
|
|
1505
1481
|
*
|
|
@@ -1734,16 +1710,33 @@ const Y = {
|
|
|
1734
1710
|
var i = e.join("&");
|
|
1735
1711
|
return i;
|
|
1736
1712
|
},
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1713
|
+
/**
|
|
1714
|
+
* 从 URL 中解析出查询参数和哈希参数,并以对象的形式返回
|
|
1715
|
+
*
|
|
1716
|
+
* @param href 需要解析的 URL 链接,默认为当前窗口的 URL
|
|
1717
|
+
* @param needDecode 是否需要解码参数值,默认为 true
|
|
1718
|
+
* @returns 返回一个包含解析后参数的对象,其中键为参数名,值为参数值
|
|
1719
|
+
*/
|
|
1720
|
+
query2Json(t = window.location.href, e = !0) {
|
|
1721
|
+
const n = /([^&=]+)=([\w\W]*?)(&|$|#)/g, { search: s, hash: r } = new URL(t), i = [s, r];
|
|
1722
|
+
let a = {};
|
|
1723
|
+
for (let o = 0; o < i.length; o++) {
|
|
1724
|
+
const c = i[o];
|
|
1725
|
+
if (c) {
|
|
1726
|
+
const h = c.replace(/#|\//g, "").split("?");
|
|
1727
|
+
if (h.length > 1)
|
|
1728
|
+
for (let u = 1; u < h.length; u++) {
|
|
1729
|
+
let d;
|
|
1730
|
+
for (; d = n.exec(h[u]); )
|
|
1731
|
+
a[d[1]] = e ? decodeURIComponent(d[2]) : d[2];
|
|
1732
|
+
}
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
return a;
|
|
1743
1736
|
}
|
|
1744
1737
|
};
|
|
1745
1738
|
export {
|
|
1746
|
-
|
|
1739
|
+
U as ArrayUtil,
|
|
1747
1740
|
v as AudioPlayer,
|
|
1748
1741
|
N as BrowserUtil,
|
|
1749
1742
|
P as CanvasDrawer,
|
|
@@ -1765,10 +1758,10 @@ export {
|
|
|
1765
1758
|
m as MathUtil,
|
|
1766
1759
|
_ as MeasureMode,
|
|
1767
1760
|
T as ObjectState,
|
|
1768
|
-
|
|
1761
|
+
K as OptimizeUtil,
|
|
1769
1762
|
w as StoreUtil,
|
|
1770
|
-
|
|
1763
|
+
j as StringUtil,
|
|
1771
1764
|
Y as UrlUtil,
|
|
1772
1765
|
y as Util,
|
|
1773
|
-
|
|
1766
|
+
k as WebSocketClient
|
|
1774
1767
|
};
|
package/dist/gis-common.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,m){typeof exports=="object"&&typeof module<"u"?m(exports):typeof define=="function"&&define.amd?define(["exports"],m):(h=typeof globalThis<"u"?globalThis:h||self,m(h["gis-common"]={}))})(this,function(h){"use strict";var K=Object.defineProperty;var Y=(h,m,M)=>m in h?K(h,m,{enumerable:!0,configurable:!0,writable:!0,value:M}):h[m]=M;var p=(h,m,M)=>Y(h,typeof m!="symbol"?m+"":m,M);const m={MAP_RENDER:"mapRender",MAP_READY:"mapReady",MOUSE_CLICK:"click",MOUSE_DOUBLE_CLICK:"dblclick",MOUSE_MOVE:"mousemove",MOUSE_IN:"mousein",MOUSE_OUT:"mouseout",MOUSE_RIGHT_CLICK:"mouseRightClick",KEY_DOWN:"keyDown",KEY_UP:"keyUp",DRAW_ACTIVE:"drawActive",DRAW_MOVE:"drawMove",DRAW_COMPLETE:"drawComplete",MQTT_CONNECT:"mqttConnect",MQTT_ERROR:"mqttError",MQTT_MESSAGE:"mqttMessage",MQTT_CLOSE:"mqttClose",WEB_SOCKET_CONNECT:"webSocketConnect",WEB_SOCKET_ERROR:"webSocketError",WEB_SOCKET_MESSAGE:"webSocketMessage",WEB_SOCKET_CLOSE:"webSocketClose"},M={LOGIN_EXPIRED:"登录信息过期,请重新登录",CROSS_ERROR:"跨域访问",UNEXIST_RESOURCE:"资源不存在",TIMEOUT:"请求超时",INTERNAL_ERROR:"内部错误",NETWORK_ERROR:"请求失败,请检查网络是否已连接",PROCESS_FAIL:"处理失败",AUTH_VERIFY_ERROR:"权限验证失败",NO_DATA_FOUND:"未找到数据",DUPLICATE_INSTANCE:"实例为单例模式,不允许重复构建",COORDINATE_ERROR:"坐标验证失败",JSON_PARSE_ERROR:"JSON解析失败,格式有误",JSON_VALUE_ERROR:"JSON无此键",PARAMETER_ERROR:"验证数据类型失败",PARAMETER_ERROR_ARRAY:"格式类型验证失败:必须是数组",PARAMETER_ERROR_STRING:"格式类型验证失败:必须是字符",PARAMETER_ERROR_FUNCTION:"格式类型验证失败:必须是函数",PARAMETER_ERROR_OBJECT:"格式类型验证失败:必须是对象",PARAMETER_ERROR_LACK:"参数缺失",STRING_CHECK_LOSS:"字符缺少关键字"},A={SUPER_MAP_IMAGES:"SuperMapImages",SUPER_MAP_DATA:"SuperMapData",ARC_GIS_MAP_IMAGES:"ArcGisMapImages",ARC_GIS_MAP_DATA:"ArcGisMapData",OSGB_LAYER:"OSGBLayer",S3M_GROUP:"S3MGroup",TERRAIN_LAYER:"TerrainFileLayer"},O={POINT:"point",POLYLINE:"polyline",POLYGON:"polygon",BILLBOARD:"billboard",CYLINDER:"cylinder",ELLIPSOID:"ellipsoid",LABEL:"label",MODEL:"model",WALL:"wall"},x={DISTANCE:"distance",AREA:"area",HEIGHT:"height"},C={ADD:"add",REMOVE:"remove",INIT:"init"};class I{constructor(e){p(this,"audio");this.audio=new Audio,this.audio.src=e}play(){!this.muted&&this.audio.play()}pause(){this.audio.pause()}get muted(){return this.audio.muted}set muted(e){this.audio.muted=e}}const R={getDataType(t){return Object.prototype.toString.call(t).slice(8,-1)},isEmpty(t){if(t==null)return!0;switch(this.getDataType(t)){case"String":return t.trim()==="";case"Array":return!t.length;case"Object":return!Object.keys(t).length;case"Boolean":return!t;default:return!1}},isNotEmpty(t){return!this.isEmpty(t)},json2form(t){const e=new FormData;return Object.keys(t).forEach(n=>{e.append(n,t[n]instanceof Object?JSON.stringify(t[n]):t[n])}),e},generateGuid(){const t=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return t()+t()+t()+t()+t()+t()+t()+t()},decodeDict(...t){let e="";if(t.length>1){const n=t.slice(1,t.length%2===0?t.length-1:t.length);for(let s=0;s<n.length;s=s+2){const r=n[s];t[0]===r&&(e=n[s+1])}!e&&t.length%2===0&&(e=t[t.length-1])}else e=t[0];return e},extend(t,...e){let n,s,r,i;for(s=0,r=e.length;s<r;s++){i=e[s];for(n in i)t[n]=i[n]}return t},convertToTree2(t,e="id",n="parentId",s="children"){const r=[];function i(a){const o=t.filter(c=>c[n]===a[e]).map(c=>(r.some(l=>l[e]===c[e])||i(c),c));o.length>0&&(a[s]=o)}return t.forEach(a=>{t.some(o=>o[n]===a[e])||(i(a),r.push(a))}),r},asyncLoadScript(t){return new Promise((e,n)=>{try{const s=document.createElement("script");s.type="text/javascript",s.src=t,"readyState"in s?s.onreadystatechange=function(){(s.readyState==="complete"||s.readyState==="loaded")&&e(s)}:(s.onload=function(){e(s)},s.onerror=function(){n(new Error("Script failed to load for URL: "+t))}),document.body.appendChild(s)}catch(s){n(s)}})},loadStyle(t){t.forEach(e=>{const n=document.createElement("link");n.href=e,n.rel="stylesheet",n.type="text/css",n.onerror=function(){console.error(`Style loading failed for URL: ${e}`)},document.head.appendChild(n)})},template(t,e){const n=/\{ *([\w_-]+) *\}/g;return t.replace(n,(s,r)=>{const i=e[r];if(i===void 0)throw new Error(`${M.JSON_VALUE_ERROR}: ${s}`);return typeof i=="function"?i(e):i})},deleteEmptyProperty(t){return Object.fromEntries(Object.keys(t).filter(e=>!this.isEmpty(t[e])).map(e=>[e,t[e]]))},deepAssign(t,...e){(typeof t!="object"||t===null)&&(t={});for(const n of e)if(typeof n=="object"&&n!==null)for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(typeof n[s]=="object"&&n[s]!==null?(t[s]||(t[s]=Array.isArray(n[s])?[]:{}),this.deepAssign(t[s],n[s])):t[s]=n[s]);return t},handleCopyValue(t){if(navigator.clipboard&&window.isSecureContext)return navigator.clipboard.writeText(t);{const e=document.createElement("textarea");return e.style.position="fixed",e.style.top=e.style.left="-100vh",e.style.opacity="0",e.value=t,document.body.appendChild(e),e.focus(),e.select(),new Promise((n,s)=>{try{document.execCommand("copy"),n()}catch{s(new Error("copy failed"))}finally{e.remove()}})}},isArray(t){return Array.isArray(t)},isObject(t){return Object.prototype.toString.call(t).indexOf("Object")>-1},isNil(t){return typeof t>"u"||t===null}},y={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,randInt(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat(t,e){return t+Math.random()*(e-t)},degreesToRadians(t){return t*this.DEG2RAD},toRadians(t){return t*this.DEG2RAD},radiansToDegrees(t){return t*this.RAD2DEG},toDegrees(t){return t*this.RAD2DEG},formatFloat(t,e=2){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)}};class T{constructor(e){R.getDataType(e)==="String"&&(e=document.querySelector("#"+e)),this.ctx=e.getContext("2d")}drawLine(e,n,s,r,i={}){this.cxt.beginPath();const a=i.width||1,o=i.color||"#000";this.cxt.lineWidth=a,this.cxt.fillStyle=o,this.cxt.moveTo(e,n),this.cxt.lineTo(s,r),this.cxt.closePath(),this.cxt.fill()}drawArc(e,n,s,r,i,a,o,c){o?(this.cxt.fillStyle=c,this.cxt.beginPath(),this.cxt.arc(e,n,s,y.degreesToRadians(r),y.degreesToRadians(i),a),this.cxt.closePath(),this.cxt.fill()):(this.cxt.strokeStyle=c,this.cxt.beginPath(),this.cxt.arc(e,n,s,y.degreesToRadians(r),y.degreesToRadians(i),a),this.cxt.stroke())}}class _{constructor(e=1){this.magnification=e}_getSystem(){var e=navigator.userAgent.toLowerCase();if(e.indexOf("windows")>=0)return!0}_addHandler(e,n,s){e.addEventListener?e.addEventListener(n,s,!1):e.attachEvent?e.attachEvent("on"+n,s):e["on"+n]=s}_correct(){let e=window.innerWidth;if(typeof e!="number"&&(document.compatMode=="CSS1Compat"?e=document.documentElement.clientWidth:e=document.body.clientWidth),e<=750){const s=document.documentElement.clientWidth/e;document.documentElement.style.fontSize=this.magnification*75*Math.min(s,2)+"px"}else if(e>750&&e<=1200){const s=document.documentElement.clientWidth/e;document.documentElement.style.fontSize=this.magnification*85*Math.min(s,2)+"px"}else{const s=document.documentElement.clientWidth/1920;document.documentElement.style.fontSize=this.magnification*100*Math.min(s,2)+"px"}}_watch(){let e=this;e._addHandler(window,"resize",function(){e._correct()})}init(){let e=this;e._getSystem()&&(e._correct(),e._watch())}}class D{constructor(){p(this,"_listeners");p(this,"_mutex",{});p(this,"_context")}addEventListener(e,n,s,r=!1){this._listeners===void 0&&(this._listeners={}),this._context=s;const i=this._mutex,a=this._listeners;return a[e]===void 0&&(a[e]=[]),a[e].indexOf(n)===-1&&(r&&(i[e]=n),a[e].push(n)),this}hasEventListener(e,n){if(this._listeners===null||this._listeners===void 0)return!1;const s=this._listeners;return s[e]!==void 0&&s[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const r=this._listeners[e];if(this._mutex[e]===n&&(this._mutex[e]=null),r!==void 0){const i=r.map(a=>a.toString()).indexOf(n.toString());i!==-1&&r.splice(i,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const s=this._listeners[e.type];if(s!==void 0){e.target=this;const r=s.slice(0);if(this._mutex[e.type]!==void 0){const i=r.find(a=>a===this._mutex[e.type]);if(i){i.call(this._context||this,e);return}}for(let i=0,a=r.length;i<a;i++){const o=r[i];typeof o=="function"&&o.call(this._context||this,e)}}}removeAllListener(){this._mutex={};for(const e in this._listeners)this._listeners[e]=[]}}class w extends Map{isEmpty(){return this.size===0}_values(){return Array.from(this.values())}_keys(){return Array.from(this.keys())}_entries(){return Array.from(this.entries())}fromEntries(){}}w.prototype.fromEntries=function(t=[]){const e=new w;return t.forEach(n=>{Array.isArray(n)&&n.length===2&&e.set(n[0],n[1])}),e};class v extends D{constructor(n="ws://127.0.0.1:10088"){super();p(this,"maxCheckTimes",10);p(this,"url");p(this,"checkTimes",0);p(this,"connectStatus",!1);p(this,"client",null);this.maxCheckTimes=10,this.url=n,this.checkTimes=0,this.connect(),this.connCheckStatus(this.maxCheckTimes)}connect(){if(this.disconnect(),this.url)try{if(console.info("创建ws连接>>>"+this.url),this.client=new WebSocket(this.url),this.client){const n=this;this.client.onopen=function(s){n.dispatchEvent({type:m.WEB_SOCKET_CONNECT,message:s})},this.client.onmessage=function(s){n.connectStatus=!0,n.dispatchEvent({type:m.WEB_SOCKET_MESSAGE,message:s})},this.client.onclose=function(s){n.dispatchEvent({type:m.WEB_SOCKET_CLOSE,message:s})},this.checkTimes===this.maxCheckTimes&&(this.client.onerror=function(s){n.dispatchEvent({type:m.WEB_SOCKET_ERROR,message:s})})}}catch(n){console.error("创建ws连接失败"+this.url+":"+n)}}disconnect(){if(this.client)try{console.log("ws断开连接"+this.url),this.client.close(),this.client=null}catch{this.client=null}}connCheckStatus(n){this.checkTimes>n||setTimeout(()=>{this.checkTimes++,this.client&&this.client.readyState!==0&&this.client.readyState!==1&&this.connect(),this.connCheckStatus(n)},2e3)}send(n){return this.client&&this.client.readyState===1?(this.client.send(n),!0):(console.error(this.url+"消息发送失败:"+n),!1)}heartbeat(){setTimeout(()=>{this.client&&this.client.readyState===1&&this.send("HeartBeat"),console.log("HeartBeat,"+this.url),setTimeout(this.heartbeat,3e4)},1e3)}}Array.prototype.groupBy=function(t){var e={};return this.forEach(function(n){var s=JSON.stringify(t(n));e[s]=e[s]||[],e[s].push(n)}),Object.keys(e).map(n=>e[n])},Array.prototype.distinct=function(t=e=>e){const e=[],n={};return this.forEach(s=>{const r=t(s),i=String(r);n[i]||(n[i]=!0,e.push(s))}),e},Array.prototype.max=function(){return Math.max.apply({},this)},Array.prototype.min=function(){return Math.min.apply({},this)},Array.prototype.sum=function(){return this.length>0?this.reduce((t=0,e=0)=>t+e):0},Array.prototype.avg=function(){return this.length?this.sum()/this.length:0},Array.prototype.desc=function(t=e=>e){return this.sort((e,n)=>t(n)-t(e))},Array.prototype.asc=function(t=e=>e){return this.sort((e,n)=>t(e)-t(n))},Array.prototype.clear=function(){return this.length=0,this};const P={asArray(t){return R.isEmpty(t)?[]:Array.isArray(t)?t:[t]},generateArray(t){return[...new Array(t).keys()]},union(...t){let e=[];return t.forEach(n=>{Array.isArray(n)&&(e=e.concat(n.filter(s=>!e.includes(s))))}),e},intersection(...t){let e=t[0]||[];return t.forEach(n=>{Array.isArray(n)&&(e=e.filter(s=>n.includes(s)))}),e},unionAll(...t){return[...t].flat().filter(e=>!!e)},difference(...t){return this.union(...t).filter(e=>!this.intersection(...t).includes(e))}},L={getUrlParams(t=window.location.href,e=!0){const n=/([^&=]+)=([\w\W]*?)(&|$|#)/g,{search:s,hash:r}=new URL(t),i=[s,r];let a={};for(let o=0;o<i.length;o++){const c=i[o];if(c){const u=c.replace(/#|\//g,"").split("?");if(u.length>1)for(let d=1;d<u.length;d++){let f;for(;f=n.exec(u[d]);)a[f[1]]=e?decodeURIComponent(f[2]):f[2]}}}return a},getExplorer(){var t=window.navigator.userAgent;return t.indexOf("MSIE")>=0||/Trident\//.test(t)?"IE":t.indexOf("Firefox")>=0?"Firefox":t.indexOf("Chrome")>=0?"Chrome":t.indexOf("Opera")>=0?"Opera":t.indexOf("Safari")>=0&&t.indexOf("Chrome")===-1?"Safari":"Unknown"},detectOS(){let t="";const e=navigator.userAgent.indexOf("Windows",0)!=-1?1:0,n=navigator.userAgent.indexOf("mac",0)!=-1?1:0,s=navigator.userAgent.indexOf("Linux",0)!=-1?1:0,r=navigator.userAgent.indexOf("X11",0)!=-1?1:0;return e?t="MS Windows":n?t="Apple mac":s?t="Linux":r&&(t="Unix"),t},switchFullScreen(t){if(t){const e=document.documentElement;e.requestFullscreen?e.requestFullscreen():"msRequestFullscreen"in e?e.msRequestFullscreen():"mozRequestFullScreen"in e?e.mozRequestFullScreen():"webkitRequestFullscreen"in e&&e.webkitRequestFullscreen()}else document.exitFullscreen?document.exitFullscreen():"msExitFullscreen"in document?document.msExitFullscreen():"mozCancelFullScreen"in document?document.mozCancelFullScreen():"webkitExitFullscreen"in document&&document.webkitExitFullscreen()},refreshScale(){const t=document.documentElement.clientWidth||0,e=document.documentElement.clientHeight||0,n=document.getElementById("app");if(!n)return;const s=n.style,r=t/e,i=16/9;let a=t/1920;r>i&&(a=e/1080),s.transformOrigin="left top",s.transform=`scale(${a}) translateX(-49.99%)`,s.width=`${t/a}px`},getHtmlFontSize(){const t=document.documentElement.clientWidth||document.body.clientWidth,e=document.querySelector("html");e&&(e.style.fontSize=t/192+"px")}},U={set:function(t,e,n=30){var s=new Date;s.setTime(s.getTime()+n*24*60*60*1e3),document.cookie=t+"="+escape(e)+";expires="+s.toUTCString()},remove:function(t){var e=new Date;e.setTime(e.getTime()-1);var n=this.get(t);n!=null&&(document.cookie=t+"="+n+";expires="+e.toUTCString())},get:function(t){var e=document.cookie.match(new RegExp("(^| )"+t+"=([^;]*)(;|$)"));return e!=null?e[2]:""}},k={PI:3.141592653589793,XPI:3.141592653589793*3e3/180,delta(t,e){const s=.006693421622965943;let r=this.transformLat(e-105,t-35),i=this.transformLon(e-105,t-35);const a=t/180*this.PI;let o=Math.sin(a);o=1-s*o*o;const c=Math.sqrt(o);return r=r*180/(6378245*(1-s)/(o*c)*this.PI),i=i*180/(6378245/c*Math.cos(a)*this.PI),{lat:r,lng:i}},gcjEncrypt(t,e){if(this.outOfChina(t,e))return{lat:t,lng:e};const n=this.delta(t,e);return{lat:t+n.lat,lng:e+n.lng}},gcjDecrypt(t,e){if(this.outOfChina(t,e))return{lat:t,lng:e};const n=this.delta(t,e);return{lat:t-n.lat,lng:e-n.lng}},gcjDecryptExact(t,e){let r=.01,i=.01,a=t-r,o=e-i,c=t+r,l=e+i,u=0,d=0,f=0;for(;;){u=(a+c)/2,d=(o+l)/2;const E=this.gcjEncrypt(u,d);if(r=E.lat-t,i=E.lng-e,Math.abs(r)<1e-9&&Math.abs(i)<1e-9||(r>0?c=u:a=u,i>0?l=d:o=d,++f>1e4))break}return{lat:u,lng:d}},bdEncrypt(t,e){const n=e,s=t,r=Math.sqrt(n*n+s*s)+2e-5*Math.sin(s*this.XPI),i=Math.atan2(s,n)+3e-6*Math.cos(n*this.XPI),a=r*Math.cos(i)+.0065;return{lat:r*Math.sin(i)+.006,lng:a}},bdDecrypt(t,e){const n=e-.0065,s=t-.006,r=Math.sqrt(n*n+s*s)-2e-5*Math.sin(s*this.XPI),i=Math.atan2(s,n)-3e-6*Math.cos(n*this.XPI),a=r*Math.cos(i);return{lat:r*Math.sin(i),lng:a}},mercatorEncrypt(t,e){const n=e*2003750834e-2/180;let s=Math.log(Math.tan((90+t)*this.PI/360))/(this.PI/180);return s=s*2003750834e-2/180,{lat:s,lng:n}},mercatorDecrypt(t,e){const n=e/2003750834e-2*180;let s=t/2003750834e-2*180;return s=180/this.PI*(2*Math.atan(Math.exp(s*this.PI/180))-this.PI/2),{lat:s,lng:n}},transformLat(t,e){let n=-100+2*t+3*e+.2*e*e+.1*t*e+.2*Math.sqrt(Math.abs(t));return n+=(20*Math.sin(6*t*this.PI)+20*Math.sin(2*t*this.PI))*2/3,n+=(20*Math.sin(e*this.PI)+40*Math.sin(e/3*this.PI))*2/3,n+=(160*Math.sin(e/12*this.PI)+320*Math.sin(e*this.PI/30))*2/3,n},transformLon(t,e){let n=300+t+2*e+.1*t*t+.1*t*e+.1*Math.sqrt(Math.abs(t));return n+=(20*Math.sin(6*t*this.PI)+20*Math.sin(2*t*this.PI))*2/3,n+=(20*Math.sin(t*this.PI)+40*Math.sin(t/3*this.PI))*2/3,n+=(150*Math.sin(t/12*this.PI)+300*Math.sin(t/30*this.PI))*2/3,n},randomCoordinate(t,e,n,s){return{lat:Math.random()*(s-e)+e,lng:Math.random()*(n-t)+t}}},N={rgb2hex(t){var e="#"+(16777216+(t[0]<<16)+(t[1]<<8)+t[2]).toString(16).slice(1);return e},rgbToRgba(t){const e=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(t);return e?`rgba(${e[1]}, 1)`:t},hexToRgba(t){const e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,n=t.replace(e,(c,l,u,d)=>l+l+u+u+d+d),r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);if(!r)return t;const i=parseInt(r[1],16),a=parseInt(r[2],16),o=parseInt(r[3],16);return`rgba(${i},${a},${o},1)`},hslToRgba(t){if(!t)return null;const e=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);if(!e)return null;const n=parseInt(e[1],10)/360,s=parseInt(e[2],10)/100,r=parseInt(e[3],10)/100,i=e[4]?parseFloat(e[4]):1;function a(u,d,f){return f<0&&(f+=1),f>1&&(f-=1),f<1/6?u+(d-u)*6*f:f<1/2?d:f<2/3?u+(d-u)*(2/3-f)*6:u}let o,c,l;if(s===0)o=c=l=r;else{const u=r<.5?r*(1+s):r+s-r*s,d=2*r-u;o=a(d,u,n+1/3),c=a(d,u,n),l=a(d,u,n-1/3)}return`rgba(${Math.round(o*255)},${Math.round(c*255)},${Math.round(l*255)},${i})`},isHex(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},isRgb(t){return/^rgb/.test(t)},isHsl(t){return/^hsl/.test(t)},isColor(t){return this.isHex(t)||this.isRgb(t)||this.isHsl(t)},colorToRgb(t){if(this.isRgb(t))return this.rgbToRgba(t);if(this.isHex(t))return this.hexToRgba(t);if(this.isHsl(t))return this.hslToRgba(t)}};Date.prototype.format=function(t){const e={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours()%12,"H+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(const n in e)if(new RegExp("("+n+")").test(t)){const s=n.length===1?1:Number(n.slice(1));t=t.replace(RegExp.$1,("00"+e[n]).substr((""+e[n]).length+s-(e[n]+"").length))}return t},Date.prototype.addDate=function(t,e){const n=new Date(this);switch(t){case"y":n.setFullYear(this.getFullYear()+e);break;case"q":n.setMonth(this.getMonth()+e*3);break;case"M":n.setMonth(this.getMonth()+e);break;case"w":n.setDate(this.getDate()+e*7);break;case"d":n.setDate(this.getDate()+e);break;case"h":n.setHours(this.getHours()+e);break;case"m":n.setMinutes(this.getMinutes()+e);break;case"s":n.setSeconds(this.getSeconds()+e);break;default:n.setDate(this.getDate()+e);break}return n};const F={lastMonthDate:new Date(new Date().getFullYear(),new Date().getMonth()-1,1),thisMonthDate:new Date(new Date().getFullYear(),new Date().getMonth(),1),nextMonthDate:new Date(new Date().getFullYear(),new Date().getMonth()+1,1),lastWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1-7-new Date().getDay()),thisWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1-new Date().getDay()),nextWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1+7-new Date().getDay()),lastDayDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-1),thisDayDate:new Date(new Date().setHours(0,0,0,0)),nextDayDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1),parseDate(t){if(typeof t=="string"){var e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);if(e&&e.length>3)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]));if(e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/),e&&e.length>6)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]),parseInt(e[4]),parseInt(e[5]),parseInt(e[6]));if(e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/),e&&e.length>7)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]),parseInt(e[4]),parseInt(e[5]),parseInt(e[6]),parseInt(e[7]))}return null},formatDateInterval(t,e){const n=new Date(t),r=new Date(e).getTime()-n.getTime(),i=Math.floor(r/(24*3600*1e3)),a=r%(24*3600*1e3),o=Math.floor(a/(3600*1e3)),c=a%(3600*1e3),l=Math.floor(c/(60*1e3)),u=c%(60*1e3),d=Math.round(u/1e3);let f="";return i>0&&(f+=i+"天"),o>0&&(f+=o+"时"),l>0&&(f+=l+"分"),d>0&&(f+=d+"秒"),i===0&&o===0&&l===0&&d===0&&(f="少于1秒"),f},formatterCounter(t){const e=function(o){return(o>10?"":"0")+(o||0)},n=e(Math.floor(t/3600)),s=t%3600,r=e(Math.floor(s/60)),i=s%60,a=e(Math.round(i));return`${n}:${r}:${a}`},sleep(t){}};function $(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function b(t){return $(t).split(/\s+/)}const B={getStyle(t,e){var s;let n=t.style[e];if(!n||n==="auto"){const r=(s=document.defaultView)==null?void 0:s.getComputedStyle(t,null);n=r?r[e]:null,n==="auto"&&(n=null)}return n},create(t,e,n){const s=document.createElement(t);return s.className=e||"",n&&n.appendChild(s),s},remove(t){const e=t.parentNode;e&&e.removeChild(t)},empty(t){for(;t.firstChild;)t.removeChild(t.firstChild)},toFront(t){const e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)},toBack(t){const e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)},getClass(t){return((t==null?void 0:t.host)||t).className.toString()},hasClass(t,e){var s;if((s=t.classList)!=null&&s.contains(e))return!0;const n=this.getClass(t);return n.length>0&&new RegExp(`(^|\\s)${e}(\\s|$)`).test(n)},addClass(t,e){if(t.classList!==void 0){const n=b(e);for(let s=0,r=n.length;s<r;s++)t.classList.add(n[s])}else if(!this.hasClass(t,e)){const n=this.getClass(t);this.setClass(t,(n?n+" ":"")+e)}},removeClass(t,e){t.classList!==void 0?b(e).forEach(s=>t.classList.remove(s)):this.setClass(t,(" "+this.getClass(t)+" ").replace(" "+e+" "," ").trim())},setClass(t,e){"classList"in t&&(t.classList.value="",e.split(" ").forEach(n=>t.classList.add(n)))},parseFromString(t){return new DOMParser().parseFromString(t,"text/xml").children[0]}},W={toRadian:Math.PI/180,R:6371393,isLnglat(t,e){return!isNaN(t)&&!isNaN(e)&&+e>-90&&+e<90&&+t>-180&&+t<180},outOfChina({lng:t,lat:e}){return t<72.004||t>137.8347||e<.8293||e>55.8271},distance(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},distanceByPoints(t,e){const{lng:n,lat:s}=t,{lng:r,lat:i}=e,a=6371e3,o=Math.cos(s*Math.PI/180)*Math.cos(i*Math.PI/180)*Math.cos((n-r)*Math.PI/180),c=Math.sin(s*Math.PI/180)*Math.sin(i*Math.PI/180);let l=o+c;return l>1&&(l=1),l<-1&&(l=-1),Math.acos(l)*a},formatLnglat(t,e){let n="";function s(r){const i=Math.floor(r),a=Math.floor((r-i)*60),o=(r-i)*3600-a*60;return`${i}°${a}′${o.toFixed(2)}″`}return this.isLnglat(t,e)?n=s(t)+","+s(e):isNaN(t)?isNaN(e)||(n=s(e)):n=s(t),n},transformLnglat(t,e){function n(s){let i=/[sw]/i.test(s)?-1:1;const a=s.match(/[\d.]+/g)||[];let o=0;for(let c=0;c<a.length;c++)o+=parseFloat(a[c])/i,i*=60;return o}if(t&&e)return{lng:n(t),lat:n(e)}},rayCasting(t,e){for(var n=t.x,s=t.y,r=!1,i=0,a=e.length,o=a-1;i<a;o=i,i++){var c=e[i].x,l=e[i].y,u=e[o].x,d=e[o].y;if(c===n&&l===s||u===n&&d===s)return"on";if(l<s&&d>=s||l>=s&&d<s){var f=c+(s-l)*(u-c)/(d-l);if(f===n)return"on";f>n&&(r=!r)}}return r?"in":"out"},rotatePoint(t,e,n){const s=(t.x-e.x)*Math.cos(Math.PI/180*-n)-(t.y-e.y)*Math.sin(Math.PI/180*-n)+e.x,r=(t.x-e.x)*Math.sin(Math.PI/180*-n)+(t.y-e.y)*Math.cos(Math.PI/180*-n)+e.y;return{x:s,y:r}},calcBearAndDis(t,e){const{x:n,y:s}=t,{x:r,y:i}=e,a=r-n,o=i-s,c=Math.sqrt(a*a+o*o);return{angle:(Math.atan2(o,a)*(180/Math.PI)+360+90)%360,distance:c}},calcBearAndDisByPoints(t,e){var n=t.lat*1,s=t.lng*1,r=e.lat*1,i=e.lng*1,a=Math.sin((i-s)*this.toRadian)*Math.cos(r*this.toRadian),o=Math.cos(n*this.toRadian)*Math.sin(r*this.toRadian)-Math.sin(n*this.toRadian)*Math.cos(r*this.toRadian)*Math.cos((i-s)*this.toRadian),c=Math.atan2(a,o)*(180/Math.PI),l=(r-n)*this.toRadian,u=(i-s)*this.toRadian,d=Math.sin(l/2)*Math.sin(l/2)+Math.cos(n*this.toRadian)*Math.cos(r*this.toRadian)*Math.sin(u/2)*Math.sin(u/2),f=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d)),E=this.R*f;return{angle:c,distance:E}},distanceToSegment(t,e,n){const s=t.x,r=t.y,i=e.x,a=e.y,o=n.x,c=n.y,l=(o-i)*(s-i)+(c-a)*(r-a);if(l<=0)return Math.sqrt((s-i)*(s-i)+(r-a)*(r-a));const u=(o-i)*(o-i)+(c-a)*(c-a);if(l>=u)return Math.sqrt((s-o)*(s-o)+(r-c)*(r-c));const d=l/u,f=i+(o-i)*d,E=a+(c-a)*d;return Math.sqrt((s-f)*(s-f)+(r-E)*(r-E))},calcPointByBearAndDis(t,e,n){const s=y.toRadians(t.lat*1),r=y.toRadians(t.lng*1),i=n/this.R;e=y.toRadians(e);const a=Math.asin(Math.sin(s)*Math.cos(i)+Math.cos(s)*Math.sin(i)*Math.cos(e)),o=r+Math.atan2(Math.sin(e)*Math.sin(i)*Math.cos(s),Math.cos(i)-Math.sin(s)*Math.sin(a));return{lat:y.toDegrees(a),lng:y.toDegrees(o)}},mercatorTolonlat(t,e){const n=t/2003750834e-2*180;var s=e/2003750834e-2*180;const r=180/Math.PI*(2*Math.atan(Math.exp(s*Math.PI/180))-Math.PI/2);return{lng:n,lat:r}},lonlatToMercator(t,e){var n=6378137;const s=t*Math.PI/180*n;var r=e*Math.PI/180;const i=n/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)));return{x:s,y:i}}},q={deepClone(t){return structuredClone(t)},isEqual(t,e){return JSON.stringify(t)===JSON.stringify(e)}},G={convertBase64ToBlob(t){const e=t.split(",")[0].split(":")[1].split(";")[0],n=atob(t.split(",")[1]),s=new Array(n.length);for(let a=0;a<n.length;a++)s[a]=n.charCodeAt(a);const r=new Uint8Array(s);return new Blob([r],{type:e})},convertUrlToBase64(t,e,n){return new Promise((s,r)=>{var i=new Image;i.crossOrigin="Anonymous",i.src=t,i.onload=function(){var a=document.createElement("canvas");a.width=e||i.width,a.height=n||i.height;var o=a.getContext("2d");if(!o){r(new Error("Failed to get canvas context"));return}o.drawImage(i,0,0,i.width,i.height);var c=i.src.substring(i.src.lastIndexOf(".")+1).toLowerCase(),l=a.toDataURL("image/"+c),u={dataURL:l,type:"image/"+c,ext:c};s(u)},i.onerror=r})},convertBase64ToFile(t,e){const n=t.split(","),s=n[0].match(/:(.*?);/),r=s?s[1]:"image/png",i=atob(n[1]),a=new Uint8Array(i.length);for(let c=0;c<i.length;c++)a[c]=i.charCodeAt(c);return new File([a],e,{type:r})},downloadFromFile(t,e){if(typeof t=="object")if(t instanceof Blob)t=URL.createObjectURL(t);else{const s=JSON.stringify(t),r=new Blob([s],{type:"text/json"});t=window.URL.createObjectURL(r)}else if(typeof t=="string"&&t.indexOf("http")===-1){const s=new Blob([t],{type:"text/json"});t=window.URL.createObjectURL(s)}var n=document.createElement("a");n.href=t,n.download=e||"",n.click(),window.URL.revokeObjectURL(n.href)}},H={debounce(t,e,n=!0){let s=null,r,i,a;const o=()=>{const c=Date.now()-i;c<e&&c>0?s=setTimeout(o,e-c):(s=null,n||(a=t.apply(this,r)))};return(...c)=>{i=Date.now();const l=n&&!s;return s||(s=setTimeout(o,e)),l&&(a=t.apply(this,c),s||(c=null)),a}},throttle(t,e,n=1){let s=0,r=null;return(...i)=>{if(n===1){const a=Date.now();a-s>=e&&(t.apply(this,i),s=a)}else n===2&&(r||(r=setTimeout(()=>{r=null,t.apply(this,i)},e)))}},memoize(t){const e=new Map;return(...n)=>{const s=JSON.stringify(n);if(e.has(s))return e.get(s);{const r=t.apply(this,n);return e.set(s,r),r}}},recurve(t,e=500,n=5e3){let s=0;setTimeout(()=>{s++,s<Math.floor(n/e)&&(t.call(this),setTimeout(this.recurve.bind(this,t,e,n),e))},e)}},z={checkStr(t,e){switch(e){case"phone":return/^1[3|4|5|6|7|8|9][0-9]{9}$/.test(t);case"tel":return/^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(t);case"card":return/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(t);case"pwd":return/^[a-zA-Z]\w{5,17}$/.test(t);case"postal":return/[1-9]\d{5}(?!\d)/.test(t);case"QQ":return/^[1-9][0-9]{4,9}$/.test(t);case"email":return/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(t);case"money":return/^\d*(?:\.\d{0,2})?$/.test(t);case"URL":return/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(t);case"IP":return/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(t);case"date":return/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(t)||/^(\d{4})\-(\d{2})\-(\d{2})$/.test(t);case"number":return/^[0-9]$/.test(t);case"english":return/^[a-zA-Z]+$/.test(t);case"chinese":return/^[\u4E00-\u9FA5]+$/.test(t);case"lower":return/^[a-z]+$/.test(t);case"upper":return/^[A-Z]+$/.test(t);case"HTML":return/<("[^"]*"|'[^']*'|[^'">])*>/.test(t);default:return!0}},changeCase(t,e){switch(e=e||4,e){case 1:return t.replace(/\b\w+\b/g,function(n){return n.substring(0,1).toUpperCase()+n.substring(1).toLowerCase()});case 2:return t.replace(/\b\w+\b/g,function(n){return n.substring(0,1).toLowerCase()+n.substring(1).toUpperCase()});case 3:return t.split("").map(function(n){return/[a-z]/.test(n)?n.toUpperCase():n.toLowerCase()}).join("");case 4:return t.toUpperCase();case 5:return t.toLowerCase();default:return t}},tag(t,...e){return e=e.map(n=>{switch(R.getDataType(n)){case"Object":return n||"{}";case"Array":return n||"[]";default:return n||""}}),t.reduce((n,s,r)=>`${n}${e[r-1]}${s}`)},getByteLength(t){return t.replace(/[\u0391-\uFFE5]/g,"aa").length},subStringByte(t,e,n){var s=/[^\x00-\xff]/g;if(t.replace(s,"mm").length<=n)return t;for(var r=Math.floor(n/2),i=r;i<t.length;i++){let a=t.substring(e,i);if(a.replace(s,"mm").length>=n)return a}return t},asString(t){if(R.isEmpty(t))return"";switch(R.getDataType(t)){case"Object":case"Array":return JSON.stringify(t);default:return t}}},g=class g{static set(e,n=null,s=null){var r=this._getPrefixedKey(e,s);try{localStorage.setItem(r,JSON.stringify({data:n}))}catch{console&&console.warn("StoreUtil didn't successfully save the '{"+e+": "+n+"}' pair, because the localStorage is full.")}}static get(e,n,s){var r=this._getPrefixedKey(e,s),i;try{i=JSON.parse(localStorage.getItem(r)||"")}catch{localStorage[r]?i={data:localStorage.getItem(r)}:i=null}if(i){if(typeof i=="object"&&typeof i.data<"u")return i.data}else return n}static keys(){const e=[];var n=Object.keys(localStorage);return g.prefix.length===0?n:(n.forEach(function(s){s.indexOf(g.prefix)!==-1&&e.push(s.replace(g.prefix,""))}),e)}static getAll(e){var n=g.keys();if(e){const s=[];return n.forEach(r=>{if(e.includes(r)){const i={};i[r]=g.get(r,null,null),s.push(i)}}),s}return n.map(s=>g.get(s,null,null))}static remove(e,n){var s=this._getPrefixedKey(e,n);localStorage.removeItem(s)}static clear(e){g.prefix.length?this.keys().forEach(n=>{localStorage.removeItem(this._getPrefixedKey(n,e))}):localStorage.clear()}};p(g,"prefix",""),p(g,"_getPrefixedKey",function(e,n){return n=n||{},n.noPrefix?e:g.prefix+e});let S=g;const j={json2Query(t){var e=[];for(var n in t)if(t.hasOwnProperty(n)){var s=n,r=t[n];e.push(encodeURIComponent(s)+"="+encodeURIComponent(r))}var i=e.join("&");return i},query2Json(t){t.startsWith("http")||(t="http://dummy?"+t);const e=new URL(t),n=new URLSearchParams(e.search),s={};for(let r in n)s[r]=decodeURIComponent(n[r]);return s}};h.ArrayUtil=P,h.AudioPlayer=I,h.BrowserUtil=L,h.CanvasDrawer=T,h.ColorUtil=N,h.Cookie=U,h.CoordsUtil=k,h.DateUtil=F,h.DevicePixelRatio=_,h.DomUtil=B,h.ErrorType=M,h.EventDispatcher=D,h.EventType=m,h.FileUtil=G,h.GeoUtil=W,h.GraphicType=O,h.HashMap=w,h.JsonUtil=q,h.LayerType=A,h.MathUtil=y,h.MeasureMode=x,h.ObjectState=C,h.OptimizeUtil=H,h.StoreUtil=S,h.StringUtil=z,h.UrlUtil=j,h.Util=R,h.WebSocketClient=v,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(h,m){typeof exports=="object"&&typeof module<"u"?m(exports):typeof define=="function"&&define.amd?define(["exports"],m):(h=typeof globalThis<"u"?globalThis:h||self,m(h["gis-common"]={}))})(this,function(h){"use strict";var K=Object.defineProperty;var Y=(h,m,M)=>m in h?K(h,m,{enumerable:!0,configurable:!0,writable:!0,value:M}):h[m]=M;var p=(h,m,M)=>Y(h,typeof m!="symbol"?m+"":m,M);const m={MAP_RENDER:"mapRender",MAP_READY:"mapReady",MOUSE_CLICK:"click",MOUSE_DOUBLE_CLICK:"dblclick",MOUSE_MOVE:"mousemove",MOUSE_IN:"mousein",MOUSE_OUT:"mouseout",MOUSE_RIGHT_CLICK:"mouseRightClick",KEY_DOWN:"keyDown",KEY_UP:"keyUp",DRAW_ACTIVE:"drawActive",DRAW_MOVE:"drawMove",DRAW_COMPLETE:"drawComplete",MQTT_CONNECT:"mqttConnect",MQTT_ERROR:"mqttError",MQTT_MESSAGE:"mqttMessage",MQTT_CLOSE:"mqttClose",WEB_SOCKET_CONNECT:"webSocketConnect",WEB_SOCKET_ERROR:"webSocketError",WEB_SOCKET_MESSAGE:"webSocketMessage",WEB_SOCKET_CLOSE:"webSocketClose"},M={LOGIN_EXPIRED:"登录信息过期,请重新登录",CROSS_ERROR:"跨域访问",UNEXIST_RESOURCE:"资源不存在",TIMEOUT:"请求超时",INTERNAL_ERROR:"内部错误",NETWORK_ERROR:"请求失败,请检查网络是否已连接",PROCESS_FAIL:"处理失败",AUTH_VERIFY_ERROR:"权限验证失败",NO_DATA_FOUND:"未找到数据",DUPLICATE_INSTANCE:"实例为单例模式,不允许重复构建",COORDINATE_ERROR:"坐标验证失败",JSON_PARSE_ERROR:"JSON解析失败,格式有误",JSON_VALUE_ERROR:"JSON无此键",PARAMETER_ERROR:"验证数据类型失败",PARAMETER_ERROR_ARRAY:"格式类型验证失败:必须是数组",PARAMETER_ERROR_STRING:"格式类型验证失败:必须是字符",PARAMETER_ERROR_FUNCTION:"格式类型验证失败:必须是函数",PARAMETER_ERROR_OBJECT:"格式类型验证失败:必须是对象",PARAMETER_ERROR_LACK:"参数缺失",STRING_CHECK_LOSS:"字符缺少关键字"},A={SUPER_MAP_IMAGES:"SuperMapImages",SUPER_MAP_DATA:"SuperMapData",ARC_GIS_MAP_IMAGES:"ArcGisMapImages",ARC_GIS_MAP_DATA:"ArcGisMapData",OSGB_LAYER:"OSGBLayer",S3M_GROUP:"S3MGroup",TERRAIN_LAYER:"TerrainFileLayer"},O={POINT:"point",POLYLINE:"polyline",POLYGON:"polygon",BILLBOARD:"billboard",CYLINDER:"cylinder",ELLIPSOID:"ellipsoid",LABEL:"label",MODEL:"model",WALL:"wall"},x={DISTANCE:"distance",AREA:"area",HEIGHT:"height"},C={ADD:"add",REMOVE:"remove",INIT:"init"};class T{constructor(e){p(this,"audio");this.audio=new Audio,this.audio.src=e}play(){!this.muted&&this.audio.play()}pause(){this.audio.pause()}get muted(){return this.audio.muted}set muted(e){this.audio.muted=e}}const R={getDataType(t){return Object.prototype.toString.call(t).slice(8,-1)},isEmpty(t){if(t==null)return!0;switch(this.getDataType(t)){case"String":return t.trim()==="";case"Array":return!t.length;case"Object":return!Object.keys(t).length;case"Boolean":return!t;default:return!1}},isNotEmpty(t){return!this.isEmpty(t)},json2form(t){const e=new FormData;return Object.keys(t).forEach(n=>{e.append(n,t[n]instanceof Object?JSON.stringify(t[n]):t[n])}),e},generateGuid(){const t=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return t()+t()+t()+t()+t()+t()+t()+t()},decodeDict(...t){let e="";if(t.length>1){const n=t.slice(1,t.length%2===0?t.length-1:t.length);for(let s=0;s<n.length;s=s+2){const r=n[s];t[0]===r&&(e=n[s+1])}!e&&t.length%2===0&&(e=t[t.length-1])}else e=t[0];return e},extend(t,...e){let n,s,r,i;for(s=0,r=e.length;s<r;s++){i=e[s];for(n in i)t[n]=i[n]}return t},convertToTree2(t,e="id",n="parentId",s="children"){const r=[];function i(a){const o=t.filter(c=>c[n]===a[e]).map(c=>(r.some(l=>l[e]===c[e])||i(c),c));o.length>0&&(a[s]=o)}return t.forEach(a=>{t.some(o=>o[n]===a[e])||(i(a),r.push(a))}),r},asyncLoadScript(t){return new Promise((e,n)=>{try{const s=document.createElement("script");s.type="text/javascript",s.src=t,"readyState"in s?s.onreadystatechange=function(){(s.readyState==="complete"||s.readyState==="loaded")&&e(s)}:(s.onload=function(){e(s)},s.onerror=function(){n(new Error("Script failed to load for URL: "+t))}),document.body.appendChild(s)}catch(s){n(s)}})},loadStyle(t){t.forEach(e=>{const n=document.createElement("link");n.href=e,n.rel="stylesheet",n.type="text/css",n.onerror=function(){console.error(`Style loading failed for URL: ${e}`)},document.head.appendChild(n)})},template(t,e){const n=/\{ *([\w_-]+) *\}/g;return t.replace(n,(s,r)=>{const i=e[r];if(i===void 0)throw new Error(`${M.JSON_VALUE_ERROR}: ${s}`);return typeof i=="function"?i(e):i})},deleteEmptyProperty(t){return Object.fromEntries(Object.keys(t).filter(e=>!this.isEmpty(t[e])).map(e=>[e,t[e]]))},deepAssign(t,...e){(typeof t!="object"||t===null)&&(t={});for(const n of e)if(typeof n=="object"&&n!==null)for(const s in n)Object.prototype.hasOwnProperty.call(n,s)&&(typeof n[s]=="object"&&n[s]!==null?(t[s]||(t[s]=Array.isArray(n[s])?[]:{}),this.deepAssign(t[s],n[s])):t[s]=n[s]);return t},handleCopyValue(t){if(navigator.clipboard&&window.isSecureContext)return navigator.clipboard.writeText(t);{const e=document.createElement("textarea");return e.style.position="fixed",e.style.top=e.style.left="-100vh",e.style.opacity="0",e.value=t,document.body.appendChild(e),e.focus(),e.select(),new Promise((n,s)=>{try{document.execCommand("copy"),n()}catch{s(new Error("copy failed"))}finally{e.remove()}})}},isArray(t){return Array.isArray(t)},isObject(t){return Object.prototype.toString.call(t).indexOf("Object")>-1},isNil(t){return typeof t>"u"||t===null}},y={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,randInt(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat(t,e){return t+Math.random()*(e-t)},degreesToRadians(t){return t*this.DEG2RAD},toRadians(t){return t*this.DEG2RAD},radiansToDegrees(t){return t*this.RAD2DEG},toDegrees(t){return t*this.RAD2DEG},formatFloat(t,e=2){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)}};class I{constructor(e){R.getDataType(e)==="String"&&(e=document.querySelector("#"+e)),this.ctx=e.getContext("2d")}drawLine(e,n,s,r,i={}){this.cxt.beginPath();const a=i.width||1,o=i.color||"#000";this.cxt.lineWidth=a,this.cxt.fillStyle=o,this.cxt.moveTo(e,n),this.cxt.lineTo(s,r),this.cxt.closePath(),this.cxt.fill()}drawArc(e,n,s,r,i,a,o,c){o?(this.cxt.fillStyle=c,this.cxt.beginPath(),this.cxt.arc(e,n,s,y.degreesToRadians(r),y.degreesToRadians(i),a),this.cxt.closePath(),this.cxt.fill()):(this.cxt.strokeStyle=c,this.cxt.beginPath(),this.cxt.arc(e,n,s,y.degreesToRadians(r),y.degreesToRadians(i),a),this.cxt.stroke())}}class _{constructor(e=1){this.magnification=e}_getSystem(){var e=navigator.userAgent.toLowerCase();if(e.indexOf("windows")>=0)return!0}_addHandler(e,n,s){e.addEventListener?e.addEventListener(n,s,!1):e.attachEvent?e.attachEvent("on"+n,s):e["on"+n]=s}_correct(){let e=window.innerWidth;if(typeof e!="number"&&(document.compatMode=="CSS1Compat"?e=document.documentElement.clientWidth:e=document.body.clientWidth),e<=750){const s=document.documentElement.clientWidth/e;document.documentElement.style.fontSize=this.magnification*75*Math.min(s,2)+"px"}else if(e>750&&e<=1200){const s=document.documentElement.clientWidth/e;document.documentElement.style.fontSize=this.magnification*85*Math.min(s,2)+"px"}else{const s=document.documentElement.clientWidth/1920;document.documentElement.style.fontSize=this.magnification*100*Math.min(s,2)+"px"}}_watch(){let e=this;e._addHandler(window,"resize",function(){e._correct()})}init(){let e=this;e._getSystem()&&(e._correct(),e._watch())}}class D{constructor(){p(this,"_listeners");p(this,"_mutex",{});p(this,"_context")}addEventListener(e,n,s,r=!1){this._listeners===void 0&&(this._listeners={}),this._context=s;const i=this._mutex,a=this._listeners;return a[e]===void 0&&(a[e]=[]),a[e].indexOf(n)===-1&&(r&&(i[e]=n),a[e].push(n)),this}hasEventListener(e,n){if(this._listeners===null||this._listeners===void 0)return!1;const s=this._listeners;return s[e]!==void 0&&s[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const r=this._listeners[e];if(this._mutex[e]===n&&(this._mutex[e]=null),r!==void 0){const i=r.map(a=>a.toString()).indexOf(n.toString());i!==-1&&r.splice(i,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const s=this._listeners[e.type];if(s!==void 0){e.target=this;const r=s.slice(0);if(this._mutex[e.type]!==void 0){const i=r.find(a=>a===this._mutex[e.type]);if(i){i.call(this._context||this,e);return}}for(let i=0,a=r.length;i<a;i++){const o=r[i];typeof o=="function"&&o.call(this._context||this,e)}}}removeAllListener(){this._mutex={};for(const e in this._listeners)this._listeners[e]=[]}}class w extends Map{isEmpty(){return this.size===0}_values(){return Array.from(this.values())}_keys(){return Array.from(this.keys())}_entries(){return Array.from(this.entries())}fromEntries(){}}w.prototype.fromEntries=function(t=[]){const e=new w;return t.forEach(n=>{Array.isArray(n)&&n.length===2&&e.set(n[0],n[1])}),e};class v extends D{constructor(n="ws://127.0.0.1:10088"){super();p(this,"maxCheckTimes",10);p(this,"url");p(this,"checkTimes",0);p(this,"connectStatus",!1);p(this,"client",null);this.maxCheckTimes=10,this.url=n,this.checkTimes=0,this.connect(),this.connCheckStatus(this.maxCheckTimes)}connect(){if(this.disconnect(),this.url)try{if(console.info("创建ws连接>>>"+this.url),this.client=new WebSocket(this.url),this.client){const n=this;this.client.onopen=function(s){n.dispatchEvent({type:m.WEB_SOCKET_CONNECT,message:s})},this.client.onmessage=function(s){n.connectStatus=!0,n.dispatchEvent({type:m.WEB_SOCKET_MESSAGE,message:s})},this.client.onclose=function(s){n.dispatchEvent({type:m.WEB_SOCKET_CLOSE,message:s})},this.checkTimes===this.maxCheckTimes&&(this.client.onerror=function(s){n.dispatchEvent({type:m.WEB_SOCKET_ERROR,message:s})})}}catch(n){console.error("创建ws连接失败"+this.url+":"+n)}}disconnect(){if(this.client)try{console.log("ws断开连接"+this.url),this.client.close(),this.client=null}catch{this.client=null}}connCheckStatus(n){this.checkTimes>n||setTimeout(()=>{this.checkTimes++,this.client&&this.client.readyState!==0&&this.client.readyState!==1&&this.connect(),this.connCheckStatus(n)},2e3)}send(n){return this.client&&this.client.readyState===1?(this.client.send(n),!0):(console.error(this.url+"消息发送失败:"+n),!1)}heartbeat(){setTimeout(()=>{this.client&&this.client.readyState===1&&this.send("HeartBeat"),console.log("HeartBeat,"+this.url),setTimeout(this.heartbeat,3e4)},1e3)}}Array.prototype.groupBy=function(t){var e={};return this.forEach(function(n){var s=JSON.stringify(t(n));e[s]=e[s]||[],e[s].push(n)}),Object.keys(e).map(n=>e[n])},Array.prototype.distinct=function(t=e=>e){const e=[],n={};return this.forEach(s=>{const r=t(s),i=String(r);n[i]||(n[i]=!0,e.push(s))}),e},Array.prototype.max=function(){return Math.max.apply({},this)},Array.prototype.min=function(){return Math.min.apply({},this)},Array.prototype.sum=function(){return this.length>0?this.reduce((t=0,e=0)=>t+e):0},Array.prototype.avg=function(){return this.length?this.sum()/this.length:0},Array.prototype.desc=function(t=e=>e){return this.sort((e,n)=>t(n)-t(e))},Array.prototype.asc=function(t=e=>e){return this.sort((e,n)=>t(e)-t(n))},Array.prototype.clear=function(){return this.length=0,this};const P={asArray(t){return R.isEmpty(t)?[]:Array.isArray(t)?t:[t]},generateArray(t){return[...new Array(t).keys()]},union(...t){let e=[];return t.forEach(n=>{Array.isArray(n)&&(e=e.concat(n.filter(s=>!e.includes(s))))}),e},intersection(...t){let e=t[0]||[];return t.forEach(n=>{Array.isArray(n)&&(e=e.filter(s=>n.includes(s)))}),e},unionAll(...t){return[...t].flat().filter(e=>!!e)},difference(...t){return this.union(...t).filter(e=>!this.intersection(...t).includes(e))}},L={getExplorer(){var t=window.navigator.userAgent;return t.indexOf("MSIE")>=0||/Trident\//.test(t)?"IE":t.indexOf("Firefox")>=0?"Firefox":t.indexOf("Chrome")>=0?"Chrome":t.indexOf("Opera")>=0?"Opera":t.indexOf("Safari")>=0&&t.indexOf("Chrome")===-1?"Safari":"Unknown"},detectOS(){let t="";const e=navigator.userAgent.indexOf("Windows",0)!=-1?1:0,n=navigator.userAgent.indexOf("mac",0)!=-1?1:0,s=navigator.userAgent.indexOf("Linux",0)!=-1?1:0,r=navigator.userAgent.indexOf("X11",0)!=-1?1:0;return e?t="MS Windows":n?t="Apple mac":s?t="Linux":r&&(t="Unix"),t},switchFullScreen(t){if(t){const e=document.documentElement;e.requestFullscreen?e.requestFullscreen():"msRequestFullscreen"in e?e.msRequestFullscreen():"mozRequestFullScreen"in e?e.mozRequestFullScreen():"webkitRequestFullscreen"in e&&e.webkitRequestFullscreen()}else document.exitFullscreen?document.exitFullscreen():"msExitFullscreen"in document?document.msExitFullscreen():"mozCancelFullScreen"in document?document.mozCancelFullScreen():"webkitExitFullscreen"in document&&document.webkitExitFullscreen()},refreshScale(){const t=document.documentElement.clientWidth||0,e=document.documentElement.clientHeight||0,n=document.getElementById("app");if(!n)return;const s=n.style,r=t/e,i=16/9;let a=t/1920;r>i&&(a=e/1080),s.transformOrigin="left top",s.transform=`scale(${a}) translateX(-49.99%)`,s.width=`${t/a}px`},getHtmlFontSize(){const t=document.documentElement.clientWidth||document.body.clientWidth,e=document.querySelector("html");e&&(e.style.fontSize=t/192+"px")}},U={set:function(t,e,n=30){var s=new Date;s.setTime(s.getTime()+n*24*60*60*1e3),document.cookie=t+"="+escape(e)+";expires="+s.toUTCString()},remove:function(t){var e=new Date;e.setTime(e.getTime()-1);var n=this.get(t);n!=null&&(document.cookie=t+"="+n+";expires="+e.toUTCString())},get:function(t){var e=document.cookie.match(new RegExp("(^| )"+t+"=([^;]*)(;|$)"));return e!=null?e[2]:""}},k={PI:3.141592653589793,XPI:3.141592653589793*3e3/180,delta(t,e){const s=.006693421622965943;let r=this.transformLat(e-105,t-35),i=this.transformLon(e-105,t-35);const a=t/180*this.PI;let o=Math.sin(a);o=1-s*o*o;const c=Math.sqrt(o);return r=r*180/(6378245*(1-s)/(o*c)*this.PI),i=i*180/(6378245/c*Math.cos(a)*this.PI),{lat:r,lng:i}},gcjEncrypt(t,e){if(this.outOfChina(t,e))return{lat:t,lng:e};const n=this.delta(t,e);return{lat:t+n.lat,lng:e+n.lng}},gcjDecrypt(t,e){if(this.outOfChina(t,e))return{lat:t,lng:e};const n=this.delta(t,e);return{lat:t-n.lat,lng:e-n.lng}},gcjDecryptExact(t,e){let r=.01,i=.01,a=t-r,o=e-i,c=t+r,l=e+i,u=0,d=0,f=0;for(;;){u=(a+c)/2,d=(o+l)/2;const E=this.gcjEncrypt(u,d);if(r=E.lat-t,i=E.lng-e,Math.abs(r)<1e-9&&Math.abs(i)<1e-9||(r>0?c=u:a=u,i>0?l=d:o=d,++f>1e4))break}return{lat:u,lng:d}},bdEncrypt(t,e){const n=e,s=t,r=Math.sqrt(n*n+s*s)+2e-5*Math.sin(s*this.XPI),i=Math.atan2(s,n)+3e-6*Math.cos(n*this.XPI),a=r*Math.cos(i)+.0065;return{lat:r*Math.sin(i)+.006,lng:a}},bdDecrypt(t,e){const n=e-.0065,s=t-.006,r=Math.sqrt(n*n+s*s)-2e-5*Math.sin(s*this.XPI),i=Math.atan2(s,n)-3e-6*Math.cos(n*this.XPI),a=r*Math.cos(i);return{lat:r*Math.sin(i),lng:a}},mercatorEncrypt(t,e){const n=e*2003750834e-2/180;let s=Math.log(Math.tan((90+t)*this.PI/360))/(this.PI/180);return s=s*2003750834e-2/180,{lat:s,lng:n}},mercatorDecrypt(t,e){const n=e/2003750834e-2*180;let s=t/2003750834e-2*180;return s=180/this.PI*(2*Math.atan(Math.exp(s*this.PI/180))-this.PI/2),{lat:s,lng:n}},transformLat(t,e){let n=-100+2*t+3*e+.2*e*e+.1*t*e+.2*Math.sqrt(Math.abs(t));return n+=(20*Math.sin(6*t*this.PI)+20*Math.sin(2*t*this.PI))*2/3,n+=(20*Math.sin(e*this.PI)+40*Math.sin(e/3*this.PI))*2/3,n+=(160*Math.sin(e/12*this.PI)+320*Math.sin(e*this.PI/30))*2/3,n},transformLon(t,e){let n=300+t+2*e+.1*t*t+.1*t*e+.1*Math.sqrt(Math.abs(t));return n+=(20*Math.sin(6*t*this.PI)+20*Math.sin(2*t*this.PI))*2/3,n+=(20*Math.sin(t*this.PI)+40*Math.sin(t/3*this.PI))*2/3,n+=(150*Math.sin(t/12*this.PI)+300*Math.sin(t/30*this.PI))*2/3,n},randomCoordinate(t,e,n,s){return{lat:Math.random()*(s-e)+e,lng:Math.random()*(n-t)+t}}},N={rgb2hex(t){var e="#"+(16777216+(t[0]<<16)+(t[1]<<8)+t[2]).toString(16).slice(1);return e},rgbToRgba(t){const e=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(t);return e?`rgba(${e[1]}, 1)`:t},hexToRgba(t){const e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,n=t.replace(e,(c,l,u,d)=>l+l+u+u+d+d),r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);if(!r)return t;const i=parseInt(r[1],16),a=parseInt(r[2],16),o=parseInt(r[3],16);return`rgba(${i},${a},${o},1)`},hslToRgba(t){if(!t)return null;const e=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);if(!e)return null;const n=parseInt(e[1],10)/360,s=parseInt(e[2],10)/100,r=parseInt(e[3],10)/100,i=e[4]?parseFloat(e[4]):1;function a(u,d,f){return f<0&&(f+=1),f>1&&(f-=1),f<1/6?u+(d-u)*6*f:f<1/2?d:f<2/3?u+(d-u)*(2/3-f)*6:u}let o,c,l;if(s===0)o=c=l=r;else{const u=r<.5?r*(1+s):r+s-r*s,d=2*r-u;o=a(d,u,n+1/3),c=a(d,u,n),l=a(d,u,n-1/3)}return`rgba(${Math.round(o*255)},${Math.round(c*255)},${Math.round(l*255)},${i})`},isHex(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},isRgb(t){return/^rgb/.test(t)},isHsl(t){return/^hsl/.test(t)},isColor(t){return this.isHex(t)||this.isRgb(t)||this.isHsl(t)},colorToRgb(t){if(this.isRgb(t))return this.rgbToRgba(t);if(this.isHex(t))return this.hexToRgba(t);if(this.isHsl(t))return this.hslToRgba(t)}};Date.prototype.format=function(t){const e={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours()%12,"H+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),S:this.getMilliseconds()};/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length)));for(const n in e)if(new RegExp("("+n+")").test(t)){const s=n.length===1?1:Number(n.slice(1));t=t.replace(RegExp.$1,("00"+e[n]).substr((""+e[n]).length+s-(e[n]+"").length))}return t},Date.prototype.addDate=function(t,e){const n=new Date(this);switch(t){case"y":n.setFullYear(this.getFullYear()+e);break;case"q":n.setMonth(this.getMonth()+e*3);break;case"M":n.setMonth(this.getMonth()+e);break;case"w":n.setDate(this.getDate()+e*7);break;case"d":n.setDate(this.getDate()+e);break;case"h":n.setHours(this.getHours()+e);break;case"m":n.setMinutes(this.getMinutes()+e);break;case"s":n.setSeconds(this.getSeconds()+e);break;default:n.setDate(this.getDate()+e);break}return n};const F={lastMonthDate:new Date(new Date().getFullYear(),new Date().getMonth()-1,1),thisMonthDate:new Date(new Date().getFullYear(),new Date().getMonth(),1),nextMonthDate:new Date(new Date().getFullYear(),new Date().getMonth()+1,1),lastWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1-7-new Date().getDay()),thisWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1-new Date().getDay()),nextWeekDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1+7-new Date().getDay()),lastDayDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-1),thisDayDate:new Date(new Date().setHours(0,0,0,0)),nextDayDate:new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()+1),parseDate(t){if(typeof t=="string"){var e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);if(e&&e.length>3)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]));if(e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/),e&&e.length>6)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]),parseInt(e[4]),parseInt(e[5]),parseInt(e[6]));if(e=t.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/),e&&e.length>7)return new Date(parseInt(e[1]),parseInt(e[2])-1,parseInt(e[3]),parseInt(e[4]),parseInt(e[5]),parseInt(e[6]),parseInt(e[7]))}return null},formatDateInterval(t,e){const n=new Date(t),r=new Date(e).getTime()-n.getTime(),i=Math.floor(r/(24*3600*1e3)),a=r%(24*3600*1e3),o=Math.floor(a/(3600*1e3)),c=a%(3600*1e3),l=Math.floor(c/(60*1e3)),u=c%(60*1e3),d=Math.round(u/1e3);let f="";return i>0&&(f+=i+"天"),o>0&&(f+=o+"时"),l>0&&(f+=l+"分"),d>0&&(f+=d+"秒"),i===0&&o===0&&l===0&&d===0&&(f="少于1秒"),f},formatterCounter(t){const e=function(o){return(o>10?"":"0")+(o||0)},n=e(Math.floor(t/3600)),s=t%3600,r=e(Math.floor(s/60)),i=s%60,a=e(Math.round(i));return`${n}:${r}:${a}`},sleep(t){}};function $(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function b(t){return $(t).split(/\s+/)}const B={getStyle(t,e){var s;let n=t.style[e];if(!n||n==="auto"){const r=(s=document.defaultView)==null?void 0:s.getComputedStyle(t,null);n=r?r[e]:null,n==="auto"&&(n=null)}return n},create(t,e,n){const s=document.createElement(t);return s.className=e||"",n&&n.appendChild(s),s},remove(t){const e=t.parentNode;e&&e.removeChild(t)},empty(t){for(;t.firstChild;)t.removeChild(t.firstChild)},toFront(t){const e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)},toBack(t){const e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)},getClass(t){return((t==null?void 0:t.host)||t).className.toString()},hasClass(t,e){var s;if((s=t.classList)!=null&&s.contains(e))return!0;const n=this.getClass(t);return n.length>0&&new RegExp(`(^|\\s)${e}(\\s|$)`).test(n)},addClass(t,e){if(t.classList!==void 0){const n=b(e);for(let s=0,r=n.length;s<r;s++)t.classList.add(n[s])}else if(!this.hasClass(t,e)){const n=this.getClass(t);this.setClass(t,(n?n+" ":"")+e)}},removeClass(t,e){t.classList!==void 0?b(e).forEach(s=>t.classList.remove(s)):this.setClass(t,(" "+this.getClass(t)+" ").replace(" "+e+" "," ").trim())},setClass(t,e){"classList"in t&&(t.classList.value="",e.split(" ").forEach(n=>t.classList.add(n)))},parseFromString(t){return new DOMParser().parseFromString(t,"text/xml").children[0]}},W={toRadian:Math.PI/180,R:6371393,isLnglat(t,e){return!isNaN(t)&&!isNaN(e)&&+e>-90&&+e<90&&+t>-180&&+t<180},outOfChina({lng:t,lat:e}){return t<72.004||t>137.8347||e<.8293||e>55.8271},distance(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},distanceByPoints(t,e){const{lng:n,lat:s}=t,{lng:r,lat:i}=e,a=6371e3,o=Math.cos(s*Math.PI/180)*Math.cos(i*Math.PI/180)*Math.cos((n-r)*Math.PI/180),c=Math.sin(s*Math.PI/180)*Math.sin(i*Math.PI/180);let l=o+c;return l>1&&(l=1),l<-1&&(l=-1),Math.acos(l)*a},formatLnglat(t,e){let n="";function s(r){const i=Math.floor(r),a=Math.floor((r-i)*60),o=(r-i)*3600-a*60;return`${i}°${a}′${o.toFixed(2)}″`}return this.isLnglat(t,e)?n=s(t)+","+s(e):isNaN(t)?isNaN(e)||(n=s(e)):n=s(t),n},transformLnglat(t,e){function n(s){let i=/[sw]/i.test(s)?-1:1;const a=s.match(/[\d.]+/g)||[];let o=0;for(let c=0;c<a.length;c++)o+=parseFloat(a[c])/i,i*=60;return o}if(t&&e)return{lng:n(t),lat:n(e)}},rayCasting(t,e){for(var n=t.x,s=t.y,r=!1,i=0,a=e.length,o=a-1;i<a;o=i,i++){var c=e[i].x,l=e[i].y,u=e[o].x,d=e[o].y;if(c===n&&l===s||u===n&&d===s)return"on";if(l<s&&d>=s||l>=s&&d<s){var f=c+(s-l)*(u-c)/(d-l);if(f===n)return"on";f>n&&(r=!r)}}return r?"in":"out"},rotatePoint(t,e,n){const s=(t.x-e.x)*Math.cos(Math.PI/180*-n)-(t.y-e.y)*Math.sin(Math.PI/180*-n)+e.x,r=(t.x-e.x)*Math.sin(Math.PI/180*-n)+(t.y-e.y)*Math.cos(Math.PI/180*-n)+e.y;return{x:s,y:r}},calcBearAndDis(t,e){const{x:n,y:s}=t,{x:r,y:i}=e,a=r-n,o=i-s,c=Math.sqrt(a*a+o*o);return{angle:(Math.atan2(o,a)*(180/Math.PI)+360+90)%360,distance:c}},calcBearAndDisByPoints(t,e){var n=t.lat*1,s=t.lng*1,r=e.lat*1,i=e.lng*1,a=Math.sin((i-s)*this.toRadian)*Math.cos(r*this.toRadian),o=Math.cos(n*this.toRadian)*Math.sin(r*this.toRadian)-Math.sin(n*this.toRadian)*Math.cos(r*this.toRadian)*Math.cos((i-s)*this.toRadian),c=Math.atan2(a,o)*(180/Math.PI),l=(r-n)*this.toRadian,u=(i-s)*this.toRadian,d=Math.sin(l/2)*Math.sin(l/2)+Math.cos(n*this.toRadian)*Math.cos(r*this.toRadian)*Math.sin(u/2)*Math.sin(u/2),f=2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d)),E=this.R*f;return{angle:c,distance:E}},distanceToSegment(t,e,n){const s=t.x,r=t.y,i=e.x,a=e.y,o=n.x,c=n.y,l=(o-i)*(s-i)+(c-a)*(r-a);if(l<=0)return Math.sqrt((s-i)*(s-i)+(r-a)*(r-a));const u=(o-i)*(o-i)+(c-a)*(c-a);if(l>=u)return Math.sqrt((s-o)*(s-o)+(r-c)*(r-c));const d=l/u,f=i+(o-i)*d,E=a+(c-a)*d;return Math.sqrt((s-f)*(s-f)+(r-E)*(r-E))},calcPointByBearAndDis(t,e,n){const s=y.toRadians(t.lat*1),r=y.toRadians(t.lng*1),i=n/this.R;e=y.toRadians(e);const a=Math.asin(Math.sin(s)*Math.cos(i)+Math.cos(s)*Math.sin(i)*Math.cos(e)),o=r+Math.atan2(Math.sin(e)*Math.sin(i)*Math.cos(s),Math.cos(i)-Math.sin(s)*Math.sin(a));return{lat:y.toDegrees(a),lng:y.toDegrees(o)}},mercatorTolonlat(t,e){const n=t/2003750834e-2*180;var s=e/2003750834e-2*180;const r=180/Math.PI*(2*Math.atan(Math.exp(s*Math.PI/180))-Math.PI/2);return{lng:n,lat:r}},lonlatToMercator(t,e){var n=6378137;const s=t*Math.PI/180*n;var r=e*Math.PI/180;const i=n/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)));return{x:s,y:i}}},q={deepClone(t){return structuredClone(t)},isEqual(t,e){return JSON.stringify(t)===JSON.stringify(e)}},G={convertBase64ToBlob(t){const e=t.split(",")[0].split(":")[1].split(";")[0],n=atob(t.split(",")[1]),s=new Array(n.length);for(let a=0;a<n.length;a++)s[a]=n.charCodeAt(a);const r=new Uint8Array(s);return new Blob([r],{type:e})},convertUrlToBase64(t,e,n){return new Promise((s,r)=>{var i=new Image;i.crossOrigin="Anonymous",i.src=t,i.onload=function(){var a=document.createElement("canvas");a.width=e||i.width,a.height=n||i.height;var o=a.getContext("2d");if(!o){r(new Error("Failed to get canvas context"));return}o.drawImage(i,0,0,i.width,i.height);var c=i.src.substring(i.src.lastIndexOf(".")+1).toLowerCase(),l=a.toDataURL("image/"+c),u={dataURL:l,type:"image/"+c,ext:c};s(u)},i.onerror=r})},convertBase64ToFile(t,e){const n=t.split(","),s=n[0].match(/:(.*?);/),r=s?s[1]:"image/png",i=atob(n[1]),a=new Uint8Array(i.length);for(let c=0;c<i.length;c++)a[c]=i.charCodeAt(c);return new File([a],e,{type:r})},downloadFromFile(t,e){if(typeof t=="object")if(t instanceof Blob)t=URL.createObjectURL(t);else{const s=JSON.stringify(t),r=new Blob([s],{type:"text/json"});t=window.URL.createObjectURL(r)}else if(typeof t=="string"&&t.indexOf("http")===-1){const s=new Blob([t],{type:"text/json"});t=window.URL.createObjectURL(s)}var n=document.createElement("a");n.href=t,n.download=e||"",n.click(),window.URL.revokeObjectURL(n.href)}},H={debounce(t,e,n=!0){let s=null,r,i,a;const o=()=>{const c=Date.now()-i;c<e&&c>0?s=setTimeout(o,e-c):(s=null,n||(a=t.apply(this,r)))};return(...c)=>{i=Date.now();const l=n&&!s;return s||(s=setTimeout(o,e)),l&&(a=t.apply(this,c),s||(c=null)),a}},throttle(t,e,n=1){let s=0,r=null;return(...i)=>{if(n===1){const a=Date.now();a-s>=e&&(t.apply(this,i),s=a)}else n===2&&(r||(r=setTimeout(()=>{r=null,t.apply(this,i)},e)))}},memoize(t){const e=new Map;return(...n)=>{const s=JSON.stringify(n);if(e.has(s))return e.get(s);{const r=t.apply(this,n);return e.set(s,r),r}}},recurve(t,e=500,n=5e3){let s=0;setTimeout(()=>{s++,s<Math.floor(n/e)&&(t.call(this),setTimeout(this.recurve.bind(this,t,e,n),e))},e)}},z={checkStr(t,e){switch(e){case"phone":return/^1[3|4|5|6|7|8|9][0-9]{9}$/.test(t);case"tel":return/^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(t);case"card":return/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(t);case"pwd":return/^[a-zA-Z]\w{5,17}$/.test(t);case"postal":return/[1-9]\d{5}(?!\d)/.test(t);case"QQ":return/^[1-9][0-9]{4,9}$/.test(t);case"email":return/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(t);case"money":return/^\d*(?:\.\d{0,2})?$/.test(t);case"URL":return/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(t);case"IP":return/((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(t);case"date":return/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(t)||/^(\d{4})\-(\d{2})\-(\d{2})$/.test(t);case"number":return/^[0-9]$/.test(t);case"english":return/^[a-zA-Z]+$/.test(t);case"chinese":return/^[\u4E00-\u9FA5]+$/.test(t);case"lower":return/^[a-z]+$/.test(t);case"upper":return/^[A-Z]+$/.test(t);case"HTML":return/<("[^"]*"|'[^']*'|[^'">])*>/.test(t);default:return!0}},changeCase(t,e){switch(e=e||4,e){case 1:return t.replace(/\b\w+\b/g,function(n){return n.substring(0,1).toUpperCase()+n.substring(1).toLowerCase()});case 2:return t.replace(/\b\w+\b/g,function(n){return n.substring(0,1).toLowerCase()+n.substring(1).toUpperCase()});case 3:return t.split("").map(function(n){return/[a-z]/.test(n)?n.toUpperCase():n.toLowerCase()}).join("");case 4:return t.toUpperCase();case 5:return t.toLowerCase();default:return t}},tag(t,...e){return e=e.map(n=>{switch(R.getDataType(n)){case"Object":return n||"{}";case"Array":return n||"[]";default:return n||""}}),t.reduce((n,s,r)=>`${n}${e[r-1]}${s}`)},getByteLength(t){return t.replace(/[\u0391-\uFFE5]/g,"aa").length},subStringByte(t,e,n){var s=/[^\x00-\xff]/g;if(t.replace(s,"mm").length<=n)return t;for(var r=Math.floor(n/2),i=r;i<t.length;i++){let a=t.substring(e,i);if(a.replace(s,"mm").length>=n)return a}return t},asString(t){if(R.isEmpty(t))return"";switch(R.getDataType(t)){case"Object":case"Array":return JSON.stringify(t);default:return t}}},g=class g{static set(e,n=null,s=null){var r=this._getPrefixedKey(e,s);try{localStorage.setItem(r,JSON.stringify({data:n}))}catch{console&&console.warn("StoreUtil didn't successfully save the '{"+e+": "+n+"}' pair, because the localStorage is full.")}}static get(e,n,s){var r=this._getPrefixedKey(e,s),i;try{i=JSON.parse(localStorage.getItem(r)||"")}catch{localStorage[r]?i={data:localStorage.getItem(r)}:i=null}if(i){if(typeof i=="object"&&typeof i.data<"u")return i.data}else return n}static keys(){const e=[];var n=Object.keys(localStorage);return g.prefix.length===0?n:(n.forEach(function(s){s.indexOf(g.prefix)!==-1&&e.push(s.replace(g.prefix,""))}),e)}static getAll(e){var n=g.keys();if(e){const s=[];return n.forEach(r=>{if(e.includes(r)){const i={};i[r]=g.get(r,null,null),s.push(i)}}),s}return n.map(s=>g.get(s,null,null))}static remove(e,n){var s=this._getPrefixedKey(e,n);localStorage.removeItem(s)}static clear(e){g.prefix.length?this.keys().forEach(n=>{localStorage.removeItem(this._getPrefixedKey(n,e))}):localStorage.clear()}};p(g,"prefix",""),p(g,"_getPrefixedKey",function(e,n){return n=n||{},n.noPrefix?e:g.prefix+e});let S=g;const j={json2Query(t){var e=[];for(var n in t)if(t.hasOwnProperty(n)){var s=n,r=t[n];e.push(encodeURIComponent(s)+"="+encodeURIComponent(r))}var i=e.join("&");return i},query2Json(t=window.location.href,e=!0){const n=/([^&=]+)=([\w\W]*?)(&|$|#)/g,{search:s,hash:r}=new URL(t),i=[s,r];let a={};for(let o=0;o<i.length;o++){const c=i[o];if(c){const u=c.replace(/#|\//g,"").split("?");if(u.length>1)for(let d=1;d<u.length;d++){let f;for(;f=n.exec(u[d]);)a[f[1]]=e?decodeURIComponent(f[2]):f[2]}}}return a}};h.ArrayUtil=P,h.AudioPlayer=T,h.BrowserUtil=L,h.CanvasDrawer=I,h.ColorUtil=N,h.Cookie=U,h.CoordsUtil=k,h.DateUtil=F,h.DevicePixelRatio=_,h.DomUtil=B,h.ErrorType=M,h.EventDispatcher=D,h.EventType=m,h.FileUtil=G,h.GeoUtil=W,h.GraphicType=O,h.HashMap=w,h.JsonUtil=q,h.LayerType=A,h.MathUtil=y,h.MeasureMode=x,h.ObjectState=C,h.OptimizeUtil=H,h.StoreUtil=S,h.StringUtil=z,h.UrlUtil=j,h.Util=R,h.WebSocketClient=v,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
/**
|
|
3
|
-
* 从 URL 中解析出查询参数和哈希参数,并以对象的形式返回
|
|
4
|
-
*
|
|
5
|
-
* @param href 需要解析的 URL 链接,默认为当前窗口的 URL
|
|
6
|
-
* @param needDecode 是否需要解码参数值,默认为 true
|
|
7
|
-
* @returns 返回一个包含解析后参数的对象,其中键为参数名,值为参数值
|
|
8
|
-
*/
|
|
9
|
-
getUrlParams(href?: string, needDecode?: boolean): Record<string, string>;
|
|
10
2
|
/**
|
|
11
3
|
* 获取浏览器类型
|
|
12
4
|
*
|
package/dist/utils/UrlUtil.d.ts
CHANGED
|
@@ -8,8 +8,13 @@ declare const _default: {
|
|
|
8
8
|
json2Query(json: {
|
|
9
9
|
[x: string]: any;
|
|
10
10
|
}): string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
/**
|
|
12
|
+
* 从 URL 中解析出查询参数和哈希参数,并以对象的形式返回
|
|
13
|
+
*
|
|
14
|
+
* @param href 需要解析的 URL 链接,默认为当前窗口的 URL
|
|
15
|
+
* @param needDecode 是否需要解码参数值,默认为 true
|
|
16
|
+
* @returns 返回一个包含解析后参数的对象,其中键为参数名,值为参数值
|
|
17
|
+
*/
|
|
18
|
+
query2Json(href?: string, needDecode?: boolean): Record<string, string>;
|
|
14
19
|
};
|
|
15
20
|
export default _default;
|