@ibiz-template/core 0.7.27 → 0.7.28-alpha.0

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/index.esm.js CHANGED
@@ -1189,6 +1189,11 @@ function isBase64Image(str) {
1189
1189
  function isBase64(str) {
1190
1190
  return /^[A-Za-z0-9+/=]+$/.test(str) && str.length % 4 === 0;
1191
1191
  }
1192
+ function isEmoji(str) {
1193
+ const tempStr = isBase64(str) ? base64ToStr(str) : str;
1194
+ const emojiRegex = /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}]/u;
1195
+ return emojiRegex.test(tempStr);
1196
+ }
1192
1197
  function strToBase64(str) {
1193
1198
  return btoa(encodeURIComponent(str));
1194
1199
  }
@@ -3439,6 +3444,7 @@ export {
3439
3444
  isBase64,
3440
3445
  isBase64Image,
3441
3446
  isElementSame,
3447
+ isEmoji,
3442
3448
  isEventInside,
3443
3449
  isImage,
3444
3450
  isOverlap,
@@ -1 +1 @@
1
- System.register(["ramda","lodash-es","qx-util","axios","qs","loglevel","loglevel-plugin-prefix"],(function(e){"use strict";var t,n,s,r,i,o,a,c,l,d,u,h,p,m,f,g,b,w,y;return{setters:[function(e){t=e.clone,n=e.isNotNil,s=e.isNil,r=e.mergeDeepRight},function(e){i=e.debounce,o=e.merge,a=e.cloneDeepWith,c=e.cloneWith,l=e.isObject,d=e.isFunction,u=e.uniqueId,e.round,e.cloneDeep},function(e){h=e.getCookie,p=e.notNilEmpty,m=e.createUUID,f=e.QXEvent},function(e){g=e.default},function(e){b=e.default},function(e){w=e.default},function(e){y=e.default}],execute:function(){function v(e){let t,n,s,r=!1;return function(i){void 0===t?(t=i,n=0,s=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,i);const o=t.length;let a=0;for(;n<o;){r&&(10===t[n]&&(a=++n),r=!1);let i=-1;for(;n<o&&-1===i;++n)switch(t[n]){case 58:-1===s&&(s=n-a);break;case 13:r=!0;case 10:i=n}if(-1===i)break;e(t.subarray(a,i),s),a=n,s=-1}a===o?t=void 0:0!==a&&(t=t.subarray(a),n-=a)}}e({awaitTimeout:async function(e,t,n){if(await new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),t)return t(...n||[])},base64ToStr:function(e){return decodeURIComponent(atob(e))},calcMimeByFileName:we,calcOpenModeStyle:function(e,t){if(e>=0&&e<=100)return"".concat(e,"%");if(e>100)return"drawer"===t?e:"".concat(e,"px");return ibiz.log.error(ibiz.i18n.t("core.utils.invalidInputValue")),""},clone:function(e,t){if(r(Ce,t||{}).deep)return a(e,Re);return c(e,Re)},colorBlend:function(e,t,n=.5,s="hex"){e=e.trim(),t=t.trim();const r=be(e),i=be(t),o=[ge((1-n)*r[0]+n*i[0]),ge((1-n)*r[1]+n*i[1]),ge((1-n)*r[2]+n*i[2]),(1-n)*r[3]+n*i[3]];if("hex"===s){const e=[o[0].toString(16).padStart(2,"0"),o[1].toString(16).padStart(2,"0"),o[2].toString(16).padStart(2,"0"),0===o[3]?"00":ge(255*o[3]).toString(16).padStart(2,"0")];return"#".concat(e[0]).concat(e[1]).concat(e[2]).concat(e[3])}return"rgb(".concat(o[0]," ").concat(o[1]," ").concat(o[2]," / ").concat(o[3],")")},compareArr:function(e,t,n){const s=new Set([...e,...t]),r=[],i=[],o=[];if(n){const a=e.map((e=>e[n])),c=t.map((e=>e[n]));s.forEach((e=>{a.includes(e[n])?c.includes(e[n])?o.push(e):r.push(e):i.push(e)}))}else s.forEach((n=>{e.includes(n)?t.includes(n)?o.push(n):r.push(n):i.push(n)}));return{more:r,less:i,same:o}},debounce:function(e,t,n){let s;return function(...r){if(s&&clearTimeout(s),n){const n=!s;s=setTimeout((()=>{s=null}),t),n&&e.apply(this,r)}else s=setTimeout((()=>{e.apply(this,r)}),t)}},debounceAndAsyncMerge:function(e,t,n){let s,r=[];const o=i((async(...t)=>{s=void 0;try{const n=await e(...t);return r.forEach((e=>{e.resolve(n)})),r=[],n}catch(e){r.forEach((t=>{t.reject(e)})),r=[]}}),n);return async(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,o(...n),new Promise(((e,t)=>{r.push({resolve:e,reject:t})}))}},debounceAndMerge:function(e,t,n){let s;const r=i(((...t)=>(s=void 0,e(...t))),n);return(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,r(...n)}},downloadFileFromBlob:function(e,t){const n=we(t),s=new Blob([e],{type:n}),r=URL.createObjectURL(s),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)},eventPath:de,fetchEventSource:R,fileListToArr:ye,findRecursiveChild:function(e,t,n){const{compareField:s,compareCallback:i}=r(Oe,n||{}),o=i||(e=>e[s]===t);let a;return xe(e,(e=>{if(o(e,t,s))return a=e,!0}),n),a},getToken:H,install:function(){if(window.ibiz)throw new Error(ibiz.i18n.t("core.noReInstall"));window.ibiz=new Ue},isBase64:function(e){return/^[A-Za-z0-9+/=]+$/.test(e)&&e.length%4==0},isBase64Image:function(e){return/^data:image\/[a-zA-Z+]+;base64,([/+=\w\s]+|[^,]+)$/.test(e)},isElementSame:function(e,t,n){if(e.length!==t.length)return!1;const s=n?[...e.map((e=>e[n])),...t.map((e=>e[n]))]:[...e,...t];return Array.from(new Set(s)).length===e.length},isEventInside:he,isImage:function(e){const t=e.includes(".")?e.split(".").pop():"";if(!t)return!1;return["jpeg","jpg","gif","png","bmp","svg"].includes(t)},isOverlap:function(e,t){return Array.from(new Set([...e,...t])).length!==e.length+t.length},isSvg:function(e){return V.test(e)},listenJSEvent:ue,mergeDefaultInLeft:function(e,t){Object.keys(t).forEach((r=>{n(t[r])&&s(e[r])&&(e[r]=t[r])}))},mergeInLeft:function(e,t){Object.keys(t).forEach((s=>{n(t[s])&&(e[s]=t[s])}))},onClickOutside:function(e,t,n={}){const{window:s=fe,ignore:r=[],capture:i=!0}=n;if(!e)throw new B(ibiz.i18n.t("core.utils.targetElement"));if(!s)throw new B(ibiz.i18n.t("core.utils.cannotFindWindow"));let o=!0;const a=t=>![e,...r].some((e=>he(t,e)));let c=!1;let l;const d=e=>{c||(s.clearTimeout(l),o&&a(e)&&t(e))},u=[ue(s,"click",d,{passive:!0,capture:i}),ue(s,"pointerdown",(e=>{c||(o=a(e))}),{passive:!0}),ue(s,"pointerup",(e=>{if(!c&&0===e.button){const t=de(e);e.composedPath=()=>t,l=s.setTimeout((()=>d(e)),50)}}),{passive:!0})].filter(Boolean);return{stop:()=>u.forEach((e=>e())),pause:()=>{c=!0},proceed:()=>{c=!1}}},plus:function(e,t){let n,s;try{n=e.toString().split(".")[1].length}catch(e){n=0}try{s=t.toString().split(".")[1].length}catch(e){s=0}const r=10**Math.max(n,s);return(e*r+t*r)/r},recursiveIterate:xe,selectFile:ve,setRemoteStyle:async function(e){try{const t=await ibiz.net.get(e),n=document.createElement("style");n.setAttribute("title","app-style-css"),n.innerText=t.data,document.head.appendChild(n)}catch(t){ibiz.log.debug(ibiz.i18n.t("core.utils.remoteStylesheet"),e)}},strToBase64:function(e){return btoa(encodeURIComponent(e))},throttle:function(e,t){let n=null;return function(...s){n||(n=setTimeout((()=>{e.apply(this,s),n=null}),t))}},toDisposable:I,toNumberOrNil:function(e){if(s(e))return;const t=Number(e);if(Number.isNaN(t))return;return t},updateKeyDefine:function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))},uploadFile:function(e){const t=o({multiple:!0,accept:"",separate:!0,beforeUpload:(e,t)=>!0,finish:e=>{},success:(e,t)=>{},error:(e,t)=>{},progress:e=>{}},e),n=async e=>{const n=e.map((e=>({status:"uploading",name:e.name,uid:u(),percentage:0})));if(!t.beforeUpload(e,n))return n.forEach((e=>{e.status="cancel"})),ibiz.log.debug("取消上传",n),n;try{const s=await(async(e,n)=>{if(t.request&&d(t.request))return t.request(e);const s=new FormData;throw e.forEach((e=>{s.append("file",e)})),new B(ibiz.i18n.t("core.utils.multiApplicationMode"))})(e);n.forEach((e=>{e.status="finished"})),t.success(n,s),n.forEach((e=>{e.response=s}))}catch(s){n.forEach((e=>{e.status="fail"})),t.error(n,s),n.forEach((e=>{e.error=s})),ibiz.log.error(s),ibiz.log.error(ibiz.i18n.t("core.utils.uploadFailed",{file:e.map((e=>e.name)).join(",")}))}return n};ve({accept:t.accept,multiple:t.multiple,onSelected:e=>{(async e=>{const s=t.separate?e.map((e=>[e])):[e],r=await Promise.allSettled(s.map((async e=>n(e)))),i=[];r.forEach((e=>{"fulfilled"===e.status&&i.push(...e.value)})),t.finish(i)})(e)}})}});var E=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n},_=e("EventStreamContentType","text/event-stream"),x=1e3,O="last-event-id";function R(e,t){var{signal:n,headers:s,onopen:r,onmessage:i,onclose:o,onerror:a,openWhenHidden:c,fetch:l}=t,d=E(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,u)=>{const h=Object.assign({},s);let p;function m(){p.abort(),document.hidden||E()}h.accept||(h.accept=_),c||document.addEventListener("visibilitychange",m);let f=x,g=0;function b(){document.removeEventListener("visibilitychange",m),window.clearTimeout(g),p.abort()}null==n||n.addEventListener("abort",(()=>{b(),t()}));const w=null!=l?l:window.fetch,y=null!=r?r:C;async function E(){var n;p=new AbortController;try{const n=await w(e,Object.assign(Object.assign({},d),{headers:h,signal:p.signal}));await y(n),await async function(e,t){const n=e.getReader();let s;for(;!(s=await n.read()).done;)t(s.value)}(n.body,v(function(e,t,n){let s={data:"",event:"",id:"",retry:void 0};const r=new TextDecoder;return function(i,o){if(0===i.length)null==n||n(s),s={data:"",event:"",id:"",retry:void 0};else if(o>0){const n=r.decode(i.subarray(0,o)),a=o+(32===i[o+1]?2:1),c=r.decode(i.subarray(a));switch(n){case"data":s.data=s.data?s.data+"\n"+c:c;break;case"event":s.event=c;break;case"id":e(s.id=c);break;case"retry":const n=parseInt(c,10);isNaN(n)||t(s.retry=n)}}}}((e=>{e?h[O]=e:delete h[O]}),(e=>{f=e}),i))),null==o||o(),b(),t()}catch(e){if(!p.signal.aborted)try{const t=null!==(n=null==a?void 0:a(e))&&void 0!==n?n:f;window.clearTimeout(g),g=window.setTimeout(E,t)}catch(e){b(),u(e)}}}E()}))}function C(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(_)))throw new Error("Expected content-type to be ".concat(_,", Actual: ").concat(t))}var T=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};T.Undefined=new T(void 0);var A=T,M=e("LinkedList",class{constructor(){this._first=A.Undefined,this._last=A.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===A.Undefined}clear(){let e=this._first;for(;e!==A.Undefined;){const{next:t}=e;e.prev=A.Undefined,e.next=A.Undefined,e=t}this._first=A.Undefined,this._last=A.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new A(e);if(this._first===A.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(n))}}shift(){if(this._first===A.Undefined)return;const e=this._first.element;return this._remove(this._first),e}pop(){if(this._last===A.Undefined)return;const e=this._last.element;return this._remove(this._last),e}_remove(e){if(e.prev!==A.Undefined&&e.next!==A.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===A.Undefined&&e.next===A.Undefined?(this._first=A.Undefined,this._last=A.Undefined):e.next===A.Undefined?(this._last=this._last.prev,this._last.next=A.Undefined):e.prev===A.Undefined&&(this._first=this._first.next,this._first.prev=A.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==A.Undefined;)yield e.element,e=e.next}});function U(e){const t=this;let n,s=!1;return function(){return s||(s=!0,n=e.apply(t,arguments)),n}}function I(e){return{dispose:U((()=>{e()}))}}var k=e("CommandsRegistry",class{constructor(){this.commands=new Map}registerCommand(e,t,n){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t,opts:n})}const{id:s}=e;let r=this.commands.get(s);r||(r=new M,this.commands.set(s,r));const i=r.unshift(e);return I((()=>{i();const e=this.commands.get(s);(null==e?void 0:e.isEmpty())&&this.commands.delete(s)}))}hasCommand(e){return this.commands.has(e)}getCommand(e){const t=this.commands.get(e);if(t&&!t.isEmpty())return t[Symbol.iterator]().next().value}getCommands(){const e=new Map,t=this.commands.keys();for(const n of t){const t=this.getCommand(n);t&&e.set(n,t)}return e}getCommandOpt(e){const t=this.getCommand(e);return null==t?void 0:t.opts}}),N=e("CommandController",class{constructor(){this.commandRegister=new k}register(e,t,n){return this.commandRegister.registerCommand(e,t,n)}async execute(e,...t){const n=this.commandRegister.getCommand(e);if(n)return n.handler(...t);throw new Error(ibiz.i18n.t("core.command.unregisteredCommand",{id:e}))}hasCommand(e,t){const n=!!this.commandRegister.hasCommand(e);if(!0===t&&!0===n)throw new Error("未注册指令: ".concat(e,",请先注册指令"));return n}getCommandOpts(e){return this.commandRegister.getCommandOpt(e)}}),S=(e("commands",new N),e("CoreConst",class{}));S.DEFAULT_MODEL_SERVICE_TAG="default",S.TOKEN="ibzuaa-token",S.REFRESH_TOKEN="ibzuaa-refresh-token",S.TOKEN_EXPIRES="ibzuaa-token-expires",S.TOKEN_REMEMBER="ibizuaa-token-remember",S.IS_ANONYMOUS="ibizuaa-is-anonymous";var P=e("NOOP",(()=>{})),z=(e("HttpStatusMessageConst",{200:"服务器成功返回请求的数据。",201:"新建或修改数据成功。",202:"一个请求已经进入后台排队(异步任务)。",204:"删除数据成功。",400:"发出的请求有错误,服务器没有进行新建或修改数据的操作。",401:"用户没有权限(令牌、用户名、密码错误)。",403:"用户得到授权,但是访问是被禁止的。",404:"发出的请求针对的是不存在的记录,服务器没有进行操作。",406:"请求的格式不可得。",410:"请求的资源被永久删除,且不会再得到的。",422:"当创建一个对象时,发生一个验证错误。",500:"服务器发生错误,请检查服务器。",502:"网关错误。",503:"服务不可用,服务器暂时过载或维护。",504:"网关超时。"}),e("LoginMode",(e=>(e.DEFAULT="DEFAULT",e.CUSTOM="CUSTOM",e.CAS="CAS",e))(z||{}))),L=e("MenuPermissionMode",(e=>(e.MIXIN="MIXIN",e.RESOURCE="RESOURCE",e.RT="RT",e))(L||{})),j=(e("IBizContext",class e{constructor(e={},t){Object.defineProperty(this,"_associationContext",{enumerable:!1,configurable:!0,value:[]}),t&&this.initWithParent(t),Object.assign(this,e)}initWithParent(e){const t=this;Object.defineProperty(this,"_parent",{enumerable:!1,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!1,writable:!0,value:{}});const n={};Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||(n[e]={enumerable:!0,configurable:!0,set(n){t._context[e]=null==n?null:n},get:()=>void 0!==t._context[e]?t._context[e]:t._parent?t._parent[e]:""})})),Object.defineProperties(this,n)}getOwnContext(){const e={};return Object.keys(this).forEach((t=>{this._parent&&Object.prototype.hasOwnProperty.call(this._parent,t)&&!Object.prototype.hasOwnProperty.call(this._context,t)||(e[t]=this[t])})),e}destroy(){this._parent=void 0,this._context={},this._associationContext.forEach((e=>{e.destroy()}))}clone(){const n=new e(t(this.getOwnContext()),this._parent);return this._associationContext.push(n),n}reset(e={},t){this._associationContext.forEach((e=>{e.destroy()})),this._parent&&(this._parent={},this._context={}),Object.keys(this).forEach((e=>{try{delete this[e]}catch(e){}})),t&&this.initWithParent(t),Object.assign(this,e)}static create(t,n){return new e(t,n)}}),e("IBizParams",class{constructor(e,t){return Object.defineProperty(this,"_parent",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_params",{enumerable:!1,configurable:!0,writable:!0,value:e||{}}),this.createProxy()}createProxy(){return new Proxy(this,{set:(e,t,n)=>(["_params","_parent"].includes(t)?e[t]=n:e._params[t]=n,!0),get:(e,t,n)=>void 0!==e[t]?e[t]:void 0!==e._params[t]?e._params[t]:e._parent&&void 0!==e._parent[t]?e._parent[t]:void 0,ownKeys(e){const t=[...new Set([...Object.keys(e._params),...Object.keys(e._parent||{})])];return function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))}(e,t),t}})}reset(e,t){this._params=e||{},this._parent=t}destroy(){this._params={},this._parent=void 0}}),e("Environment",{dev:!1,hub:!0,enableMqtt:!1,mqttUrl:"/portal/mqtt/mqtt",isEnableMultiLan:!1,anonymousUser:"",anonymousPwd:"",enableAnonymous:!1,logLevel:"ERROR",baseUrl:"/api",appId:"",pluginBaseUrl:"http://172.16.240.221",isLocalModel:!1,remoteModelUrl:"/remotemodel",assetsUrl:"./assets",dcSystem:"",downloadFileUrl:"/ibizutil/download/{cat}",uploadFileUrl:"/ibizutil/upload/{cat}",casLoginUrl:"",loginMode:"DEFAULT",menuPermissionMode:"MIXIN",enablePermission:!0,routePlaceholder:"-",enableWfAllHistory:!1,isMob:!1,isSaaSMode:!0,AppTitle:"",favicon:"./favicon.ico",enableTitle:!0})),D=e("HttpError",class extends Error{constructor(e){super("HttpError"),this.name="HttpError";const t=e.response;this.response=e.response,this.tag="",t?(t.data?this.message=t.data.message:this.message=t.statusText,this.message||(this.message=ibiz.i18n.t("core.error.networkAbnormality")),this.status=t.status):(this.message=e.message||"",this.status=500)}}),B=(e("ModelError",class extends Error{constructor(e,t){super(ibiz.i18n.t("core.error.modelMsg",{id:e.id,msg:t?": ".concat(t):""})),this.model=e,this.name=ibiz.i18n.t("core.error.unsupportedModels")}}),e("RuntimeError",class extends Error{constructor(e){super(e),this.message=e,this.name="Runtime Error"}})),q=(e("RuntimeModelError",class extends Error{constructor(e,t){super(ibiz.i18n.t("core.error.modelMsg",{id:e.id,msg:t?": ".concat(t):""})),this.model=e,this.name=ibiz.i18n.t("core.error.modelConfigurationMissing")}}),e("NoticeError",class extends Error{constructor(e,t){super(e),this.message=e,this.duration=t,this.name="notice Error"}}),e("EntityError",class extends D{constructor(e){if(super(e),this.name="EntityError",this.details=[],this.response){const{details:e=[]}=this.response.data;this.details=e.map((e=>({name:e.fieldname.toLowerCase(),logicName:e.fieldlogicname,errorType:e.fielderrortype,errorInfo:e.fielderrorinfo})))}}})),F=e("HttpErrorFactory",class{static getInstance(e){const{response:t}=e;if(!t||!t.data)return new D(e);const{type:n}=t.data;return"EntityException"===n?new q(e):new D(e)}});function H(){return h(S.TOKEN)}var V=/<svg\b[^>]*>[\s\S]*?<\/svg>/;var W=e("Interceptor",class{async onBeforeRequest(e){return e}onRequestError(e){return Promise.reject(e)}async onResponseSuccess(e){return e}onResponseError(e){return Promise.reject(e)}use(e){this.requestTag=e.interceptors.request.use(this.onBeforeRequest,this.onRequestError),this.responseTag=e.interceptors.response.use(this.onResponseSuccess,this.onResponseError)}eject(e){this.requestTag&&e.interceptors.request.eject(this.requestTag),this.responseTag&&e.interceptors.response.eject(this.responseTag)}}),K=e("CoreInterceptor",class extends W{async onBeforeRequest(e){e=await super.onBeforeRequest(e);const{headers:t}=e;t.set("Authorization","Bearer ".concat(H()));let n=ibiz.env.dcSystem;const{orgData:s}=ibiz;return s&&(s.systemid&&(n=s.systemid),s.orgid&&t.set("srforgid",s.orgid)),t.set("srfsystemid",n),e}}),Y=class{constructor(e){this.parent=e,this.evt=new f(1e3)}next(e){this.evt.emit("all",e),this.parent&&this.nextParent(e)}nextParent(e){this.parent&&(this.parent.evt.emit("all",e),this.parent.nextParent(e))}on(e){this.evt.on("all",e)}off(e){this.evt.off("all",e)}},J=class extends Y{},$=class extends Y{sendCommand(e,t,n){const s={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,triggerKey:n,data:e};this.next(s)}},G=class extends ${send(e,t){this.sendCommand(e,"OBJECTCREATED",null==t?void 0:t.triggerKey)}},X=class extends ${send(e,t){this.sendCommand(e,"OBJECTUPDATED",null==t?void 0:t.triggerKey)}},Z=class extends ${send(e,t){this.sendCommand(e,"OBJECTREMOVED",null==t?void 0:t.triggerKey)}},Q=class extends ${},ee=class extends ${send(e){this.sendCommand(e,"ASYNCACTION")}},te=class extends ${send(e){this.sendCommand(e,"INTERNALMESSAGE")}},ne=class extends ${send(e){this.sendCommand(e,"MARKOPENDATA")}},se=class extends Y{constructor(){super(...arguments),this.change=new Q,this.create=new G(this),this.update=new X(this),this.remove=new Z(this),this.asyncAction=new ee(this),this.internalMessage=new te(this),this.markOpenData=new ne(this)}next(e){switch(e.subtype){case"OBJECTCREATED":this.create.next(e),this.change.next(e);break;case"OBJECTUPDATED":this.update.next(e),this.change.next(e);break;case"OBJECTREMOVED":this.remove.next(e),this.change.next(e);break;case"ASYNCACTION":this.asyncAction.next(e);break;case"INTERNALMESSAGE":this.internalMessage.next(e);break;case"MARKOPENDATA":this.markOpenData.next(e);break;default:super.next(e)}}nextParent(e){switch(e.subtype){case"OBJECTCREATED":case"OBJECTUPDATED":case"OBJECTREMOVED":this.change.next(e)}super.nextParent(e)}send(e,t,n){const s={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,triggerKey:n,data:e};this.next(s)}},re=class extends Y{send(e){const t={messageid:m(),messagename:"console",type:"CONSOLE",data:e};this.next(t)}},ie=class extends Y{send(e){const t={messageid:m(),messagename:"error",type:"ERROR",data:e};this.next(t)}},oe=e("MessageCenter",class{constructor(){this.all=new J,this.command=new se(this.all),this.console=new re(this.all),this.error=new ie(this.all)}next(e){"COMMAND"===e.type?this.command.next(e):"CONSOLE"===e.type?this.console.next(e):this.all.next(e)}on(e){this.all.on(e)}off(e){this.all.off(e)}});function ae(e,t,n,s,r){let i="".concat(e,"-").concat(t);return n&&(i+="-".concat(n)),s&&(i+="__".concat(s)),r&&(i+="--".concat(r)),i}e("Namespace",class{constructor(e,t){this.block=e,this.namespace=t||"ibiz"}b(e=""){return ae(this.namespace,this.block,e,"","")}e(e){return e?ae(this.namespace,this.block,"",e,""):""}m(e){return e?ae(this.namespace,this.block,"","",e):""}be(e,t){return e&&t?ae(this.namespace,this.block,e,t,""):""}em(e,t){return e&&t?ae(this.namespace,this.block,"",e,t):""}bm(e,t){return e&&t?ae(this.namespace,this.block,e,"",t):""}bem(e,t,n){return e&&t&&n?ae(this.namespace,this.block,e,t,n):""}is(e,t){return e&&t?"".concat("is-").concat(e):""}cssVar(e){const t={};for(const n in e)e[n]&&(t[this.cssVarName(n)]=e[n]);return t}cssVarBlock(e){const t={};for(const n in e)e[n]&&(t[this.cssVarBlockName(n)]=e[n]);return t}cssVarName(e){return"--".concat(this.namespace,"-").concat(e)}cssVarBlockName(e){return"--".concat(this.namespace,"-").concat(this.block,"-").concat(e)}}),e("HttpResponse",class{constructor(e,t,n){this.local=!0,this.ok=!1,this.headers={},this.config={headers:new g.AxiosHeaders},this.data=e,this.status=t||200,this.statusText=n||"",this.status>=200&&this.status<300&&(this.ok=!0)}});var ce=e("Net",class{constructor(e){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.waitRequest=new Map,this.interceptors=new Map,this.instance=g.create(e),this.addInterceptor("Default",new K)}get baseUrl(){return this.instance.defaults.baseURL||"".concat(ibiz.env.baseUrl,"/").concat(ibiz.env.appId)}addInterceptor(e,t){t.use(this.instance),this.interceptors.set(e,t)}removeInterceptor(e){const t=this.interceptors.get(e);t&&(t.eject(this.instance),this.interceptors.delete(e))}get presetConfig(){return{baseURL:this.baseUrl,headers:{"Content-Type":"application/json;charset=UTF-8",Accept:"application/json"}}}mergeConfig(...e){const t=this.presetConfig;if(0===e.length)return t;const{url:n}=e[0];return n&&this.urlReg.test(n)&&delete t.baseURL,o(t,...e)}async post(e,t,n={},s={}){e=this.handleAppPresetParam(e,n,t);try{const n=await this.request(e,{method:"post",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw F.getInstance(e)}}async get(e,t={},n={},s={}){e=this.attachUrlParam(e,t);try{const t=await this.request(e,o({method:"get",headers:n},s));return this.doResponseResult(t)}catch(e){throw F.getInstance(e)}}async delete(e,t={},n={}){e=this.handleAppPresetParam(e,t);try{const t=await this.request(e,{method:"delete",headers:n});return this.doResponseResult(t)}catch(e){throw F.getInstance(e)}}async put(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"put",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw F.getInstance(e)}}async getModel(e,t={}){try{const n=await this.instance.get(e,{headers:t});return this.doResponseResult(n)}catch(e){throw F.getInstance(e)}}async request(e,t={}){const n=this.mergeConfig({url:e},t),s=JSON.stringify(n);try{let e=null;this.waitRequest.has(s)?e=this.waitRequest.get(s):(e=this.instance.request(n),this.waitRequest.set(s,e));const t=await e;return this.waitRequest.has(s)&&this.waitRequest.delete(s),this.doResponseResult(t)}catch(e){throw this.waitRequest.has(s)&&this.waitRequest.delete(s),F.getInstance(e)}}axios(e){return g(e)}async sse(e,t,n={}){e=this.attachUrlParam(this.baseUrl+e,t),n.headers||(n.headers={});const s=n.headers;{s.Authorization="Bearer ".concat(H());let e=ibiz.env.dcSystem;const{orgData:t}=ibiz;t&&(t.systemid&&(e=t.systemid),t.orgid&&(s.srforgid=t.orgid)),s.srfsystemid=e}const i=r({openWhenHidden:!0,method:"POST"},n);await R(e,i)}doResponseResult(e){const t=e;if(t.status>=200&&t.status<=299){t.ok=!0;const e=t.data;""!==e&&null!==e||(t.data=void 0)}return t}handleAppPresetParam(e,t,n={}){return n&&Object.prototype.hasOwnProperty.call(n,"srfversionid")&&(t.srfversionid=n.srfversionid),t?this.attachUrlParam(e,t):e}attachUrlParam(e,t){{const t=e.split("?");t[0]=t[0].split("/").map((e=>encodeURIComponent(e))).join("/"),e=t.length>1?t.join("?"):t[0]}const n=b.stringify(t);return p(n)&&(e=e.endsWith("?")||-1!==e.indexOf("?")&&e.endsWith("&")?"".concat(e).concat(n):-1===e.indexOf("?")||e.endsWith("&")?"".concat(e,"?").concat(n):"".concat(e,"&").concat(n)),e}}),le=e("StringUtil",class{static fill(e,t,n){if(p(e)){if(p(t)){const n=e.match(this.contextReg);null==n||n.forEach((n=>{const s=n.slice(10,n.length-1);e=e.replace("${context.".concat(s,"}"),t[s]||"")}))}if(p(n)){const t=e.match(this.dataReg);null==t||t.forEach((t=>{const s=t.slice(7,t.length-1);e=e.replace("${data.".concat(s,"}"),n[s]||"")}))}}return e}});le.contextReg=/\$\{context.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g,le.dataReg=/\$\{data.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;e("UrlHelper",class{static get routeBase(){const e=window.location.href.lastIndexOf("#/");return window.location.href.slice(0,e+1)}static get appBase(){const{origin:e,pathname:t}=window.location;return"".concat(e).concat(t).replace(/\/$/,"")}static get routePath(){return window.location.hash.replace("#","")}static get fullPath(){return window.location.href}});function de(e){const t=e.composedPath&&e.composedPath()||e.path;if(null!=t)return t;return[e.target].concat(function e(t,n=[]){const s=t.parentNode;return s?e(s,n.concat([s])):n}(e.target))}function ue(e,t,n,s={}){e.addEventListener(t,n,s);let r=()=>{e.removeEventListener(t,n,s),r=P};return()=>{r()}}function he(e,t){return t&&(e.target===t||de(e).includes(t))}var pe=class e{constructor(t={}){this.data=t,this._prev=e.Undefined,this._next=e.Undefined}clone(){throw new B(ibiz.i18n.t("core.utils.unrealized"))}};pe.Undefined=new pe(void 0);var me=e("HistoryItem",pe),fe=(e("HistoryList",class e{get data(){return this._cur.data}constructor(e){this._cur=new me(e)}assign(e){e&&(this.save(),Object.assign(this._cur.data,e))}save(){const e=this._cur,n=t(e.data),s=new me(n);s._prev=e,e._next._prev=me.Undefined,this._clear(e._next),e._next=s,this._cur=s}prev(){return!(!this._cur._prev||this._cur._prev===me.Undefined)&&(this._cur=this._cur._prev,!0)}next(){return!(!this._cur._next||this._cur._next===me.Undefined)&&(this._cur=this._cur._next,!0)}_clear(e){e._prev&&e._prev!==me.Undefined&&(e._prev._next=me.Undefined,this._clear(e._prev),e._prev=me.Undefined),e._next&&e._next!==me.Undefined&&(e._next._prev=me.Undefined,this._clear(e._next),e._next=me.Undefined),e.data={}}clone(){return new e({})._cur=t(this._cur),this}destroy(){this._clear(this._cur)}}),"undefined"!=typeof window?window:void 0);var ge=Math.round;function be(e){const t=e.length,n=[];if("rgb"===e.slice(0,3).toLowerCase()){const t=e.match(/([\d|.%]{1,3})/g);n[0]=parseInt(t[0],10),n[1]=parseInt(t[1],10),n[2]=parseInt(t[2],10),n[3]=t[3]?-1!==t[3].indexOf("%")?parseInt(t[3],10)/100:parseFloat(t[3]):1}else{let s;s=t<6?parseInt(String(e[1])+e[1]+e[2]+e[2]+e[3]+e[3]+(t>4?String(e[4])+e[4]:""),16):parseInt(e.slice(1),16),n[0]=s>>16&255,n[1]=s>>8&255,n[2]=255&s,n[3]=9===t||5===t?ge((s>>24&255)/255*1e4)/1e4:1}return n}function we(e){let t="";switch(e.includes(".")?e.split(".").pop():""){case"wps":t="application/kswps";break;case"doc":t="application/msword";break;case"docx":t="application/vnd.openxmlformats-officedocument.wordprocessingml.document";break;case"txt":t="text/plain";break;case"zip":t="application/zip";break;case"png":t="image/png";break;case"gif":t="image/gif";break;case"jpeg":case"jpg":t="image/jpeg";break;case"rtf":t="application/rtf";break;case"avi":t="video/x-msvideo";break;case"gz":t="application/x-gzip";break;case"tar":t="application/x-tar";break;case"xlsx":t="application/vnd.ms-excel";break;default:t=""}return t}function ye(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t}function ve(e){const t=o({multiple:!0,accept:""},e),n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("multiple","".concat(t.multiple)),n.setAttribute("accept",t.accept);let s=!0;n.onchange=e=>{const n=e.target,r=n.files?ye(n.files):[];0!==r.length&&(s=!1,t.onSelected(r),n.value="")},document.body.appendChild(n),n.click(),window.addEventListener("focus",(()=>{setTimeout((()=>{s&&t.onCancel&&t.onCancel()}),300)}),{once:!0}),document.body.removeChild(n)}e("CountLatch",class{constructor(){this.promise=null,this.resolve=null,this.count=0}startPromise(){this.promise=new Promise((e=>{this.resolve=e}))}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)throw new B(ibiz.i18n.t("core.utils.notMatchLockUnlock"));this.count-=1,0===this.count&&this.endPromise()}async await(){this.promise&&await this.promise}});var Ee={childrenFields:["children"]},_e=new Error("中断操作");function xe(e,t,n){try{!function(e,t,n){const{childrenFields:s}=r(Ee,n||{}),i=function(e,t){var n;for(const s of t)if(null==(n=e[s])?void 0:n.length)return e[s]}(e,s);if(null==i?void 0:i.length)for(const s of i){if(t(s,e))throw _e;xe(s,t,n)}}(e,t,n)}catch(e){if(e!==_e)throw e}}var Oe={...Ee,compareField:"name"};function Re(e){if(l(e)&&d(e.clone))return e.clone()}e("DataTypes",class{static isNumber(e){return["BIGINT","BINARY","DECIMAL","FLOAT","INT","MONEY","NUMERIC","REAL","SMALLINT","SMALLMONEY","TINYINT","VARBINARY"].includes(this.toString(e))}static isDate(e){return["DATETIME","SMALLDATETIME","DATE","TIME"].includes(this.toString(e))}static toString(e){return this.typeMap[e]}}).typeMap={0:"UNKNOWN",1:"BIGINT",2:"BINARY",3:"BIT",4:"CHAR",5:"DATETIME",6:"DECIMAL",7:"FLOAT",8:"IMAGE",9:"INT",10:"MONEY",11:"NCHAR",12:"NTEXT",13:"NVARCHAR",14:"NUMERIC",15:"REAL",16:"SMALLDATETIME",17:"SMALLINT",18:"SMALLMONEY",19:"SQL_VARIANT",20:"SYSNAME",21:"TEXT",22:"TIMESTAMP",23:"TINYINT",24:"VARBINARY",25:"VARCHAR",26:"UNIQUEIDENTIFIER",27:"DATE",28:"TIME",29:"BIGDECIMAL"};var Ce={deep:!0};function Te(e){return!(!e||e&e-1)}function Ae(e){if(!Te(e))throw new B(ibiz.i18n.t("core.utils.powerOfTwo",{permission:e}))}e("BitMask",{validate:Te,setPermission:function(e=0,t){return Ae(t),e|t},removePermission:function(e=0,t){return Ae(t),e&~t},checkPermission:function(e=0,t){return Ae(t),0!=(e&t)}}),e("en",{core:{command:{unregisteredCommand:"Unregistered command: {id}, please register the command first"},error:{networkAbnormality:"Network abnormality, please try again later",modelMsg:"「{id}」 model {msg}",unsupportedModels:"Unsupported models",modelConfigurationMissing:"Model Configuration Missing"},utils:{powerOfTwo:"{permission} is not a power of two.",targetElement:"The target element does not exist",cannotFindWindow:"Cannot find window",unrealized:"unrealized",remoteStylesheet:"Failed to load remote stylesheet",notMatchLockUnlock:"The lock and unlock counts do not match!",multiApplicationMode:"Multi-application mode waiting for reimplementation requests",uploadFailed:"{file}Upload failed",invalidInputValue:"Invalid input value, must be >= 0"},noReInstall:"ibiz already exists, no need to re-install it"}}),e("zhCn",{core:{command:{unregisteredCommand:"未注册指令: {id},请先注册指令"},error:{networkAbnormality:"网络异常,请稍后重试",modelMsg:"「{id}」模型 {msg}",unsupportedModels:"未支持的模型",modelConfigurationMissing:"模型配置缺失"},utils:{powerOfTwo:"{permission}不是2的幂",targetElement:"target元素不存在",cannotFindWindow:"找不到window",unrealized:"未实现",remoteStylesheet:"未实现加载远程样式表失败",notMatchLockUnlock:"lock和unlock次数不匹配!",multiApplicationMode:"多应用模式等待重新实现请求",uploadFailed:"{file}Upload failed",invalidInputValue:"无效输入值,必须>=0"},noReInstall:"ibiz 已经存在, 无需重复安装"}});var Me=w.noConflict();y.reg(Me),y.apply(Me);var Ue=e("IBizSys",class{constructor(){this.env=j,this.log=Me,this.net=new ce,this.commands=new N,this.mc=new oe}})}}}));
1
+ System.register(["ramda","lodash-es","qx-util","axios","qs","loglevel","loglevel-plugin-prefix"],(function(e){"use strict";var t,n,s,r,i,o,a,c,l,u,d,h,p,m,f,g,b,w,y;return{setters:[function(e){t=e.clone,n=e.isNotNil,s=e.isNil,r=e.mergeDeepRight},function(e){i=e.debounce,o=e.merge,a=e.cloneDeepWith,c=e.cloneWith,l=e.isObject,u=e.isFunction,d=e.uniqueId,e.round,e.cloneDeep},function(e){h=e.getCookie,p=e.notNilEmpty,m=e.createUUID,f=e.QXEvent},function(e){g=e.default},function(e){b=e.default},function(e){w=e.default},function(e){y=e.default}],execute:function(){function v(e){let t,n,s,r=!1;return function(i){void 0===t?(t=i,n=0,s=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,i);const o=t.length;let a=0;for(;n<o;){r&&(10===t[n]&&(a=++n),r=!1);let i=-1;for(;n<o&&-1===i;++n)switch(t[n]){case 58:-1===s&&(s=n-a);break;case 13:r=!0;case 10:i=n}if(-1===i)break;e(t.subarray(a,i),s),a=n,s=-1}a===o?t=void 0:0!==a&&(t=t.subarray(a),n-=a)}}e({awaitTimeout:async function(e,t,n){if(await new Promise((t=>{setTimeout((()=>{t(!0)}),e)})),t)return t(...n||[])},base64ToStr:K,calcMimeByFileName:ve,calcOpenModeStyle:function(e,t){if(e>=0&&e<=100)return"".concat(e,"%");if(e>100)return"drawer"===t?e:"".concat(e,"px");return ibiz.log.error(ibiz.i18n.t("core.utils.invalidInputValue")),""},clone:function(e,t){if(r(Te,t||{}).deep)return a(e,Ce);return c(e,Ce)},colorBlend:function(e,t,n=.5,s="hex"){e=e.trim(),t=t.trim();const r=ye(e),i=ye(t),o=[we((1-n)*r[0]+n*i[0]),we((1-n)*r[1]+n*i[1]),we((1-n)*r[2]+n*i[2]),(1-n)*r[3]+n*i[3]];if("hex"===s){const e=[o[0].toString(16).padStart(2,"0"),o[1].toString(16).padStart(2,"0"),o[2].toString(16).padStart(2,"0"),0===o[3]?"00":we(255*o[3]).toString(16).padStart(2,"0")];return"#".concat(e[0]).concat(e[1]).concat(e[2]).concat(e[3])}return"rgb(".concat(o[0]," ").concat(o[1]," ").concat(o[2]," / ").concat(o[3],")")},compareArr:function(e,t,n){const s=new Set([...e,...t]),r=[],i=[],o=[];if(n){const a=e.map((e=>e[n])),c=t.map((e=>e[n]));s.forEach((e=>{a.includes(e[n])?c.includes(e[n])?o.push(e):r.push(e):i.push(e)}))}else s.forEach((n=>{e.includes(n)?t.includes(n)?o.push(n):r.push(n):i.push(n)}));return{more:r,less:i,same:o}},debounce:function(e,t,n){let s;return function(...r){if(s&&clearTimeout(s),n){const n=!s;s=setTimeout((()=>{s=null}),t),n&&e.apply(this,r)}else s=setTimeout((()=>{e.apply(this,r)}),t)}},debounceAndAsyncMerge:function(e,t,n){let s,r=[];const o=i((async(...t)=>{s=void 0;try{const n=await e(...t);return r.forEach((e=>{e.resolve(n)})),r=[],n}catch(e){r.forEach((t=>{t.reject(e)})),r=[]}}),n);return async(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,o(...n),new Promise(((e,t)=>{r.push({resolve:e,reject:t})}))}},debounceAndMerge:function(e,t,n){let s;const r=i(((...t)=>(s=void 0,e(...t))),n);return(...e)=>{let n=e;return s&&(n=t(s,n)),s=n,r(...n)}},downloadFileFromBlob:function(e,t){const n=ve(t),s=new Blob([e],{type:n}),r=URL.createObjectURL(s),i=document.createElement("a");i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)},eventPath:he,fetchEventSource:R,fileListToArr:Ee,findRecursiveChild:function(e,t,n){const{compareField:s,compareCallback:i}=r(Ae,n||{}),o=i||(e=>e[s]===t);let a;return Re(e,(e=>{if(o(e,t,s))return a=e,!0}),n),a},getToken:H,install:function(){if(window.ibiz)throw new Error(ibiz.i18n.t("core.noReInstall"));window.ibiz=new ke},isBase64:W,isBase64Image:function(e){return/^data:image\/[a-zA-Z+]+;base64,([/+=\w\s]+|[^,]+)$/.test(e)},isElementSame:function(e,t,n){if(e.length!==t.length)return!1;const s=n?[...e.map((e=>e[n])),...t.map((e=>e[n]))]:[...e,...t];return Array.from(new Set(s)).length===e.length},isEmoji:function(e){const t=W(e)?K(e):e;return/[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}]/u.test(t)},isEventInside:me,isImage:function(e){const t=e.includes(".")?e.split(".").pop():"";if(!t)return!1;return["jpeg","jpg","gif","png","bmp","svg"].includes(t)},isOverlap:function(e,t){return Array.from(new Set([...e,...t])).length!==e.length+t.length},isSvg:function(e){return V.test(e)},listenJSEvent:pe,mergeDefaultInLeft:function(e,t){Object.keys(t).forEach((r=>{n(t[r])&&s(e[r])&&(e[r]=t[r])}))},mergeInLeft:function(e,t){Object.keys(t).forEach((s=>{n(t[s])&&(e[s]=t[s])}))},onClickOutside:function(e,t,n={}){const{window:s=be,ignore:r=[],capture:i=!0}=n;if(!e)throw new D(ibiz.i18n.t("core.utils.targetElement"));if(!s)throw new D(ibiz.i18n.t("core.utils.cannotFindWindow"));let o=!0;const a=t=>![e,...r].some((e=>me(t,e)));let c=!1;let l;const u=e=>{c||(s.clearTimeout(l),o&&a(e)&&t(e))},d=[pe(s,"click",u,{passive:!0,capture:i}),pe(s,"pointerdown",(e=>{c||(o=a(e))}),{passive:!0}),pe(s,"pointerup",(e=>{if(!c&&0===e.button){const t=he(e);e.composedPath=()=>t,l=s.setTimeout((()=>u(e)),50)}}),{passive:!0})].filter(Boolean);return{stop:()=>d.forEach((e=>e())),pause:()=>{c=!0},proceed:()=>{c=!1}}},plus:function(e,t){let n,s;try{n=e.toString().split(".")[1].length}catch(e){n=0}try{s=t.toString().split(".")[1].length}catch(e){s=0}const r=10**Math.max(n,s);return(e*r+t*r)/r},recursiveIterate:Re,selectFile:_e,setRemoteStyle:async function(e){try{const t=await ibiz.net.get(e),n=document.createElement("style");n.setAttribute("title","app-style-css"),n.innerText=t.data,document.head.appendChild(n)}catch(t){ibiz.log.debug(ibiz.i18n.t("core.utils.remoteStylesheet"),e)}},strToBase64:function(e){return btoa(encodeURIComponent(e))},throttle:function(e,t){let n=null;return function(...s){n||(n=setTimeout((()=>{e.apply(this,s),n=null}),t))}},toDisposable:I,toNumberOrNil:function(e){if(s(e))return;const t=Number(e);if(Number.isNaN(t))return;return t},updateKeyDefine:function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))},uploadFile:function(e){const t=o({multiple:!0,accept:"",separate:!0,beforeUpload:(e,t)=>!0,finish:e=>{},success:(e,t)=>{},error:(e,t)=>{},progress:e=>{}},e),n=async e=>{const n=e.map((e=>({status:"uploading",name:e.name,uid:d(),percentage:0})));if(!t.beforeUpload(e,n))return n.forEach((e=>{e.status="cancel"})),ibiz.log.debug("取消上传",n),n;try{const s=await(async(e,n)=>{if(t.request&&u(t.request))return t.request(e);const s=new FormData;throw e.forEach((e=>{s.append("file",e)})),new D(ibiz.i18n.t("core.utils.multiApplicationMode"))})(e);n.forEach((e=>{e.status="finished"})),t.success(n,s),n.forEach((e=>{e.response=s}))}catch(s){n.forEach((e=>{e.status="fail"})),t.error(n,s),n.forEach((e=>{e.error=s})),ibiz.log.error(s),ibiz.log.error(ibiz.i18n.t("core.utils.uploadFailed",{file:e.map((e=>e.name)).join(",")}))}return n};_e({accept:t.accept,multiple:t.multiple,onSelected:e=>{(async e=>{const s=t.separate?e.map((e=>[e])):[e],r=await Promise.allSettled(s.map((async e=>n(e)))),i=[];r.forEach((e=>{"fulfilled"===e.status&&i.push(...e.value)})),t.finish(i)})(e)}})}});var E=function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(e,s[r])&&(n[s[r]]=e[s[r]])}return n},_=e("EventStreamContentType","text/event-stream"),x=1e3,O="last-event-id";function R(e,t){var{signal:n,headers:s,onopen:r,onmessage:i,onclose:o,onerror:a,openWhenHidden:c,fetch:l}=t,u=E(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,d)=>{const h=Object.assign({},s);let p;function m(){p.abort(),document.hidden||E()}h.accept||(h.accept=_),c||document.addEventListener("visibilitychange",m);let f=x,g=0;function b(){document.removeEventListener("visibilitychange",m),window.clearTimeout(g),p.abort()}null==n||n.addEventListener("abort",(()=>{b(),t()}));const w=null!=l?l:window.fetch,y=null!=r?r:A;async function E(){var n;p=new AbortController;try{const n=await w(e,Object.assign(Object.assign({},u),{headers:h,signal:p.signal}));await y(n),await async function(e,t){const n=e.getReader();let s;for(;!(s=await n.read()).done;)t(s.value)}(n.body,v(function(e,t,n){let s={data:"",event:"",id:"",retry:void 0};const r=new TextDecoder;return function(i,o){if(0===i.length)null==n||n(s),s={data:"",event:"",id:"",retry:void 0};else if(o>0){const n=r.decode(i.subarray(0,o)),a=o+(32===i[o+1]?2:1),c=r.decode(i.subarray(a));switch(n){case"data":s.data=s.data?s.data+"\n"+c:c;break;case"event":s.event=c;break;case"id":e(s.id=c);break;case"retry":const n=parseInt(c,10);isNaN(n)||t(s.retry=n)}}}}((e=>{e?h[O]=e:delete h[O]}),(e=>{f=e}),i))),null==o||o(),b(),t()}catch(e){if(!p.signal.aborted)try{const t=null!==(n=null==a?void 0:a(e))&&void 0!==n?n:f;window.clearTimeout(g),g=window.setTimeout(E,t)}catch(e){b(),d(e)}}}E()}))}function A(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(_)))throw new Error("Expected content-type to be ".concat(_,", Actual: ").concat(t))}var C=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};C.Undefined=new C(void 0);var T=C,M=e("LinkedList",class{constructor(){this._first=T.Undefined,this._last=T.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===T.Undefined}clear(){let e=this._first;for(;e!==T.Undefined;){const{next:t}=e;e.prev=T.Undefined,e.next=T.Undefined,e=t}this._first=T.Undefined,this._last=T.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new T(e);if(this._first===T.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(n))}}shift(){if(this._first===T.Undefined)return;const e=this._first.element;return this._remove(this._first),e}pop(){if(this._last===T.Undefined)return;const e=this._last.element;return this._remove(this._last),e}_remove(e){if(e.prev!==T.Undefined&&e.next!==T.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===T.Undefined&&e.next===T.Undefined?(this._first=T.Undefined,this._last=T.Undefined):e.next===T.Undefined?(this._last=this._last.prev,this._last.next=T.Undefined):e.prev===T.Undefined&&(this._first=this._first.next,this._first.prev=T.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==T.Undefined;)yield e.element,e=e.next}});function U(e){const t=this;let n,s=!1;return function(){return s||(s=!0,n=e.apply(t,arguments)),n}}function I(e){return{dispose:U((()=>{e()}))}}var k=e("CommandsRegistry",class{constructor(){this.commands=new Map}registerCommand(e,t,n){if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t,opts:n})}const{id:s}=e;let r=this.commands.get(s);r||(r=new M,this.commands.set(s,r));const i=r.unshift(e);return I((()=>{i();const e=this.commands.get(s);(null==e?void 0:e.isEmpty())&&this.commands.delete(s)}))}hasCommand(e){return this.commands.has(e)}getCommand(e){const t=this.commands.get(e);if(t&&!t.isEmpty())return t[Symbol.iterator]().next().value}getCommands(){const e=new Map,t=this.commands.keys();for(const n of t){const t=this.getCommand(n);t&&e.set(n,t)}return e}getCommandOpt(e){const t=this.getCommand(e);return null==t?void 0:t.opts}}),N=e("CommandController",class{constructor(){this.commandRegister=new k}register(e,t,n){return this.commandRegister.registerCommand(e,t,n)}async execute(e,...t){const n=this.commandRegister.getCommand(e);if(n)return n.handler(...t);throw new Error(ibiz.i18n.t("core.command.unregisteredCommand",{id:e}))}hasCommand(e,t){const n=!!this.commandRegister.hasCommand(e);if(!0===t&&!0===n)throw new Error("未注册指令: ".concat(e,",请先注册指令"));return n}getCommandOpts(e){return this.commandRegister.getCommandOpt(e)}}),S=(e("commands",new N),e("CoreConst",class{}));S.DEFAULT_MODEL_SERVICE_TAG="default",S.TOKEN="ibzuaa-token",S.REFRESH_TOKEN="ibzuaa-refresh-token",S.TOKEN_EXPIRES="ibzuaa-token-expires",S.TOKEN_REMEMBER="ibizuaa-token-remember",S.IS_ANONYMOUS="ibizuaa-is-anonymous";var P=e("NOOP",(()=>{})),z=(e("HttpStatusMessageConst",{200:"服务器成功返回请求的数据。",201:"新建或修改数据成功。",202:"一个请求已经进入后台排队(异步任务)。",204:"删除数据成功。",400:"发出的请求有错误,服务器没有进行新建或修改数据的操作。",401:"用户没有权限(令牌、用户名、密码错误)。",403:"用户得到授权,但是访问是被禁止的。",404:"发出的请求针对的是不存在的记录,服务器没有进行操作。",406:"请求的格式不可得。",410:"请求的资源被永久删除,且不会再得到的。",422:"当创建一个对象时,发生一个验证错误。",500:"服务器发生错误,请检查服务器。",502:"网关错误。",503:"服务不可用,服务器暂时过载或维护。",504:"网关超时。"}),e("LoginMode",(e=>(e.DEFAULT="DEFAULT",e.CUSTOM="CUSTOM",e.CAS="CAS",e))(z||{}))),F=e("MenuPermissionMode",(e=>(e.MIXIN="MIXIN",e.RESOURCE="RESOURCE",e.RT="RT",e))(F||{})),L=(e("IBizContext",class e{constructor(e={},t){Object.defineProperty(this,"_associationContext",{enumerable:!1,configurable:!0,value:[]}),t&&this.initWithParent(t),Object.assign(this,e)}initWithParent(e){const t=this;Object.defineProperty(this,"_parent",{enumerable:!1,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!1,writable:!0,value:{}});const n={};Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||(n[e]={enumerable:!0,configurable:!0,set(n){t._context[e]=null==n?null:n},get:()=>void 0!==t._context[e]?t._context[e]:t._parent?t._parent[e]:""})})),Object.defineProperties(this,n)}getOwnContext(){const e={};return Object.keys(this).forEach((t=>{this._parent&&Object.prototype.hasOwnProperty.call(this._parent,t)&&!Object.prototype.hasOwnProperty.call(this._context,t)||(e[t]=this[t])})),e}destroy(){this._parent=void 0,this._context={},this._associationContext.forEach((e=>{e.destroy()}))}clone(){const n=new e(t(this.getOwnContext()),this._parent);return this._associationContext.push(n),n}reset(e={},t){this._associationContext.forEach((e=>{e.destroy()})),this._parent&&(this._parent={},this._context={}),Object.keys(this).forEach((e=>{try{delete this[e]}catch(e){}})),t&&this.initWithParent(t),Object.assign(this,e)}static create(t,n){return new e(t,n)}}),e("IBizParams",class{constructor(e,t){return Object.defineProperty(this,"_parent",{enumerable:!1,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_params",{enumerable:!1,configurable:!0,writable:!0,value:e||{}}),this.createProxy()}createProxy(){return new Proxy(this,{set:(e,t,n)=>(["_params","_parent"].includes(t)?e[t]=n:e._params[t]=n,!0),get:(e,t,n)=>void 0!==e[t]?e[t]:void 0!==e._params[t]?e._params[t]:e._parent&&void 0!==e._parent[t]?e._parent[t]:void 0,ownKeys(e){const t=[...new Set([...Object.keys(e._params),...Object.keys(e._parent||{})])];return function(e,t){t.forEach((t=>{Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,configurable:!0,writable:!0,value:void 0})}))}(e,t),t}})}reset(e,t){this._params=e||{},this._parent=t}destroy(){this._params={},this._parent=void 0}}),e("Environment",{dev:!1,hub:!0,enableMqtt:!1,mqttUrl:"/portal/mqtt/mqtt",isEnableMultiLan:!1,anonymousUser:"",anonymousPwd:"",enableAnonymous:!1,logLevel:"ERROR",baseUrl:"/api",appId:"",pluginBaseUrl:"http://172.16.240.221",isLocalModel:!1,remoteModelUrl:"/remotemodel",assetsUrl:"./assets",dcSystem:"",downloadFileUrl:"/ibizutil/download/{cat}",uploadFileUrl:"/ibizutil/upload/{cat}",casLoginUrl:"",loginMode:"DEFAULT",menuPermissionMode:"MIXIN",enablePermission:!0,routePlaceholder:"-",enableWfAllHistory:!1,isMob:!1,isSaaSMode:!0,AppTitle:"",favicon:"./favicon.ico",enableTitle:!0})),j=e("HttpError",class extends Error{constructor(e){super("HttpError"),this.name="HttpError";const t=e.response;this.response=e.response,this.tag="",t?(t.data?this.message=t.data.message:this.message=t.statusText,this.message||(this.message=ibiz.i18n.t("core.error.networkAbnormality")),this.status=t.status):(this.message=e.message||"",this.status=500)}}),D=(e("ModelError",class extends Error{constructor(e,t){super(ibiz.i18n.t("core.error.modelMsg",{id:e.id,msg:t?": ".concat(t):""})),this.model=e,this.name=ibiz.i18n.t("core.error.unsupportedModels")}}),e("RuntimeError",class extends Error{constructor(e){super(e),this.message=e,this.name="Runtime Error"}})),B=(e("RuntimeModelError",class extends Error{constructor(e,t){super(ibiz.i18n.t("core.error.modelMsg",{id:e.id,msg:t?": ".concat(t):""})),this.model=e,this.name=ibiz.i18n.t("core.error.modelConfigurationMissing")}}),e("NoticeError",class extends Error{constructor(e,t){super(e),this.message=e,this.duration=t,this.name="notice Error"}}),e("EntityError",class extends j{constructor(e){if(super(e),this.name="EntityError",this.details=[],this.response){const{details:e=[]}=this.response.data;this.details=e.map((e=>({name:e.fieldname.toLowerCase(),logicName:e.fieldlogicname,errorType:e.fielderrortype,errorInfo:e.fielderrorinfo})))}}})),q=e("HttpErrorFactory",class{static getInstance(e){const{response:t}=e;if(!t||!t.data)return new j(e);const{type:n}=t.data;return"EntityException"===n?new B(e):new j(e)}});function H(){return h(S.TOKEN)}var V=/<svg\b[^>]*>[\s\S]*?<\/svg>/;function W(e){return/^[A-Za-z0-9+/=]+$/.test(e)&&e.length%4==0}function K(e){return decodeURIComponent(atob(e))}var Y=e("Interceptor",class{async onBeforeRequest(e){return e}onRequestError(e){return Promise.reject(e)}async onResponseSuccess(e){return e}onResponseError(e){return Promise.reject(e)}use(e){this.requestTag=e.interceptors.request.use(this.onBeforeRequest,this.onRequestError),this.responseTag=e.interceptors.response.use(this.onResponseSuccess,this.onResponseError)}eject(e){this.requestTag&&e.interceptors.request.eject(this.requestTag),this.responseTag&&e.interceptors.response.eject(this.responseTag)}}),J=e("CoreInterceptor",class extends Y{async onBeforeRequest(e){e=await super.onBeforeRequest(e);const{headers:t}=e;t.set("Authorization","Bearer ".concat(H()));let n=ibiz.env.dcSystem;const{orgData:s}=ibiz;return s&&(s.systemid&&(n=s.systemid),s.orgid&&t.set("srforgid",s.orgid)),t.set("srfsystemid",n),e}}),$=class{constructor(e){this.parent=e,this.evt=new f(1e3)}next(e){this.evt.emit("all",e),this.parent&&this.nextParent(e)}nextParent(e){this.parent&&(this.parent.evt.emit("all",e),this.parent.nextParent(e))}on(e){this.evt.on("all",e)}off(e){this.evt.off("all",e)}},G=class extends ${},X=class extends ${sendCommand(e,t,n){const s={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,triggerKey:n,data:e};this.next(s)}},Z=class extends X{send(e,t){this.sendCommand(e,"OBJECTCREATED",null==t?void 0:t.triggerKey)}},Q=class extends X{send(e,t){this.sendCommand(e,"OBJECTUPDATED",null==t?void 0:t.triggerKey)}},ee=class extends X{send(e,t){this.sendCommand(e,"OBJECTREMOVED",null==t?void 0:t.triggerKey)}},te=class extends X{},ne=class extends X{send(e){this.sendCommand(e,"ASYNCACTION")}},se=class extends X{send(e){this.sendCommand(e,"INTERNALMESSAGE")}},re=class extends X{send(e){this.sendCommand(e,"MARKOPENDATA")}},ie=class extends ${constructor(){super(...arguments),this.change=new te,this.create=new Z(this),this.update=new Q(this),this.remove=new ee(this),this.asyncAction=new ne(this),this.internalMessage=new se(this),this.markOpenData=new re(this)}next(e){switch(e.subtype){case"OBJECTCREATED":this.create.next(e),this.change.next(e);break;case"OBJECTUPDATED":this.update.next(e),this.change.next(e);break;case"OBJECTREMOVED":this.remove.next(e),this.change.next(e);break;case"ASYNCACTION":this.asyncAction.next(e);break;case"INTERNALMESSAGE":this.internalMessage.next(e);break;case"MARKOPENDATA":this.markOpenData.next(e);break;default:super.next(e)}}nextParent(e){switch(e.subtype){case"OBJECTCREATED":case"OBJECTUPDATED":case"OBJECTREMOVED":this.change.next(e)}super.nextParent(e)}send(e,t,n){const s={messageid:m(),messagename:"command",type:"COMMAND",subtype:t,triggerKey:n,data:e};this.next(s)}},oe=class extends ${send(e){const t={messageid:m(),messagename:"console",type:"CONSOLE",data:e};this.next(t)}},ae=class extends ${send(e){const t={messageid:m(),messagename:"error",type:"ERROR",data:e};this.next(t)}},ce=e("MessageCenter",class{constructor(){this.all=new G,this.command=new ie(this.all),this.console=new oe(this.all),this.error=new ae(this.all)}next(e){"COMMAND"===e.type?this.command.next(e):"CONSOLE"===e.type?this.console.next(e):this.all.next(e)}on(e){this.all.on(e)}off(e){this.all.off(e)}});function le(e,t,n,s,r){let i="".concat(e,"-").concat(t);return n&&(i+="-".concat(n)),s&&(i+="__".concat(s)),r&&(i+="--".concat(r)),i}e("Namespace",class{constructor(e,t){this.block=e,this.namespace=t||"ibiz"}b(e=""){return le(this.namespace,this.block,e,"","")}e(e){return e?le(this.namespace,this.block,"",e,""):""}m(e){return e?le(this.namespace,this.block,"","",e):""}be(e,t){return e&&t?le(this.namespace,this.block,e,t,""):""}em(e,t){return e&&t?le(this.namespace,this.block,"",e,t):""}bm(e,t){return e&&t?le(this.namespace,this.block,e,"",t):""}bem(e,t,n){return e&&t&&n?le(this.namespace,this.block,e,t,n):""}is(e,t){return e&&t?"".concat("is-").concat(e):""}cssVar(e){const t={};for(const n in e)e[n]&&(t[this.cssVarName(n)]=e[n]);return t}cssVarBlock(e){const t={};for(const n in e)e[n]&&(t[this.cssVarBlockName(n)]=e[n]);return t}cssVarName(e){return"--".concat(this.namespace,"-").concat(e)}cssVarBlockName(e){return"--".concat(this.namespace,"-").concat(this.block,"-").concat(e)}}),e("HttpResponse",class{constructor(e,t,n){this.local=!0,this.ok=!1,this.headers={},this.config={headers:new g.AxiosHeaders},this.data=e,this.status=t||200,this.statusText=n||"",this.status>=200&&this.status<300&&(this.ok=!0)}});var ue=e("Net",class{constructor(e){this.urlReg=/^http[s]?:\/\/[^\s]*/,this.waitRequest=new Map,this.interceptors=new Map,this.instance=g.create(e),this.addInterceptor("Default",new J)}get baseUrl(){return this.instance.defaults.baseURL||"".concat(ibiz.env.baseUrl,"/").concat(ibiz.env.appId)}addInterceptor(e,t){t.use(this.instance),this.interceptors.set(e,t)}removeInterceptor(e){const t=this.interceptors.get(e);t&&(t.eject(this.instance),this.interceptors.delete(e))}get presetConfig(){return{baseURL:this.baseUrl,headers:{"Content-Type":"application/json;charset=UTF-8",Accept:"application/json"}}}mergeConfig(...e){const t=this.presetConfig;if(0===e.length)return t;const{url:n}=e[0];return n&&this.urlReg.test(n)&&delete t.baseURL,o(t,...e)}async post(e,t,n={},s={}){e=this.handleAppPresetParam(e,n,t);try{const n=await this.request(e,{method:"post",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw q.getInstance(e)}}async get(e,t={},n={},s={}){e=this.attachUrlParam(e,t);try{const t=await this.request(e,o({method:"get",headers:n},s));return this.doResponseResult(t)}catch(e){throw q.getInstance(e)}}async delete(e,t={},n={}){e=this.handleAppPresetParam(e,t);try{const t=await this.request(e,{method:"delete",headers:n});return this.doResponseResult(t)}catch(e){throw q.getInstance(e)}}async put(e,t,n={},s={}){e=this.handleAppPresetParam(e,n);try{const n=await this.request(e,{method:"put",data:t,headers:s});return this.doResponseResult(n)}catch(e){throw q.getInstance(e)}}async getModel(e,t={}){try{const n=await this.instance.get(e,{headers:t});return this.doResponseResult(n)}catch(e){throw q.getInstance(e)}}async request(e,t={}){const n=this.mergeConfig({url:e},t),s=JSON.stringify(n);try{let e=null;this.waitRequest.has(s)?e=this.waitRequest.get(s):(e=this.instance.request(n),this.waitRequest.set(s,e));const t=await e;return this.waitRequest.has(s)&&this.waitRequest.delete(s),this.doResponseResult(t)}catch(e){throw this.waitRequest.has(s)&&this.waitRequest.delete(s),q.getInstance(e)}}axios(e){return g(e)}async sse(e,t,n={}){e=this.attachUrlParam(this.baseUrl+e,t),n.headers||(n.headers={});const s=n.headers;{s.Authorization="Bearer ".concat(H());let e=ibiz.env.dcSystem;const{orgData:t}=ibiz;t&&(t.systemid&&(e=t.systemid),t.orgid&&(s.srforgid=t.orgid)),s.srfsystemid=e}const i=r({openWhenHidden:!0,method:"POST"},n);await R(e,i)}doResponseResult(e){const t=e;if(t.status>=200&&t.status<=299){t.ok=!0;const e=t.data;""!==e&&null!==e||(t.data=void 0)}return t}handleAppPresetParam(e,t,n={}){return n&&Object.prototype.hasOwnProperty.call(n,"srfversionid")&&(t.srfversionid=n.srfversionid),t?this.attachUrlParam(e,t):e}attachUrlParam(e,t){{const t=e.split("?");t[0]=t[0].split("/").map((e=>encodeURIComponent(e))).join("/"),e=t.length>1?t.join("?"):t[0]}const n=b.stringify(t);return p(n)&&(e=e.endsWith("?")||-1!==e.indexOf("?")&&e.endsWith("&")?"".concat(e).concat(n):-1===e.indexOf("?")||e.endsWith("&")?"".concat(e,"?").concat(n):"".concat(e,"&").concat(n)),e}}),de=e("StringUtil",class{static fill(e,t,n){if(p(e)){if(p(t)){const n=e.match(this.contextReg);null==n||n.forEach((n=>{const s=n.slice(10,n.length-1);e=e.replace("${context.".concat(s,"}"),t[s]||"")}))}if(p(n)){const t=e.match(this.dataReg);null==t||t.forEach((t=>{const s=t.slice(7,t.length-1);e=e.replace("${data.".concat(s,"}"),n[s]||"")}))}}return e}});de.contextReg=/\$\{context.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g,de.dataReg=/\$\{data.[a-zA-Z_$][a-zA-Z0-9_$]{1,}\}/g;e("UrlHelper",class{static get routeBase(){const e=window.location.href.lastIndexOf("#/");return window.location.href.slice(0,e+1)}static get appBase(){const{origin:e,pathname:t}=window.location;return"".concat(e).concat(t).replace(/\/$/,"")}static get routePath(){return window.location.hash.replace("#","")}static get fullPath(){return window.location.href}});function he(e){const t=e.composedPath&&e.composedPath()||e.path;if(null!=t)return t;return[e.target].concat(function e(t,n=[]){const s=t.parentNode;return s?e(s,n.concat([s])):n}(e.target))}function pe(e,t,n,s={}){e.addEventListener(t,n,s);let r=()=>{e.removeEventListener(t,n,s),r=P};return()=>{r()}}function me(e,t){return t&&(e.target===t||he(e).includes(t))}var fe=class e{constructor(t={}){this.data=t,this._prev=e.Undefined,this._next=e.Undefined}clone(){throw new D(ibiz.i18n.t("core.utils.unrealized"))}};fe.Undefined=new fe(void 0);var ge=e("HistoryItem",fe),be=(e("HistoryList",class e{get data(){return this._cur.data}constructor(e){this._cur=new ge(e)}assign(e){e&&(this.save(),Object.assign(this._cur.data,e))}save(){const e=this._cur,n=t(e.data),s=new ge(n);s._prev=e,e._next._prev=ge.Undefined,this._clear(e._next),e._next=s,this._cur=s}prev(){return!(!this._cur._prev||this._cur._prev===ge.Undefined)&&(this._cur=this._cur._prev,!0)}next(){return!(!this._cur._next||this._cur._next===ge.Undefined)&&(this._cur=this._cur._next,!0)}_clear(e){e._prev&&e._prev!==ge.Undefined&&(e._prev._next=ge.Undefined,this._clear(e._prev),e._prev=ge.Undefined),e._next&&e._next!==ge.Undefined&&(e._next._prev=ge.Undefined,this._clear(e._next),e._next=ge.Undefined),e.data={}}clone(){return new e({})._cur=t(this._cur),this}destroy(){this._clear(this._cur)}}),"undefined"!=typeof window?window:void 0);var we=Math.round;function ye(e){const t=e.length,n=[];if("rgb"===e.slice(0,3).toLowerCase()){const t=e.match(/([\d|.%]{1,3})/g);n[0]=parseInt(t[0],10),n[1]=parseInt(t[1],10),n[2]=parseInt(t[2],10),n[3]=t[3]?-1!==t[3].indexOf("%")?parseInt(t[3],10)/100:parseFloat(t[3]):1}else{let s;s=t<6?parseInt(String(e[1])+e[1]+e[2]+e[2]+e[3]+e[3]+(t>4?String(e[4])+e[4]:""),16):parseInt(e.slice(1),16),n[0]=s>>16&255,n[1]=s>>8&255,n[2]=255&s,n[3]=9===t||5===t?we((s>>24&255)/255*1e4)/1e4:1}return n}function ve(e){let t="";switch(e.includes(".")?e.split(".").pop():""){case"wps":t="application/kswps";break;case"doc":t="application/msword";break;case"docx":t="application/vnd.openxmlformats-officedocument.wordprocessingml.document";break;case"txt":t="text/plain";break;case"zip":t="application/zip";break;case"png":t="image/png";break;case"gif":t="image/gif";break;case"jpeg":case"jpg":t="image/jpeg";break;case"rtf":t="application/rtf";break;case"avi":t="video/x-msvideo";break;case"gz":t="application/x-gzip";break;case"tar":t="application/x-tar";break;case"xlsx":t="application/vnd.ms-excel";break;default:t=""}return t}function Ee(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t}function _e(e){const t=o({multiple:!0,accept:""},e),n=document.createElement("input");n.setAttribute("type","file"),n.setAttribute("multiple","".concat(t.multiple)),n.setAttribute("accept",t.accept);let s=!0;n.onchange=e=>{const n=e.target,r=n.files?Ee(n.files):[];0!==r.length&&(s=!1,t.onSelected(r),n.value="")},document.body.appendChild(n),n.click(),window.addEventListener("focus",(()=>{setTimeout((()=>{s&&t.onCancel&&t.onCancel()}),300)}),{once:!0}),document.body.removeChild(n)}e("CountLatch",class{constructor(){this.promise=null,this.resolve=null,this.count=0}startPromise(){this.promise=new Promise((e=>{this.resolve=e}))}endPromise(){this.resolve&&(this.resolve(),this.resolve=null,this.promise=null)}lock(){this.count+=1,this.promise||this.startPromise()}unlock(){if(this.count<1)throw new D(ibiz.i18n.t("core.utils.notMatchLockUnlock"));this.count-=1,0===this.count&&this.endPromise()}async await(){this.promise&&await this.promise}});var xe={childrenFields:["children"]},Oe=new Error("中断操作");function Re(e,t,n){try{!function(e,t,n){const{childrenFields:s}=r(xe,n||{}),i=function(e,t){var n;for(const s of t)if(null==(n=e[s])?void 0:n.length)return e[s]}(e,s);if(null==i?void 0:i.length)for(const s of i){if(t(s,e))throw Oe;Re(s,t,n)}}(e,t,n)}catch(e){if(e!==Oe)throw e}}var Ae={...xe,compareField:"name"};function Ce(e){if(l(e)&&u(e.clone))return e.clone()}e("DataTypes",class{static isNumber(e){return["BIGINT","BINARY","DECIMAL","FLOAT","INT","MONEY","NUMERIC","REAL","SMALLINT","SMALLMONEY","TINYINT","VARBINARY"].includes(this.toString(e))}static isDate(e){return["DATETIME","SMALLDATETIME","DATE","TIME"].includes(this.toString(e))}static toString(e){return this.typeMap[e]}}).typeMap={0:"UNKNOWN",1:"BIGINT",2:"BINARY",3:"BIT",4:"CHAR",5:"DATETIME",6:"DECIMAL",7:"FLOAT",8:"IMAGE",9:"INT",10:"MONEY",11:"NCHAR",12:"NTEXT",13:"NVARCHAR",14:"NUMERIC",15:"REAL",16:"SMALLDATETIME",17:"SMALLINT",18:"SMALLMONEY",19:"SQL_VARIANT",20:"SYSNAME",21:"TEXT",22:"TIMESTAMP",23:"TINYINT",24:"VARBINARY",25:"VARCHAR",26:"UNIQUEIDENTIFIER",27:"DATE",28:"TIME",29:"BIGDECIMAL"};var Te={deep:!0};function Me(e){return!(!e||e&e-1)}function Ue(e){if(!Me(e))throw new D(ibiz.i18n.t("core.utils.powerOfTwo",{permission:e}))}e("BitMask",{validate:Me,setPermission:function(e=0,t){return Ue(t),e|t},removePermission:function(e=0,t){return Ue(t),e&~t},checkPermission:function(e=0,t){return Ue(t),0!=(e&t)}}),e("en",{core:{command:{unregisteredCommand:"Unregistered command: {id}, please register the command first"},error:{networkAbnormality:"Network abnormality, please try again later",modelMsg:"「{id}」 model {msg}",unsupportedModels:"Unsupported models",modelConfigurationMissing:"Model Configuration Missing"},utils:{powerOfTwo:"{permission} is not a power of two.",targetElement:"The target element does not exist",cannotFindWindow:"Cannot find window",unrealized:"unrealized",remoteStylesheet:"Failed to load remote stylesheet",notMatchLockUnlock:"The lock and unlock counts do not match!",multiApplicationMode:"Multi-application mode waiting for reimplementation requests",uploadFailed:"{file}Upload failed",invalidInputValue:"Invalid input value, must be >= 0"},noReInstall:"ibiz already exists, no need to re-install it"}}),e("zhCn",{core:{command:{unregisteredCommand:"未注册指令: {id},请先注册指令"},error:{networkAbnormality:"网络异常,请稍后重试",modelMsg:"「{id}」模型 {msg}",unsupportedModels:"未支持的模型",modelConfigurationMissing:"模型配置缺失"},utils:{powerOfTwo:"{permission}不是2的幂",targetElement:"target元素不存在",cannotFindWindow:"找不到window",unrealized:"未实现",remoteStylesheet:"未实现加载远程样式表失败",notMatchLockUnlock:"lock和unlock次数不匹配!",multiApplicationMode:"多应用模式等待重新实现请求",uploadFailed:"{file}Upload failed",invalidInputValue:"无效输入值,必须>=0"},noReInstall:"ibiz 已经存在, 无需重复安装"}});var Ie=w.noConflict();y.reg(Ie),y.apply(Ie);var ke=e("IBizSys",class{constructor(){this.env=L,this.log=Ie,this.net=new ue,this.commands=new N,this.mc=new ce}})}}}));
@@ -288,6 +288,18 @@ export declare function isBase64Image(str: string): boolean;
288
288
  * @return {*} {boolean}
289
289
  */
290
290
  export declare function isBase64(str: string): boolean;
291
+ /**
292
+ * 判断字符串是否为表情符号格式
293
+ * @description 判断字符串是否为表情符号格式, 用法传入字符串 返回值为boolean类型
294
+ * ```
295
+ * isEmoji('JUYwJTlGJTk4JTg0') => true
296
+ * isEmoji('Hello World!') => false
297
+ * ```
298
+ * @export
299
+ * @param {string} str
300
+ * @return {*} {boolean}
301
+ */
302
+ export declare function isEmoji(str: string): boolean;
291
303
  /**
292
304
  * 字符串转Base64格式字符串
293
305
  * @description 主要用于将UTF-8字符串转为Base64格式字符串
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/utils/util/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/utils/util/util.ts"],"names":[],"mappings":"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"}
@@ -453,6 +453,24 @@ export function isBase64(str) {
453
453
  // Base64 编码规则:包含字母、数字、+、/、=,并且长度通常是 4 的倍数(最后可能有 1 或 2 个等号)
454
454
  return /^[A-Za-z0-9+/=]+$/.test(str) && str.length % 4 === 0;
455
455
  }
456
+ /**
457
+ * 判断字符串是否为表情符号格式
458
+ * @description 判断字符串是否为表情符号格式, 用法传入字符串 返回值为boolean类型
459
+ * ```
460
+ * isEmoji('JUYwJTlGJTk4JTg0') => true
461
+ * isEmoji('Hello World!') => false
462
+ * ```
463
+ * @export
464
+ * @param {string} str
465
+ * @return {*} {boolean}
466
+ */
467
+ export function isEmoji(str) {
468
+ // 当字符串为base64格式,先转成字符串再判断
469
+ const tempStr = isBase64(str) ? base64ToStr(str) : str;
470
+ // 使用正则表达式来匹配表情符号
471
+ const emojiRegex = /[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F700}-\u{1F77F}\u{1F780}-\u{1F7FF}\u{1F800}-\u{1F8FF}\u{1F900}-\u{1F9FF}\u{1FA00}-\u{1FA6F}\u{1FA70}-\u{1FAFF}]/u;
472
+ return emojiRegex.test(tempStr);
473
+ }
456
474
  /**
457
475
  * 字符串转Base64格式字符串
458
476
  * @description 主要用于将UTF-8字符串转为Base64格式字符串
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/core",
3
- "version": "0.7.27",
3
+ "version": "0.7.28-alpha.0",
4
4
  "description": "核心包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -52,5 +52,5 @@
52
52
  "qx-util": "^0.4.8",
53
53
  "ramda": "^0.29.0"
54
54
  },
55
- "gitHead": "1af3989d7522bd74fb35963534644eb364d87af0"
55
+ "gitHead": "5d1fc37f250e414ede93a18658ec107ace405989"
56
56
  }