@vtj/renderer 0.16.27 → 0.16.29

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.cjs CHANGED
@@ -1,16 +1,20 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("@vtj/core"),f=require("@vtj/utils"),$=require("vue"),Ee=require("vue-router");function ot(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const W=ot($);/**!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("@vtj/core"),f=require("@vtj/utils"),$=require("vue"),Ee=require("vue-router");function ct(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const W=ct($);/**!
2
2
  * Copyright (c) 2026, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.16.27
5
+ * @version 0.16.29
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const D="0.16.27";var S=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(S||{});const ie=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],it=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],$e=["vIf","vElseIf","vElse","vShow","vModel","vFor","vBind","vHtml"],be={String,Number,Boolean,Array,Object,Function,Date},x="VtjPage",U="VtjHomepage",le="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot,svg".split(","),je="component,slot".split(","),at=["h","t","t","p","s",":","/","/","a","p","p",".","v","t","j",".","p","r","o"].join(""),ct={auth:["h","t","t","p","s",":","/","/","a","p","p",".","v","t","j",".","p","r","o","/","a","u","t","h",".","h","t","m","l"].join(""),storageKey:["R","R","O","_","I","D","E","_","A","C","C","E","S","S","_","S","T","O","R","A","G","E","_","_"].join(""),privateKey:"MIIBOgIBAAJBAKoIzmn1FYQ1YOhOBw9EhABxZ+PySAIaydI+zdhoKflrdgJ4A5E4/5gbQmRpk09hPWG8nvX7h+l/QLU8kXxAIBECAwEAAQJAAlgpxQY6sByLsXqzJcthC8LSGsLf2JEJkHwlnpwFqlEV8UCkoINpuZ2Wzl+aftURu5rIfAzRCQBvHmeOTW9/zQIhAO5ufWDmnSLyfAAsNo5JRNpVuLFCFodR8Xm+ulDlosR/AiEAtpAltyP9wmCABKG/v/hrtTr3mcvFNGCjoGa9bUAok28CIHbrVs9w1ijrBlvTsXYwJw46uP539uKRRT4ymZzlm9QjAiB+1KH/G9f9pEEL9rtaSOG7JF5D0JcOjlze4MGVFs+ZrQIhALKOUFBNr2zEsyJIjw2PlvEucdlG77UniszjXTROHSPd"};function N(n,e){return n.map(t=>f.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function B(n){return/\.css$/.test(n)}function J(n){return/\.js$/.test(n)}function Ce(n){return/\.json$/.test(n)}function lt(n){return n.map(e=>`<script src="${f.url.append(e,{v:D})}"><\/script>`).join("")}function ut(n=[]){return n.map(e=>`<link rel="stylesheet" href="${f.url.append(e,{v:D})}" />`).join("")}function Re(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function Pe(n,e,t=!1){const s=n.filter(d=>!!d.enabled),r=[],o=[],i=[],a=[],u={},c={},l=[],p={};return s.forEach(({urls:d,assetsUrl:h,library:g,assetsLibrary:m,localeLibrary:_})=>{d?.forEach(y=>{J(y)&&r.push(Re(y,t)),B(y)&&o.push(y)}),g&&(a.push(g),u[g]=N(d||[],e),_&&(c[g]=_)),h&&i.push(h),m&&l.push(m),g&&m&&(p[m]=g)}),{scripts:N(r,e),css:N(o,e),materials:N(i,e),libraryExports:a,materialExports:f.dedupArray(l),materialMapLibrary:p,libraryMap:u,libraryLocaleMap:c}}function Ae(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function Ie(n=[]){const e=n.filter(s=>B(s)),t=n.filter(s=>J(s));return{css:e,js:t}}function Te(n,e){const t=c=>{const l=[];let p=0;for(;p<c.length;){if(/\s/.test(c[p])){p++;continue}if(c.substring(p,p+2)==="/*"){const y=c.indexOf("*/",p+2);if(y!==-1){p=y+2;continue}}if(c[p]==="@"){const y=p;for(;p<c.length&&c[p]!=="{"&&c[p]!==";";)p++;const w=c.substring(y,p).trim(),C=w.includes("@keyframes");if(c[p]===";")l.push({type:"simple-at-rule",content:c.substring(y,p+1)}),p++;else if(c[p]==="{"){const v=p+1;let A=1;for(p++;p<c.length&&A>0;)c[p]==="{"?A++:c[p]==="}"&&A--,p++;const Z=c.substring(y,p),ee=c.substring(v,p-1);l.push({type:C?"keyframes":"at-rule",rule:w,content:Z,inner:ee})}continue}const d=p;for(;p<c.length&&c[p]!=="{";)p++;if(p>=c.length)break;const h=c.substring(d,p).trim();if(!h){p++;continue}const g=p+1;let m=1;for(p++;p<c.length&&m>0;)c[p]==="{"?m++:c[p]==="}"&&m--,p++;const _=c.substring(g,p-1);l.push({type:"rule",selector:h,content:_.trim()})}return l},s=c=>{const l=c.trim();return/^(from|to|\d+(\.\d+)?%)$/.test(l)},r=c=>c.replace(/::v-deep\(/g,":deep(").replace(/::v-deep\s+/g,":deep(").replace(/\/deep\//g," ").replace(/>>>/g," ").replace(/(.*?):deep\(([^)]+)\)/g,(l,p,d)=>{const h=p.trim(),g=d.trim();return h?`${h}[${e}] ${g}`:g}),o=c=>{const l=c.trim();if(!l||l.includes(`[${e}]`)||/^(:root|:host|html|body)(\s|$|:|\.|\#|\[)/.test(l)||s(l))return l;const p=l.match(/^(.+?)((?:::?[\w-]+(?:\([^)]*\))?)*)\s*$/);if(p){const[,d,h=""]=p,g=d.trim();return g?`${g}[${e}]${h}`:l}return`${l}[${e}]`},i=c=>r(c).split(",").map(p=>o(p)).filter(p=>p.trim()).join(", "),a=c=>c.map(l=>{switch(l.type){case"simple-at-rule":return l.content;case"keyframes":return l.content;case"at-rule":try{const d=t(l.inner),h=a(d);return`${l.rule} { ${h} }`}catch{return l.content}case"rule":if(!l.selector||!l.content)return"";const p=i(l.selector);return p.trim()?`${p} { ${l.content} }`:"";default:return""}}).filter(l=>l.trim()).join(" "),u=c=>c.replace(/\s*{\s*/g," { ").replace(/\s*}\s*/g," } ").replace(/\s*;\s*/g,"; ").replace(/\s*,\s*/g,", ").replace(/\s+/g," ").replace(/^\s+|\s+$/g,"").replace(/\s*}\s*}/g," } }").trim();try{const c=n.replace(/\/\*(?!\s*!)[\s\S]*?\*\//g,"").replace(/^\s+|\s+$/gm,"").replace(/\n\s*\n/g,`
8
- `),l=t(c),p=a(l);return u(p)}catch(c){return console.error("CSS scoping failed:",c),console.error("Input CSS:",n),n.replace(/\/\*[\s\S]*?\*\//g,"").replace(/(@keyframes\s+[^{]+\s*{[^{}]*(?:{[^}]*}[^{}]*)*})/g,l=>l).replace(/([^{}@]+)(?=\s*{)/g,l=>{const p=l.trim();return!p||p.startsWith("@")||p.includes(`[${e}]`)||s(p)?l:`${p}[${e}]`})}}const pt=750;function Me(n,e,t){let s;typeof n<"u"?s=n.innerWidth||n.document.documentElement.clientWidth:(console.warn("无法获取屏幕宽度,使用默认值375"),s=375);const r=t||pt;return e*s/r}function Oe(n,e){let t=!1,s=!1,r=!1,o="";for(let i=0;i<e.length;i++){const a=e[i];if(a==="'"&&!s&&!r?t=!t:a==='"'&&!t&&!r?s=!s:e.substr(i,4).toLowerCase()==="url("&&!t&&!s?r=!0:a===")"&&r&&(r=!1),!t&&!s&&!r){const u=e.substr(i).match(/^(-?\d+(?:\.\d+)?)\s*rpx/);if(u){const c=u[1],l=parseFloat(c),d=`${Me(n,l).toFixed(6).replace(/\.?0+$/,"")}px`;o+=d,i+=u[0].length-1;continue}}o+=a}return o}function ue(n){return f.isString(n)?n:JSON.stringify(n)}function Q(n,e,t,s=!1){const r=n.CSSStyleSheet,o=s?`data-v-${e}`:e,i=n.__uniConfig?Oe(n,t):t,a=s?Te(i,o):i,u=!!n.__uniConfig;if(r.prototype.replaceSync&&!u){const c=new r;c.id=e,c.replaceSync(a);const l=n.document,p=l.adoptedStyleSheets,d=Array.from(p).filter(h=>h.id!==e);l.adoptedStyleSheets=[...d,c]}else{const c=n.document;let l=c.getElementById(e);l?l.innerHTML=a:(l=c.createElement("style"),l.id=e,l.innerHTML=a,c.head.appendChild(l))}}function ft(n){const e=n.adoptedStyleSheets||[];let t="";if(e.forEach(s=>{try{for(const r of s.cssRules)t+=r.cssText+`
9
- `}catch(r){console.error("Failed to read cssRules from adopted stylesheet:",r)}}),t){const s=n.createElement("style");s.textContent=t,n.head.appendChild(s)}}async function Fe(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&Q(window,n,t)}function pe(n,e=window){const t=e.document,s=e.document.head;for(const r of n)if(!t.getElementById(r)){const i=t.createElement("link");i.rel="stylesheet",i.id=r,i.href=r,s.appendChild(i)}}async function fe(n,e,t=window){const s=t.document,r=t.document.head;let o=t[e];return o?o.default||o:new Promise((i,a)=>{for(const u of n){const c=s.createElement("script");c.src=u,c.onload=()=>{o=t[e],o?i(o.default||o):a(null)},c.onerror=l=>{a(l)},r.appendChild(c)}})}function De(n){return f.isFunction(n)&&Object.getOwnPropertyNames(n.prototype||{}).length===0||f.isFunction(n?.install)}function xe(n){return je.includes(n)}function ke(n){return le.includes(n)}function k(n=window){const e=window?.Mock;if(e)return e;const t=n?.Mock;if(t&&window)return window.Mock=t,t}function dt(n,e,t){Object.assign(e.meta,t.meta);const s=n?._container;t?.type==="page"&&s.classList.add("is-page"),t?.pure&&s.classList.add("is-pure")}function ht(n){if(typeof window>"u")return;const e=window[0]||window;if(e.__simulator__)try{const t=e.__simulator__.engine.provider.errorHandler;t&&t(n)}catch{}}function H(n,e,t=!1,s=!1,r=!1){try{const o=['"use strict";',"var __self = arguments[0];"];o.push("return ");let i=(n.value||"").trim();r||(i=i.replace(/this(\W|$)/g,(u,c)=>`__self${c}`)),i=o.join(`
10
- `)+i;const a=r?`
11
- ${i}
12
- `:`with(${t?"{}":"$scope || {}"}) { ${i} }`;return new Function("$scope",a)(e)}catch(o){if(f.logger.error("parseExpression.error",o,n,e?.__self??e),ht(o),s)throw o}}function R(n,e,t=!1,s=!1,r=!1){const o=H(n,e,t,s,r);if(typeof o!="function"&&(f.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return o}function j(n){return n&&n.type==="JSExpression"}function b(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function He(n){return j(n)||b(n)}function mt(n){return He(n)?n.value:JSON.stringify(n)}const gt={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:"",statusKey:"code"},de=Symbol("access");class Y{options;data=null;mode=S.Raw;interceptResponse=!0;isTipShowing=!1;constructor(e){this.options=Object.assign({},gt,e),this.loadData()}enableIntercept(){this.interceptResponse=!0}disableIntercept(){this.interceptResponse=!1}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode!==S.Design&&this.setGuard(s),r&&this.setRequest(r)}login(e){const{storageKey:t,storagePrefix:s,session:r,authKey:o}=this.options;this.setData(e),this.data&&(f.storage.save(t,e,{type:"local",prefix:s}),r&&f.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,f.storage.remove(e,{type:"local",prefix:t}),s&&f.cookie.remove(r)}logout(){this.clear(),this.toLogin()}getData(){return this.data?this.data:(this.loadData(),this.data)}getToken(){return this.data||this.loadData(),this.data?.token}can(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return typeof e=="function"?e(s):f.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return f.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access=this,e.provide(de,this)}isAuthPath(e){const{auth:t,isAuth:s}=this.options;if(s)return s(e);if(e.path&&typeof t=="string"){const r=t.split("#")[1]||t;return e.path===r}return!1}toLogin(){const{auth:e,redirectParam:t}=this.options;if(!e)return;const s=t?`?${t}=${encodeURIComponent(location.href)}`:"";typeof e=="function"?e(s):location.href=t?`${e}${s}`:e}setData(e){const{privateKey:t}=this.options;if(Array.isArray(e)&&t){const s=e.map(r=>f.unRSA(r,t));try{this.data=JSON.parse(s.join(""))}catch(r){console.warn(r)}return}if(typeof e=="string")try{const s=t?f.unRSA(e,t):e;s?this.data=JSON.parse(s):console.warn("RSA解密失败或登录信息缺失")}catch(s){console.warn(s)}else this.data=e}loadData(){const{storageKey:e,storagePrefix:t}=this.options,s=f.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!f.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===x){const t=e.params.id;return t&&this.can(t)}return e.meta.__vtj__?this.can(e.meta.__vtj__):e.meta.permission?this.can(e.meta.permission):!0}setGuard(e){e.beforeEach((t,s,r)=>this.guard(t,r))}async guard(e,t){if(this.isWhiteList(e)||this.isAuthPath(e))return t();if(this.isLogined()){if(this.hasRoutePermission(e))return t();{const{noPermissionMessage:s="无权限访问",unauthorized:r=!1}=this.options;return await this.showTip(s),f.isFunction(r)?(r(),t(!1)):f.isString(r)?t(r):t(!1)}}t(!1),await f.delay(0),this.toLogin()}isWhiteList(e){const{whiteList:t}=this.options;return t?Array.isArray(t)?t.some(s=>e.fullPath.startsWith(s)):t(e):!1}isUnauthorized(e){const{unauthorizedCode:t=401,statusKey:s="code"}=this.options;return e.status===t||e.data?.[s]===t}async showUnauthorizedAlert(e){const{unauthorizedMessage:t="登录已失效"}=this.options;this.isUnauthorized(e)&&await this.showTip(t)&&this.toLogin()}async showTip(e){const{alert:t}=this.options;return this.isTipShowing?!1:t?(this.isTipShowing=!0,await f.delay(150),await t(e,{title:"提示",type:"warning"})?.catch(()=>!0)?.finally(()=>{this.isTipShowing=!1})):(window.alert(e),!0)}setRequest(e){e.useRequest(t=>(this.data?.token&&(t.headers[this.options.authKey]=this.data?.token),t)),e.useResponse(async t=>(this.interceptResponse&&await this.showUnauthorizedAlert(t),t),async t=>{if(!this.interceptResponse)return Promise.reject(t);const s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function Ne(){return $.inject(de,null)}function _t(n={}){const{notify:e,loading:t,settings:s={},Startup:r,access:o,useTitle:i,alert:a}=n;let u=null;return{request:f.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:l=>l.data?.code===0||!!l.data?.success,failMessage:!0,showError:l=>{e&&e(l||"未知错误")},showLoading:()=>{u&&u.close(),t&&(u=t())},hideLoading:()=>{u&&(u.close(),u=null)},...s}}),jsonp:f.jsonp,notify:e,loading:t,useTitle:i,alert:a,startupComponent:r,access:o?new Y({alert:a,...o}):void 0}}function vt(n={}){return new Y(n)}function Le(n,e){const{jsonp:t,request:s}=e;if(n.method==="jsonp")return(r={})=>t(n.url,{...n.jsonpOptions,query:r});{const r=n.headers?H(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:r}};return(i,a)=>(delete o.data,s.send(f.merge(o,a||{},{data:i})))}}function Ue(n,e){const{metaQuery:t}=e;if(!t)return;const{code:s,queryCode:r}=n;return(o,i)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(s,r,o,i)}}function qe(n=[],e=[],t){const s={};for(const r of n){const o=Le(r,t);s[r.id]=o,s[r.name]=o}for(const r of e)s[r.id]=Ue(r,t);return s}async function Be(n=[],e=window){const t=k(e);t&&(he(e),n.forEach(s=>Ke(t,s)))}function Je(n,e=window){const t=b(n.mockTemplate)&&n.mockTemplate.value?R(n.mockTemplate,{},!0):void 0,s=k(e);return async(...r)=>{let o={};if(t)try{o=await t.apply(t,r)}catch(i){f.logger.warn("模拟数据模版异常",i)}return s?.mock(o)}}function Ke(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s)try{const r=f.isUrl(t)?new URL(t).pathname:t,o=f.pathToRegexp(`(.*)${r}(.*)`),i=f.pathToRegexpMatch(r,{decode:decodeURIComponent}),a=H(s,{},!0);n.mock(o,u=>{const c=f.url.parse(u.url)||{},l=u.body instanceof FormData?f.formDataToJson(u.body):u.body,p=f.isUrl(u.url)?new URL(u.url).pathname:u.url.split("?")[0],d=i(p)?.params;Object.assign(u,{data:l,params:d,query:c});try{return n.mock(a(u))}catch(h){return console.warn("[mockApi]",o,u,h),null}})}catch(r){console.warn("mockApi",r)}}function he(n=window){const e=k(n);e&&(e._mocked={})}class Ge{__id=null;__mode;__instance=null;__contextRefs={};__refs={};__refCaches={};context={};state={};props={};$props={};$refs={};$el=null;$emit=null;$nextTick=null;$parent=null;$root=null;$attrs=null;$slots=null;$watch=null;$options=null;$forceUpdate=null;$components={};$libs={};$apis={};$provider=null;__transform={};constructor(e){const{mode:t,dsl:s,attrs:r}=e;this.__mode=t,s&&(this.__id=s.id||null,this.__transform=s.transform||{}),r&&Object.assign(this,r)}setup(e,t=W){const s=t.getCurrentInstance();if(!s)return;this.__refs={},this.__refCaches={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=s.proxy;const r=s.appContext.config.globalProperties;Object.assign(this,r),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__reset()})}__proxy(){this.__instance&&ie.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){ie.forEach(e=>{this[e]=null}),this.__reset()}__reset(){this.__refs={},this.__refCaches={},this.$refs={},this.__contextRefs={},this.context={}}__parseFunction(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return R({type:s,value:r},this)}else return R(e,this)}__parseExpression(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return H({type:s,value:r},this)}else return H(e,this)}__ref(e=null,t){if(this.__mode===S.VNode)return;e&&e!==this.__id&&(this.__contextRefs[e]=this);let s=e?this.__refCaches[e]:null;return s||(s=async r=>{await f.delay(0);let o=r?.$vtjEl||r?.$el||r?._?.vnode?.el||r;if(!o){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}return o.nodeType===3&&o.nextSibling&&(o=o.nextSibling),o.__vtj__=e,S.Design===this.__mode&&(o.__context__=this,o.draggable=!0),e&&(this.__refs[e]=this.__getRefEl(this.__refs,e,r)),typeof t=="function"?t(r):t&&(this.$refs[t]=this.__getRefEl(this.$refs,t,r)),r},e&&(this.__refCaches[e]=s),s)}__getRefEl(e,t,s){const r=e[t];if(r&&s!==r){const o=new Set([].concat(r,s));return Array.from(o)}else return s}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function z(n){const{Vue:e=W,mode:t=S.Runtime,components:s={},libs:r={},apis:o={},loader:i}=n,a=e.computed(()=>n.dsl),u={$components:s,$libs:r,$apis:o},c=new Ge({mode:t,dsl:a.value,attrs:u}),l=e.defineComponent({name:a.value.name,__scopeId:a.value.id?`data-v-${a.value.id}`:void 0,props:{...St(a.value.props??[],c)},async setup(p={}){c.$props=p,c.props=p,a.value.id&&Q(n.window||window,a.value.id,a.value.css||"",!0),c.state=wt(e,a.value.state??{},c);const d=Et(e,a.value.computed??{},c),h=$t(a.value.methods??{},c),g=bt(e,a.value.inject,c);for(const[y,w]of Object.entries(g||{}))g[y]=e.inject(y,w);const m=ze(a.value.dataSources||{},c),_={...g,...d,...h,...m};return c.setup(_,e),jt(e,a.value.watch??[],c),{vtj:c,state:c.state,...p,...d,...h}},emits:yt(a.value.emits),expose:["vtj",...a.value.expose||[]],render(){if(!a.value.nodes)return null;const p=a.value.nodes||[];if(p.length===1)return O(p[0],c,e,i,p);{const d=p.map(h=>O(h,c,e,i,p));return e.createVNode("div",{},d)}},...Ct(a.value.lifeCycles??{},c)});return{renderer:e.markRaw(l),context:c}}function yt(n=[]){return n.map(e=>f.isString(e)?e:e.name)}function St(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>be[o]):void 0;return n.map(s=>f.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:j(s.default)?e.__parseExpression(s.default):s.default}).reduce((s,r)=>(s[r.name]={type:t(r.type),required:r.required,default:r.default},s),{})}function wt(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let o=e[r];return j(o)?o=t.__parseExpression(o):b(o)&&(o=t.__parseFunction(o)),s[r]=o,s},{}))}function Et(n,e,t){return Object.entries(e??{}).reduce((s,[r,o])=>(s[r]=n.computed(t.__parseFunction(o)),s),{})}function $t(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function bt(n,e=[],t){return e.reduce((s,r)=>{const{name:o,from:i}=r||{};r.default;const a=j(i)?t.__parseExpression(i)||o:i??o,u=j(r.default)?t.__parseExpression(r.default):r.default??null;return s[o]=n.inject(a,u),s},{})}function ze(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s];if(r.type==="mock")t[s]=Je(r);else if(r.ref){const o=e.$apis[r.ref],i=b(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;t[s]=async(...a)=>{const u=await o.apply(e,a);return i?i(u):u}}return t},{})}function jt(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function Ct(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>{const o=e.__parseFunction(r);return t[s]=async()=>{f.isFunction(o)&&(await f.delay(0),await o())},t},{})}class Rt{__props={};__events={};__nodes={};constructor(){}setProps(e,t){this.__props[e]=t}getProps(e){return this.__props[e]}loadProps(e,t){const s=e?this.getProps(e):null;return s||(e&&this.setProps(e,t),t)}setEvents(e,t){}getEvents(e){return this.__events[e]}loadEvents(e,t){const s=e?this.getEvents(e):null;return s||(e&&this.setEvents(e,t),t)}setNode(e,t){this.__nodes[e]=t}getNode(e){return this.__nodes[e]}loadNode(e,t){const s=e?this.getNode(e):null;return s||(e&&this.setNode(e,t),t)}isEqual(e,t){return f.isEqual(e,t)}clear(){this.__props={},this.__events={},this.__nodes={}}}const F=new Rt,Ve=new f.Queue;let ne=[],M={},L={};const We=(n,e)=>e;async function me(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(a=>J(a));if(r.length===0||!s)return null;const o=t.filter(a=>B(a));return o.length&&pe(o,e),await fe(r,s,e).catch(a=>(console.warn("loadScriptUrl error",r,s,a),null))}function V(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(ne.forEach(r=>{delete s.window[r]}),ne=[]),(r,o,i,a=W)=>{if(!i||typeof i=="string")return o;let u="";if(i.type==="Schema"&&i.id)return u=i.id+"_"+r,L[u]||(L[u]=a.defineAsyncComponent(async()=>{const c=M[i.id]||await Ve.add(i.id,()=>e(i.id));return c&&(c.name=o,M[i.id]=c),c?z({Vue:a,mode:S.Runtime,...s,dsl:f.cloneDeep(c),loader:V(n)}).renderer:null}));if(i.type==="UrlSchema"&&i.url)return u=i.url+"_"+r,L[u]||(L[u]=a.defineAsyncComponent(async()=>{const c=M[i.url]||await t(i.url);return c&&(c.name=o,M[i.url]=c),c?z({...s,Vue:a,dsl:f.cloneDeep(c),mode:S.Runtime,loader:V(n)}).renderer:null}));if(i.type==="Plugin"){let c=i.library?M[i.library]:null;return c||(i.library&&ne.push(i.library),c=M[i.library||Symbol()]=a.defineAsyncComponent(async()=>{const l=await me(i,s.window);return l||(console.warn("getPlugin result is null",i),null)}),c)}return o}}function Pt(){M={},L={},Ve.clearAllCache(),F.clear()}function O(n,e,t=W,s=We,r=[],o=!1,i=0){if(!n||!n.name||n.invisible)return null;const a=t.getCurrentInstance()?.appContext,{id:u=null,directives:c=[]}=n,{vIf:l,vElseIf:p,vElse:d,vFor:h,vShow:g,vModels:m,vBind:_,vHtml:y,others:w}=Qe(c);if(!o&&(p||d))return null;if(l&&!It(l,e))return Dt(n,e,t,s,r);const C=(v,A=0)=>{const Z=v.$components,ee=(()=>{if(n.name==="component")return Tt(v,n.props?.is);if(n.name==="slot")return n.name;const P=s(`${n.id}_${A}`,n.name,n.from,t);return f.isString(P)?xe(P)||ke(P)?P:Z[P]??a?.app?.component(P)??P:P})(),I=Mt(u,n.props??{},v),tt=Ft(t,n.id,n.events??{},v);if(n.name==="slot")return xt(t,n,I,v,s);_&&Object.assign(I,v.__parseExpression(_.value)),g&&(I.style=Object.assign(I.style??{},Ht(g,v))),y&&Object.assign(I,Nt(y,v)),m.forEach(P=>{le.includes(n.name)?Object.assign(I,Lt(P,v)):Object.assign(I,Ut(t,P,v))});const st=qt(t,n.children??[],v,s,n),Se=v?.__id?`data-v-${v.__id}`:void 0,nt=Se?{[Se]:""}:{},rt=v.__mode===S.Design?{"data-vtj":u}:{},K=`${u}_${A}`,te={key:K,...nt,...rt,...I,...tt};F.isEqual(te,F.getNode(K))||F.setNode(K,te);let se=t.createVNode(ee,F.getNode(K)||te||{},st);const we=a?At(a,w,v):[];return we.length&&(se=t.withDirectives(se,we)),se};return h?Kt(h,C,e):C(e,i)}function At(n,e,t){const s=n.app;return e.map(r=>{const o=typeof r.name=="string"?s.directive(r.name):t.__parseExpression(r.name);if(!o)return null;const i=[o];return r.value&&i.push(t.__parseExpression(r.value)),r.arg&&i.push(r.arg),r.modifiers&&i.push(r.modifiers),i}).filter(r=>!!r)}function Qe(n=[]){const e=n.find(l=>f.camelCase(l.name)==="vIf"),t=n.find(l=>f.camelCase(l.name)==="vElseIf"),s=n.find(l=>f.camelCase(l.name)==="vElse"),r=n.find(l=>f.camelCase(l.name)==="vFor"),o=n.find(l=>f.camelCase(l.name)==="vShow"),i=n.find(l=>f.camelCase(l.name)==="vBind"),a=n.find(l=>f.camelCase(l.name)==="vHtml"),u=n.filter(l=>f.camelCase(l.name)==="vModel"),c=n.filter(l=>!$e.includes(f.camelCase(l.name)));return{vIf:e,vElseIf:t,vElse:s,vFor:r,vShow:o,vModels:u,vBind:i,others:c,vHtml:a}}function It(n,e){return!!e.__parseExpression(n.value)}function Tt(n,e){return e?j(e)?n.__parseExpression(e):e:"div"}function Mt(n,e,t){const s=ae(e,t);return s.ref=t.__ref(n,s.ref),s}function ae(n,e){return j(n)?e.__parseExpression(n):b(n)?e.__parseFunction(n):Array.isArray(n)?n.map(t=>ae(t,e)):typeof n=="object"?Object.keys(n||{}).reduce((t,s)=>{let r=n[s];return t[s]=ae(r,e),t},{}):n}function Ot(n,e){return t=>{t?.key?.toLowerCase()===e.toLowerCase()&&n(t)}}function Ft(n,e,t,s){const r=["passive","capture","once"],o={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(t||{}).reduce((a,u)=>{const c=t[u],l=ge(c.modifiers),p=l.find(g=>r.includes(g)),d="on"+f.upperFirstCamelCase(u)+(p&&o[p]||""),h=s.__parseFunction(c.handler);return h&&(a[d]=n.withModifiers(l.includes("enter")?Ot(h,"enter"):h,l)),a},{})}function Dt(n,e,t,s,r=[]){let o=r.findIndex(i=>i.id===n.id);for(let i=++o;i<r.length;i++){const{directives:a=[]}=r[i],{vElseIf:u,vElse:c}=Qe(a);if(u){if(e.__parseExpression(u.value))return O(r[i],e,t,s,r,!0);continue}if(c)return O(r[i],e,t,s,r,!0)}return null}function ge(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function xt(n,e,t,s,r){const{children:o}=e,i=kt(e,s),a=s.$slots?.[i.name];return a?a(t):o?f.isString(o)?n.createTextVNode(o):j(o)?n.createTextVNode(ue(s.__parseExpression(o))):Array.isArray(o)?o.map((u,c)=>O(u,s,n,r,o,!1,c)):null:null}function kt(n,e){const{props:t}=n,s=t?.name||"default";return{name:j(s)?e.__parseExpression(s):s,params:[]}}function Ht(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function Nt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function Lt(n,e){const t={type:"JSFunction",value:n.value?.value?`(v) => {
7
+ */const D="0.16.29";var S=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(S||{});const oe=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],lt=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],$e=["vIf","vElseIf","vElse","vShow","vModel","vFor","vBind","vHtml"],Ce={String,Number,Boolean,Array,Object,Function,Date},x="VtjPage",U="VtjHomepage",le="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot,svg".split(","),be="component,slot".split(","),ut=["h","t","t","p","s",":","/","/","a","p","p",".","v","t","j",".","p","r","o"].join(""),pt={auth:["h","t","t","p","s",":","/","/","a","p","p",".","v","t","j",".","p","r","o","/","a","u","t","h",".","h","t","m","l"].join(""),storageKey:["R","R","O","_","I","D","E","_","A","C","C","E","S","S","_","S","T","O","R","A","G","E","_","_"].join(""),privateKey:"MIIBOgIBAAJBAKoIzmn1FYQ1YOhOBw9EhABxZ+PySAIaydI+zdhoKflrdgJ4A5E4/5gbQmRpk09hPWG8nvX7h+l/QLU8kXxAIBECAwEAAQJAAlgpxQY6sByLsXqzJcthC8LSGsLf2JEJkHwlnpwFqlEV8UCkoINpuZ2Wzl+aftURu5rIfAzRCQBvHmeOTW9/zQIhAO5ufWDmnSLyfAAsNo5JRNpVuLFCFodR8Xm+ulDlosR/AiEAtpAltyP9wmCABKG/v/hrtTr3mcvFNGCjoGa9bUAok28CIHbrVs9w1ijrBlvTsXYwJw46uP539uKRRT4ymZzlm9QjAiB+1KH/G9f9pEEL9rtaSOG7JF5D0JcOjlze4MGVFs+ZrQIhALKOUFBNr2zEsyJIjw2PlvEucdlG77UniszjXTROHSPd"};function N(n,e){return n.map(t=>f.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function B(n){return/\.css$/.test(n)}function J(n){return/\.js$/.test(n)}function je(n){return/\.json$/.test(n)}function ft(n){return n.map(e=>`<script src="${f.url.append(e,{v:D})}"><\/script>`).join("")}function dt(n=[]){return n.map(e=>`<link rel="stylesheet" href="${f.url.append(e,{v:D})}" />`).join("")}function Re(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function Pe(n,e,t=!1){const s=n.filter(d=>!!d.enabled),r=[],i=[],o=[],a=[],u={},c={},l=[],p={};return s.forEach(({urls:d,assetsUrl:h,library:g,assetsLibrary:m,localeLibrary:_})=>{d?.forEach(y=>{J(y)&&r.push(Re(y,t)),B(y)&&i.push(y)}),g&&(a.push(g),u[g]=N(d||[],e),_&&(c[g]=_)),h&&o.push(h),m&&l.push(m),g&&m&&(p[m]=g)}),{scripts:N(r,e),css:N(i,e),materials:N(o,e),libraryExports:a,materialExports:f.dedupArray(l),materialMapLibrary:p,libraryMap:u,libraryLocaleMap:c}}function Ae(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function Ie(n=[]){const e=n.filter(s=>B(s)),t=n.filter(s=>J(s));return{css:e,js:t}}function Fe(n,e){const t=c=>{const l=[];let p=0;for(;p<c.length;){if(/\s/.test(c[p])){p++;continue}if(c.substring(p,p+2)==="/*"){const y=c.indexOf("*/",p+2);if(y!==-1){p=y+2;continue}}if(c[p]==="@"){const y=p;for(;p<c.length&&c[p]!=="{"&&c[p]!==";";)p++;const w=c.substring(y,p).trim(),j=w.includes("@keyframes");if(c[p]===";")l.push({type:"simple-at-rule",content:c.substring(y,p+1)}),p++;else if(c[p]==="{"){const v=p+1;let A=1;for(p++;p<c.length&&A>0;)c[p]==="{"?A++:c[p]==="}"&&A--,p++;const Z=c.substring(y,p),ee=c.substring(v,p-1);l.push({type:j?"keyframes":"at-rule",rule:w,content:Z,inner:ee})}continue}const d=p;for(;p<c.length&&c[p]!=="{";)p++;if(p>=c.length)break;const h=c.substring(d,p).trim();if(!h){p++;continue}const g=p+1;let m=1;for(p++;p<c.length&&m>0;)c[p]==="{"?m++:c[p]==="}"&&m--,p++;const _=c.substring(g,p-1);l.push({type:"rule",selector:h,content:_.trim()})}return l},s=c=>{const l=c.trim();return/^(from|to|\d+(\.\d+)?%)$/.test(l)},r=c=>c.replace(/::v-deep\(/g,":deep(").replace(/::v-deep\s+/g,":deep(").replace(/\/deep\//g," ").replace(/>>>/g," ").replace(/(.*?):deep\(([^)]+)\)/g,(l,p,d)=>{const h=p.trim(),g=d.trim();return h?`${h}[${e}] ${g}`:g}),i=c=>{const l=c.trim();if(!l||l.includes(`[${e}]`)||/^(:root|:host|html|body)(\s|$|:|\.|\#|\[)/.test(l)||s(l))return l;const p=l.match(/^(.+?)((?:::?[\w-]+(?:\([^)]*\))?)*)\s*$/);if(p){const[,d,h=""]=p,g=d.trim();return g?`${g}[${e}]${h}`:l}return`${l}[${e}]`},o=c=>r(c).split(",").map(p=>i(p)).filter(p=>p.trim()).join(", "),a=c=>c.map(l=>{switch(l.type){case"simple-at-rule":return l.content;case"keyframes":return l.content;case"at-rule":try{const d=t(l.inner),h=a(d);return`${l.rule} { ${h} }`}catch{return l.content}case"rule":if(!l.selector||!l.content)return"";const p=o(l.selector);return p.trim()?`${p} { ${l.content} }`:"";default:return""}}).filter(l=>l.trim()).join(" "),u=c=>c.replace(/\s*{\s*/g," { ").replace(/\s*}\s*/g," } ").replace(/\s*;\s*/g,"; ").replace(/\s*,\s*/g,", ").replace(/\s+/g," ").replace(/^\s+|\s+$/g,"").replace(/\s*}\s*}/g," } }").trim();try{const c=n.replace(/\/\*(?!\s*!)[\s\S]*?\*\//g,"").replace(/^\s+|\s+$/gm,"").replace(/\n\s*\n/g,`
8
+ `),l=t(c),p=a(l);return u(p)}catch(c){return console.error("CSS scoping failed:",c),console.error("Input CSS:",n),n.replace(/\/\*[\s\S]*?\*\//g,"").replace(/(@keyframes\s+[^{]+\s*{[^{}]*(?:{[^}]*}[^{}]*)*})/g,l=>l).replace(/([^{}@]+)(?=\s*{)/g,l=>{const p=l.trim();return!p||p.startsWith("@")||p.includes(`[${e}]`)||s(p)?l:`${p}[${e}]`})}}const ht=750;function Te(n,e,t){let s;typeof n<"u"?s=n.innerWidth||n.document.documentElement.clientWidth:(console.warn("无法获取屏幕宽度,使用默认值375"),s=375);const r=t||ht;return e*s/r}function Me(n,e){let t=!1,s=!1,r=!1,i="";for(let o=0;o<e.length;o++){const a=e[o];if(a==="'"&&!s&&!r?t=!t:a==='"'&&!t&&!r?s=!s:e.substr(o,4).toLowerCase()==="url("&&!t&&!s?r=!0:a===")"&&r&&(r=!1),!t&&!s&&!r){const u=e.substr(o).match(/^(-?\d+(?:\.\d+)?)\s*rpx/);if(u){const c=u[1],l=parseFloat(c),d=`${Te(n,l).toFixed(6).replace(/\.?0+$/,"")}px`;i+=d,o+=u[0].length-1;continue}}i+=a}return i}function ue(n){return f.isString(n)?n:JSON.stringify(n)}function Q(n,e,t,s=!1){const r=n.CSSStyleSheet,i=s?`data-v-${e}`:e,o=n.__uniConfig?Me(n,t):t,a=s?Fe(o,i):o,u=!!n.__uniConfig;if(r.prototype.replaceSync&&!u){const c=new r;c.id=e,c.replaceSync(a);const l=n.document,p=l.adoptedStyleSheets,d=Array.from(p).filter(h=>h.id!==e);l.adoptedStyleSheets=[...d,c]}else{const c=n.document;let l=c.getElementById(e);l?l.innerHTML=a:(l=c.createElement("style"),l.id=e,l.innerHTML=a,c.head.appendChild(l))}}function mt(n){const e=n.adoptedStyleSheets||[];let t="";if(e.forEach(s=>{try{for(const r of s.cssRules)t+=r.cssText+`
9
+ `}catch(r){console.error("Failed to read cssRules from adopted stylesheet:",r)}}),t){const s=n.createElement("style");s.textContent=t,n.head.appendChild(s)}}async function Oe(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&Q(window,n,t)}function pe(n,e=window){const t=e.document,s=e.document.head;for(const r of n)if(!t.getElementById(r)){const o=t.createElement("link");o.rel="stylesheet",o.id=r,o.href=r,s.appendChild(o)}}async function fe(n,e,t=window){const s=t.document,r=t.document.head;let i=t[e];return i?i.default||i:new Promise((o,a)=>{for(const u of n){const c=s.createElement("script");c.src=u,c.onload=()=>{i=t[e],i?o(i.default||i):a(null)},c.onerror=l=>{a(l)},r.appendChild(c)}})}function De(n){return f.isFunction(n)&&Object.getOwnPropertyNames(n.prototype||{}).length===0||f.isFunction(n?.install)}function xe(n){return be.includes(n)}function ke(n){return le.includes(n)}function k(n=window){const e=window?.Mock;if(e)return e;const t=n?.Mock;if(t&&window)return window.Mock=t,t}function gt(n,e,t){Object.assign(e.meta,t.meta);const s=n?._container;t?.type==="page"&&s.classList.add("is-page"),t?.pure&&s.classList.add("is-pure")}function He(n){return/^\([\s\S]*\)/.test(n.trim())}function Ne(n){return/\w+\([\s\S]*\)$/.test(n.trim())}function Le(n){return n.includes("=")}function _t(n){if(typeof window>"u")return;const e=window[0]||window;if(e.__simulator__)try{const t=e.__simulator__.engine.provider.errorHandler;t&&t(n)}catch{}}function H(n,e,t=!1,s=!1,r=!1){try{const i=['"use strict";',"var __self = arguments[0];"];i.push("return ");let o=(n.value||"").trim();r||(o=o.replace(/this(\W|$)/g,(u,c)=>`__self${c}`)),o=i.join(`
10
+ `)+o;const a=r?`
11
+ ${o}
12
+ `:`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(i){if(f.logger.error("parseExpression.error",i,n,e?.__self??e),_t(i),s)throw i}}function R(n,e,t=!1,s=!1,r=!1){const i=H(n,e,t,s,r);if(typeof i!="function"&&(f.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return i}function b(n){return n&&n.type==="JSExpression"}function C(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function Ue(n){return b(n)||C(n)}function vt(n){return Ue(n)?n.value:JSON.stringify(n)}const yt={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:"",statusKey:"code"},de=Symbol("access");class Y{options;data=null;mode=S.Raw;interceptResponse=!0;isTipShowing=!1;constructor(e){this.options=Object.assign({},yt,e),this.loadData()}enableIntercept(){this.interceptResponse=!0}disableIntercept(){this.interceptResponse=!1}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode!==S.Design&&this.setGuard(s),r&&this.setRequest(r)}login(e){const{storageKey:t,storagePrefix:s,session:r,authKey:i}=this.options;this.setData(e),this.data&&(f.storage.save(t,e,{type:"local",prefix:s}),r&&f.cookie.set(i,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,f.storage.remove(e,{type:"local",prefix:t}),s&&f.cookie.remove(r)}logout(){this.clear(),this.toLogin()}getData(){return this.data?this.data:(this.loadData(),this.data)}getToken(){return this.data||this.loadData(),this.data?.token}can(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return typeof e=="function"?e(s):f.toArray(e).every(i=>s[i]||s[t+"."+i])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return f.toArray(e).some(i=>s[i]||s[t+"."+i])}install(e){e.config.globalProperties.$access=this,e.provide(de,this)}isAuthPath(e){const{auth:t,isAuth:s}=this.options;if(s)return s(e);if(e.path&&typeof t=="string"){const r=t.split("#")[1]||t;return e.path===r}return!1}toLogin(){const{auth:e,redirectParam:t}=this.options;if(!e)return;const s=t?`?${t}=${encodeURIComponent(location.href)}`:"";typeof e=="function"?e(s):location.href=t?`${e}${s}`:e}setData(e){const{privateKey:t}=this.options;if(Array.isArray(e)&&t){const s=e.map(r=>f.unRSA(r,t));try{this.data=JSON.parse(s.join(""))}catch(r){console.warn(r)}return}if(typeof e=="string")try{const s=t?f.unRSA(e,t):e;s?this.data=JSON.parse(s):console.warn("RSA解密失败或登录信息缺失")}catch(s){console.warn(s)}else this.data=e}loadData(){const{storageKey:e,storagePrefix:t}=this.options,s=f.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!f.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===x){const t=e.params.id;return t&&this.can(t)}return e.meta.__vtj__?this.can(e.meta.__vtj__):e.meta.permission?this.can(e.meta.permission):!0}setGuard(e){e.beforeEach((t,s,r)=>this.guard(t,r))}async guard(e,t){if(this.isWhiteList(e)||this.isAuthPath(e))return t();if(this.isLogined()){if(this.hasRoutePermission(e))return t();{const{noPermissionMessage:s="无权限访问",unauthorized:r=!1}=this.options;return await this.showTip(s),f.isFunction(r)?(r(),t(!1)):f.isString(r)?t(r):t(!1)}}t(!1),await f.delay(0),this.toLogin()}isWhiteList(e){const{whiteList:t}=this.options;return t?Array.isArray(t)?t.some(s=>e.fullPath.startsWith(s)):t(e):!1}isUnauthorized(e){const{unauthorizedCode:t=401,statusKey:s="code"}=this.options;return e.status===t||e.data?.[s]===t}async showUnauthorizedAlert(e){const{unauthorizedMessage:t="登录已失效"}=this.options;this.isUnauthorized(e)&&await this.showTip(t)&&this.toLogin()}async showTip(e){const{alert:t}=this.options;return this.isTipShowing?!1:t?(this.isTipShowing=!0,await f.delay(150),await t(e,{title:"提示",type:"warning"})?.catch(()=>!0)?.finally(()=>{this.isTipShowing=!1})):(window.alert(e),!0)}setRequest(e){e.useRequest(t=>(this.data?.token&&(t.headers[this.options.authKey]=this.data?.token),t)),e.useResponse(async t=>(this.interceptResponse&&await this.showUnauthorizedAlert(t),t),async t=>{if(!this.interceptResponse)return Promise.reject(t);const s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function qe(){return $.inject(de,null)}function St(n={}){const{notify:e,loading:t,settings:s={},Startup:r,access:i,useTitle:o,alert:a}=n;let u=null;return{request:f.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:l=>l.data?.code===0||!!l.data?.success,failMessage:!0,showError:l=>{e&&e(l||"未知错误")},showLoading:()=>{u&&u.close(),t&&(u=t())},hideLoading:()=>{u&&(u.close(),u=null)},...s}}),jsonp:f.jsonp,notify:e,loading:t,useTitle:o,alert:a,startupComponent:r,access:i?new Y({alert:a,...i}):void 0}}function wt(n={}){return new Y(n)}function Be(n,e){const{jsonp:t,request:s}=e;if(n.method==="jsonp")return(r={})=>t(n.url,{...n.jsonpOptions,query:r});{const r=n.headers?H(n.headers,{},!0):void 0,i={url:n.url,method:n.method,settings:{...n.settings,headers:r}};return(o,a)=>(delete i.data,s.send(f.merge(i,a||{},{data:o})))}}function Je(n,e){const{metaQuery:t}=e;if(!t)return;const{code:s,queryCode:r}=n;return(i,o)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(s,r,i,o)}}function Ke(n=[],e=[],t){const s={};for(const r of n){const i=Be(r,t);s[r.id]=i,s[r.name]=i}for(const r of e)s[r.id]=Je(r,t);return s}async function Ge(n=[],e=window){const t=k(e);t&&(he(e),n.forEach(s=>Ve(t,s)))}function ze(n,e=window){const t=C(n.mockTemplate)&&n.mockTemplate.value?R(n.mockTemplate,{},!0):void 0,s=k(e);return async(...r)=>{let i={};if(t)try{i=await t.apply(t,r)}catch(o){f.logger.warn("模拟数据模版异常",o)}return s?.mock(i)}}function Ve(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s)try{const r=f.isUrl(t)?new URL(t).pathname:t,i=f.pathToRegexp(`(.*)${r}(.*)`),o=f.pathToRegexpMatch(r,{decode:decodeURIComponent}),a=H(s,{},!0);n.mock(i,u=>{const c=f.url.parse(u.url)||{},l=u.body instanceof FormData?f.formDataToJson(u.body):u.body,p=f.isUrl(u.url)?new URL(u.url).pathname:u.url.split("?")[0],d=o(p)?.params;Object.assign(u,{data:l,params:d,query:c});try{return n.mock(a(u))}catch(h){return console.warn("[mockApi]",i,u,h),null}})}catch(r){console.warn("mockApi",r)}}function he(n=window){const e=k(n);e&&(e._mocked={})}class We{__id=null;__mode;__instance=null;__contextRefs={};__refs={};__refCaches={};context={};state={};props={};$props={};$refs={};$el=null;$emit=null;$nextTick=null;$parent=null;$root=null;$attrs=null;$slots=null;$watch=null;$options=null;$forceUpdate=null;$components={};$libs={};$apis={};$provider=null;__transform={};constructor(e){const{mode:t,dsl:s,attrs:r}=e;this.__mode=t,s&&(this.__id=s.id||null,this.__transform=s.transform||{}),r&&Object.assign(this,r)}setup(e,t=W){const s=t.getCurrentInstance();if(!s)return;this.__refs={},this.__refCaches={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=s.proxy;const r=s.appContext.config.globalProperties;Object.assign(this,r),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__reset()})}__proxy(){this.__instance&&oe.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){oe.forEach(e=>{this[e]=null}),this.__reset()}__reset(){this.__refs={},this.__refCaches={},this.$refs={},this.__contextRefs={},this.context={}}__parseFunction(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return R({type:s,value:r},this)}else return R(e,this)}__parseExpression(e){if(e)if(this.__mode===S.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return H({type:s,value:r},this)}else return H(e,this)}__ref(e=null,t){if(this.__mode===S.VNode)return;e&&e!==this.__id&&(this.__contextRefs[e]=this);let s=e?this.__refCaches[e]:null;return s||(s=async r=>{await f.delay(0);let i=r?.$vtjEl||r?.$el||r?._?.vnode?.el||r;if(!i){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}return i.nodeType===3&&i.nextSibling&&(i=i.nextSibling),i.__vtj__=e,S.Design===this.__mode&&(i.__context__=this,i.draggable=!0),e&&(this.__refs[e]=this.__getRefEl(this.__refs,e,r)),typeof t=="function"?t(r):t&&(this.$refs[t]=this.__getRefEl(this.$refs,t,r)),r},e&&(this.__refCaches[e]=s),s)}__getRefEl(e,t,s){const r=e[t];if(r&&s!==r){const i=new Set([].concat(r,s));return Array.from(i)}else return s}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function z(n){const{Vue:e=W,mode:t=S.Runtime,components:s={},libs:r={},apis:i={},loader:o}=n,a=e.computed(()=>n.dsl),u={$components:s,$libs:r,$apis:i},c=new We({mode:t,dsl:a.value,attrs:u}),l=e.defineComponent({name:a.value.name,__scopeId:a.value.id?`data-v-${a.value.id}`:void 0,props:{...$t(a.value.props??[],c)},async setup(p={}){c.$props=p,c.props=p,a.value.id&&Q(n.window||window,a.value.id,a.value.css||"",!0),c.state=Ct(e,a.value.state??{},c);const d=bt(e,a.value.computed??{},c),h=jt(a.value.methods??{},c),g=Rt(e,a.value.inject,c);for(const[y,w]of Object.entries(g||{}))g[y]=e.inject(y,w);const m=Qe(a.value.dataSources||{},c),_={...g,...d,...h,...m};return c.setup(_,e),Pt(e,a.value.watch??[],c),{vtj:c,state:c.state,...p,...d,...h}},emits:Et(a.value.emits),expose:["vtj",...a.value.expose||[]],render(){if(!a.value.nodes)return null;const p=a.value.nodes||[];if(p.length===1)return M(p[0],c,e,o,p);{const d=p.map(h=>M(h,c,e,o,p));return e.createVNode("div",{},d)}},...At(a.value.lifeCycles??{},c)});return{renderer:e.markRaw(l),context:c}}function Et(n=[]){return n.map(e=>f.isString(e)?e:e.name)}function $t(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(i=>Ce[i]):void 0;return n.map(s=>f.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:b(s.default)?e.__parseExpression(s.default):s.default}).reduce((s,r)=>(s[r.name]={type:t(r.type),required:r.required,default:r.default},s),{})}function Ct(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let i=e[r];return b(i)?i=t.__parseExpression(i):C(i)&&(i=t.__parseFunction(i)),s[r]=i,s},{}))}function bt(n,e,t){return Object.entries(e??{}).reduce((s,[r,i])=>(s[r]=n.computed(t.__parseFunction(i)),s),{})}function jt(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function Rt(n,e=[],t){return e.reduce((s,r)=>{const{name:i,from:o}=r||{};r.default;const a=b(o)?t.__parseExpression(o)||i:o??i,u=b(r.default)?t.__parseExpression(r.default):r.default??null;return s[i]=n.inject(a,u),s},{})}function Qe(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s];if(r.type==="mock")t[s]=ze(r);else if(r.ref){const i=e.$apis[r.ref],o=C(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;t[s]=async(...a)=>{const u=await i.apply(e,a);return o?o(u):u}}return t},{})}function Pt(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function At(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>{const i=e.__parseFunction(r);return t[s]=async()=>{f.isFunction(i)&&(await f.delay(0),await i())},t},{})}class It{__props={};__events={};__nodes={};constructor(){}setProps(e,t){this.__props[e]=t}getProps(e){return this.__props[e]}loadProps(e,t){const s=e?this.getProps(e):null;return s||(e&&this.setProps(e,t),t)}setEvents(e,t){}getEvents(e){return this.__events[e]}loadEvents(e,t){const s=e?this.getEvents(e):null;return s||(e&&this.setEvents(e,t),t)}setNode(e,t){this.__nodes[e]=t}getNode(e){return this.__nodes[e]}loadNode(e,t){const s=e?this.getNode(e):null;return s||(e&&this.setNode(e,t),t)}isEqual(e,t){return f.isEqual(e,t)}clear(){this.__props={},this.__events={},this.__nodes={}}}const O=new It,Ye=new f.Queue;let ne=[],T={},L={};const Xe=(n,e)=>e;async function me(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(a=>J(a));if(r.length===0||!s)return null;const i=t.filter(a=>B(a));return i.length&&pe(i,e),await fe(r,s,e).catch(a=>(console.warn("loadScriptUrl error",r,s,a),null))}function V(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(ne.forEach(r=>{delete s.window[r]}),ne=[]),(r,i,o,a=W)=>{if(!o||typeof o=="string")return i;let u="";if(o.type==="Schema"&&o.id)return u=o.id+"_"+r,L[u]||(L[u]=a.defineAsyncComponent(async()=>{const c=T[o.id]||await Ye.add(o.id,()=>e(o.id));return c&&(c.name=i,T[o.id]=c),c?z({Vue:a,mode:S.Runtime,...s,dsl:f.cloneDeep(c),loader:V(n)}).renderer:null}));if(o.type==="UrlSchema"&&o.url)return u=o.url+"_"+r,L[u]||(L[u]=a.defineAsyncComponent(async()=>{const c=T[o.url]||await t(o.url);return c&&(c.name=i,T[o.url]=c),c?z({...s,Vue:a,dsl:f.cloneDeep(c),mode:S.Runtime,loader:V(n)}).renderer:null}));if(o.type==="Plugin"){let c=o.library?T[o.library]:null;return c||(o.library&&ne.push(o.library),c=T[o.library||Symbol()]=a.defineAsyncComponent(async()=>{const l=await me(o,s.window);return l||(console.warn("getPlugin result is null",o),null)}),c)}return i}}function Ft(){T={},L={},Ye.clearAllCache(),O.clear()}function M(n,e,t=W,s=Xe,r=[],i=!1,o=0){if(!n||!n.name||n.invisible)return null;const a=t.getCurrentInstance()?.appContext,{id:u=null,directives:c=[]}=n,{vIf:l,vElseIf:p,vElse:d,vFor:h,vShow:g,vModels:m,vBind:_,vHtml:y,others:w}=Ze(c);if(!i&&(p||d))return null;if(l&&!Mt(l,e))return Nt(n,e,t,s,r);const j=(v,A=0)=>{const Z=v.$components,ee=(()=>{if(n.name==="component")return Ot(v,n.props?.is);if(n.name==="slot")return n.name;const P=s(`${n.id}_${A}`,n.name,n.from,t);return f.isString(P)?xe(P)||ke(P)?P:Z[P]??a?.app?.component(P)??P:P})(),I=Dt(u,n.props??{},v),rt=Ht(t,n.id,n.events??{},v);if(n.name==="slot")return Lt(t,n,I,v,s);_&&Object.assign(I,v.__parseExpression(_.value)),g&&(I.style=Object.assign(I.style??{},qt(g,v))),y&&Object.assign(I,Bt(y,v)),m.forEach(P=>{le.includes(n.name)?Object.assign(I,Jt(P,v)):Object.assign(I,Kt(t,P,v))});const it=Gt(t,n.children??[],v,s,n),Se=v?.__id?`data-v-${v.__id}`:void 0,ot=Se?{[Se]:""}:{},at=v.__mode===S.Design?{"data-vtj":u}:{},K=`${u}_${A}`,te={key:K,...ot,...at,...I,...rt};O.isEqual(te,O.getNode(K))||O.setNode(K,te);let se=t.createVNode(ee,O.getNode(K)||te||{},it);const we=a?Tt(a,w,v):[];return we.length&&(se=t.withDirectives(se,we)),se};return h?Wt(h,j,e):j(e,o)}function Tt(n,e,t){const s=n.app;return e.map(r=>{const i=typeof r.name=="string"?s.directive(r.name):t.__parseExpression(r.name);if(!i)return null;const o=[i];return r.value&&o.push(t.__parseExpression(r.value)),r.arg&&o.push(r.arg),r.modifiers&&o.push(r.modifiers),o}).filter(r=>!!r)}function Ze(n=[]){const e=n.find(l=>f.camelCase(l.name)==="vIf"),t=n.find(l=>f.camelCase(l.name)==="vElseIf"),s=n.find(l=>f.camelCase(l.name)==="vElse"),r=n.find(l=>f.camelCase(l.name)==="vFor"),i=n.find(l=>f.camelCase(l.name)==="vShow"),o=n.find(l=>f.camelCase(l.name)==="vBind"),a=n.find(l=>f.camelCase(l.name)==="vHtml"),u=n.filter(l=>f.camelCase(l.name)==="vModel"),c=n.filter(l=>!$e.includes(f.camelCase(l.name)));return{vIf:e,vElseIf:t,vElse:s,vFor:r,vShow:i,vModels:u,vBind:o,others:c,vHtml:a}}function Mt(n,e){return!!e.__parseExpression(n.value)}function Ot(n,e){return e?b(e)?n.__parseExpression(e):e:"div"}function Dt(n,e,t){const s=ae(e,t);return s.ref=t.__ref(n,s.ref),s}function ae(n,e){return b(n)?e.__parseExpression(n):C(n)?e.__parseFunction(n):Array.isArray(n)?n.map(t=>ae(t,e)):typeof n=="object"?Object.keys(n||{}).reduce((t,s)=>{let r=n[s];return t[s]=ae(r,e),t},{}):n}function xt(n,e){return t=>{t?.key?.toLowerCase()===e.toLowerCase()&&n(t)}}function kt(n){return He(n.value)?n:Ne(n.value)?{type:"JSFunction",value:`(...args) => (() => {
13
+ return (($event) => {
14
+ ${n.value}
15
+ }).apply(this, args);
16
+ })()`}:Le(n.value)?{type:"JSFunction",value:`() => { ${n.value}}`}:n}function Ht(n,e,t,s){const r=["passive","capture","once"],i={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(t||{}).reduce((a,u)=>{const c=t[u],l=ge(c.modifiers),p=l.find(g=>r.includes(g)),d="on"+f.upperFirstCamelCase(u)+(p&&i[p]||""),h=c.handler?s.__parseFunction(kt(c.handler)):null;return h&&(a[d]=n.withModifiers(l.includes("enter")?xt(h,"enter"):h,l)),a},{})}function Nt(n,e,t,s,r=[]){let i=r.findIndex(o=>o.id===n.id);for(let o=++i;o<r.length;o++){const{directives:a=[]}=r[o],{vElseIf:u,vElse:c}=Ze(a);if(u){if(e.__parseExpression(u.value))return M(r[o],e,t,s,r,!0);continue}if(c)return M(r[o],e,t,s,r,!0)}return null}function ge(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function Lt(n,e,t,s,r){const{children:i}=e,o=Ut(e,s),a=s.$slots?.[o.name];return a?a(t):i?f.isString(i)?n.createTextVNode(i):b(i)?n.createTextVNode(ue(s.__parseExpression(i))):Array.isArray(i)?i.map((u,c)=>M(u,s,n,r,i,!1,c)):null:null}function Ut(n,e){const{props:t}=n,s=t?.name||"default";return{name:b(s)?e.__parseExpression(s):s,params:[]}}function qt(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function Bt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function Jt(n,e){const t={type:"JSFunction",value:n.value?.value?`(v) => {
13
17
  ${n.value.value} = v?.target.value;
14
- }`:"(v) => {}"};return{[j(n.arg)?e.__parseExpression(n.arg):n.arg||"value"]:e.__parseExpression(n.value),onInput:e.__parseFunction(t)}}function Ut(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
18
+ }`:"(v) => {}"};return{[b(n.arg)?e.__parseExpression(n.arg):n.arg||"value"]:e.__parseExpression(n.value),onInput:e.__parseFunction(t)}}function Kt(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
15
19
  ${e.value.value} = v;
16
- }`:"(v) => {}"},r=t.__parseFunction(s),o=ge(j(e.modifiers)?t.__parseExpression(e.modifiers):e.modifiers),i=j(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[i]:t.__parseExpression(e.value),[`onUpdate:${i}`]:o.length&&r?n.withModifiers(r,o):r}}function qt(n,e,t,s,r){if(!e)return null;if(f.isString(e))return{default:()=>e};if(j(e))return{default:()=>ue(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=Bt(e),i=(a,u)=>!a||!r?{}:r?.id&&Object.keys(a).length?u?{[u]:a}:{[`scope_${r.id}`]:a}:u?{[u]:Object.create(null)}:{};return Object.entries(o).reduce((a,[u,{nodes:c,params:l,scope:p}])=>(a[u]=d=>{const h=l.length?f.pick(d??{},l):i(d,p);return c.map((g,m)=>O(g,t.__clone(h),n,s,c,!1,m))},a),{})}return null}function Bt(n){const e={};for(const t of n){const s=Jt(t.slot),r=s.name;e[r]?(e[r].nodes.push(t),e[r].params=e[r].params.concat(s.params),e[r].scope=s.scope||""):e[r]={nodes:[t],params:s.params,scope:s.scope||""}}return e}function Jt(n="default"){return f.isString(n)?{name:n,params:[],scope:""}:{params:[],scope:"",...n}}function Kt(n,e,t){const{value:s,iterator:r}=n,{item:o="item",index:i="index"}=r||{};let a=t.__parseExpression(s)||[];return Number.isInteger(a)&&(a=new Array(a).fill(!0).map((u,c)=>c+1)),Array.isArray(a)?a.map((u,c)=>e(t.__clone({[o]:u,[i]:c}),c)):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}const re=$.defineComponent({name:"VtjPageContainer",async setup(){const n=ye(),e=Ee.useRoute(),t=e.meta.__vtj__||e.params.id,s=t?n.getPage(t):n.getHomepage(),r=s?await n.getRenderComponent(s.id):null,o=$.ref(Symbol());if(s){Object.assign(e.meta,s.meta||{},{cache:s.cache});const{useTitle:i}=n?.adapter;if(i){const a=e.meta.title||s.title||"VTJ.PRO";i(a)}}return{provider:n,component:r,file:s,query:e.query,meta:e.meta,sid:o,route:e}},render(){const{component:n,query:e,sid:t}=this;return n?$.h(n,{...e,key:t}):$.h("div",{style:{padding:"10px"}},"找不到组件,组件不存在或未发布!")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),Gt=$.defineComponent({name:"VtjStartupContainer",render(){return $.h("div","page not found!")}});function q(n,e,t=[]){const s=[];for(const r of t){const{id:o,title:i,icon:a,children:u,hidden:c,layout:l}=r;if(l){const p=q(n,e,u||[]);s.push(...p)}else{const p={id:o,title:i,icon:a,hidden:c,url:`${n}/${e}/${o}`,children:u&&u.length?q(n,e,u):void 0};s.push(p)}}return s}function _e(n,e){if(!e)return n;let t=[];for(const s of n)if(s.children&&s.children.length){const r=_e(s.children,e);r.length&&(s.children=r,t.push(s))}else e.can(s.id.toString())&&t.push(s);return t}function zt(n){const{menuPathPrefix:e="",pageRouteName:t="page",disableMenusFilter:s=!1}=n||{},r=ye(),o=Ee.useRoute(),i=Ne(),a=$.ref(!1),u=$.ref(!1),c=r.project,l=(h,g)=>{a.value=!h?.mask,u.value=g?.pure??!!h?.pure};$.watchEffect(()=>{const{name:h,params:g,meta:m}=o;if(h===x){const _=r.getPage(g.id);l(_,m)}else if(h===U){const _=r.getHomepage();l(_,m)}else{const _=m.__vtj__;if(_){const y=r.getPage(_);l(y,m)}else a.value=!m.mask,u.value=!!m.pure}});const p=q(e,t,c?.pages),d=c?.config;return{disabled:a,logo:d?.logo,themeSwitchable:d?.themeSwitchable,title:d?.title||c?.description||c?.name||"VTJ App",menus:s?p:_e(p,i),pure:u}}function oe(n,e){const{id:t,title:s,meta:r}=n,{name:o="page",prefix:i="",component:a,routeMeta:u}=e;return{name:t,path:`${i}${o}/${t}`,component:a,meta:{title:s,...u,...r,__vtj__:t}}}function ce(n){const{name:e="page",prefix:t="",pages:s=[],component:r,loader:o,routeMeta:i,homepage:a}=n,u=[];for(const c of s){const{id:l,title:p,dir:d,layout:h,children:g,meta:m}=c;if(d){const _=ce({name:e,prefix:t,component:r,routeMeta:i,homepage:a,loader:o,pages:g||[]});u.push(..._)}else if(h){const _=ce({name:e,prefix:t,component:r,routeMeta:i,homepage:a,loader:o,pages:g||[]}),y={name:`layout_${l}`,path:t,component:()=>o(l),meta:{title:p,...i,...m,__vtj__:l},children:_};u.push(y),u.push(oe(c,n))}else if(u.push(oe(c,n)),a===l){const _=oe(c,n);_.path="",_.name=`home_${l}`,u.push(_)}}return u}function Vt(n={},e){const{css:t,store:s,enhance:r}=n,{window:o,app:i,library:a={},adapter:u,mode:c}=e,{Pinia:l}=a;i.config.globalProperties.$libs=a,Q(o,"global-css",t||""),l&&s&&Wt(s,i,l),Yt(i,u,n),!u.access&&n.access&&Qt(n.access,i,c,u),Xt(i,n),r&&Zt(r,i,a)}function Wt(n,e,t){const s=t.createPinia();if(e.use(s),b(n)&&n.value){const r=R(n,{},!1,!1,!0),o=t.defineStore("$store",r(e)||{});e.config.globalProperties.$store=o()}}function Qt(n,e,t,s){if(b(n)&&n.value){const r=R(n,{},!1,!1,!0),{alert:o,request:i}=s,a=new Y({alert:o,storagePrefix:"__VTJ_APP_",...r(e)}),u=e.config.globalProperties.$router;a.connect({mode:t,router:u,request:i}),e.use(a)}}function Yt(n,e,t){if(!e.request)return;const{axios:s,request:r,response:o}=t;if(s&&b(s)&&s.value){const i=R(s,{},!1,!1,!0);e.request.setConfig(i(n))}if(r&&b(r)&&r.value){const i=R(r,{},!1,!1,!0),a=e.request;a.__unReq&&a.__unReq(),a.__unReq=e.request.useRequest(u=>i(u,n))}if(o&&b(o)&&o.value){const i=R(o,{},!1,!1,!0),a=e.request;a.__unRes&&a.__unRes(),a.__unRes=e.request.useResponse(u=>i(u,n))}}function Xt(n,e){const{beforeEach:t,afterEach:s}=e,r=n.config.globalProperties.$router;if(t&&b(t)&&t.value){const o=R(t,{},!1,!1,!0);r&&r.beforeEach((i,a,u)=>o(i,a,u,n))}if(s&&b(s)&&s.value){const o=R(s,{},!1,!1,!0);r&&r.afterEach((i,a,u)=>o(i,a,u,n))}}function Zt(n,e,t={}){b(n)&&n.value&&R(n,{},!1,!1,!0)(e,t)}function es(n,e,t){if(!n||!e||!t)return;const{VueI18n:s}=e;if(s){const{locale:r,fallbackLocale:o,messages:i=[]}=t,a={};for(let c of i){const l=Object.keys(c).filter(p=>p!=="key");for(const p of l)a[p]||(a[p]={}),a[p][c.key]=c[p]}const u=s.createI18n({legacy:!1,locale:r,fallbackLocale:o,messages:a});n.use(u)}}const ve=Symbol("Provider");var Ye=(n=>(n.Production="production",n.Development="development",n))(Ye||{});class Xe extends T.Base{constructor(e){super(),this.options=e;const{service:t,mode:s=S.Raw,dependencies:r,materials:o,project:i={},adapter:a={},globals:u={},modules:c={},router:l=null,materialPath:p="./",nodeEnv:d="development"}=e;this.mode=s,this.modules=c,this.service=t,this.router=l,this.materialPath=p,this.nodeEnv=d,r&&(this.dependencies=r),o&&(this.materials=o),Object.assign(this.globals,u),Object.assign(this.adapter,a);const{access:h,request:g}=this.adapter;h&&h.connect({mode:s,router:l,request:g}),i&&s!==S.Design?this.load(i):this.project=i}mode;globals={};modules={};adapter={request:f.request,jsonp:f.jsonp};apis={};dependencies={};materials={};library={};libraryLocales={};libraryLocaleMap={};service;project=null;components={};nodeEnv="development";env={};router=null;materialPath="./";urlDslCaches={};errorHandler=null;createMock(e){return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(o){f.logger.warn("模拟数据模版异常",o)}return k()?.mock(s)}}async load(e){const{vtjDir:t=".vtj"}=this.options,s=this.modules[`${t}/projects/${e.id}.json`]||this.modules[`/src/${t}/projects/${e.id}.json`];if(this.project=s?await s():await this.service.init(e),!this.project)throw new Error("project is null");const{apis:r=[],meta:o=[],env:i=[]}=this.project,a=window;a&&(a.CKEDITOR_VERSION=void 0),this.initEnv(i),this.mode===S.Raw?await this.loadDependencies(a):await this.loadAssets(a),this.initMock(a),this.apis=qe(r,o,this.adapter),he(a),Be(r,a),e.platform!=="uniapp"&&this.initRouter(),this.triggerReady()}initMock(e){const t=k(e);t&&t.setup({timeout:"50-500"})}async loadDependencies(e={}){const t=Object.entries(this.dependencies);for(const[s,r]of t)e[s]||(e[s]=this.library[s]=await r())}async loadAssets(e={}){const{dependencies:t=[]}=this.project,{dependencies:s,library:r,components:o,materialPath:i,nodeEnv:a,libraryLocales:u}=this,{libraryExports:c,libraryMap:l,materials:p,materialExports:d,materialMapLibrary:h,libraryLocaleMap:g}=Pe(t,i,a==="development");Object.assign(this.libraryLocaleMap,g);for(const m of c){const _=s[m],y=e[m];if(y)r[m]=y;else if(_)e[m]=r[m]=await _();else{const C=l[m]||[];for(const v of C)B(v)&&await Fe(v,f.url.append(v,{v:D})),J(v)&&await f.loadScript(f.url.append(v,{v:D}));r[m]=e[m]}const w=g[m];if(w){const C=s[w];u[w]=C?await C():e[w]}}if(a==="development"){for(const _ of p)await f.loadScript(f.url.append(_,{v:D}));const m=this.materials||{};for(const _ of d){const y=e[h[_]],w=y?.default||y,C=T.BUILT_IN_COMPONENTS[_];if(C)w&&C.forEach(v=>{o[v]=w[v]});else{const v=m[_]?(await m[_]()).default:e[_];v&&w&&(v.components||[]).forEach(A=>{o[A.name]=Ae(A,w)})}}}}initRouter(){const{router:e,project:t,options:s,adapter:r}=this;if(!e)return;const o=t?.platform==="uniapp"?"pages":"page",{routeAppendTo:i,pageRouteName:a=o,routeMeta:u}=s,c=i?"":"/",l={path:`${c}${a}/:id`,name:x,component:re},p=this.getHomepage(),d={path:c,name:U,component:p?re:r.startupComponent||Gt,meta:u};if(e.hasRoute(x)&&e.removeRoute(x),e.hasRoute(U)&&e.removeRoute(U),s.enableStaticRoute){const h=t?.pages||[];ce({name:a,prefix:c,pages:h,component:re,loader:this.getRenderComponent.bind(this),homepage:p?.id}).forEach(m=>{i?e.addRoute(i,m):e.addRoute(m)}),p||(i?e.addRoute(i,d):e.addRoute(d))}else i?(e.addRoute(i,l),e.addRoute(i,d)):(e.addRoute(l),e.addRoute(d))}setErrorHandler(e){e.config.errorHandler=f.debounce((t,s,r)=>{const o=s?.$options.name,i=typeof t=="string"?t:t?.message||t?.msg||"未知错误",a=`[ ${o} ] ${i} ${r}`;["getComputedStyle","ResizeObserver"].some(c=>a.includes(c))||(console.error("[VTJ Error]:",{err:t,instance:s,info:r},t?.stack),this.errorHandler&&this.errorHandler(t),this.adapter.notify&&this.adapter.notify(a,"组件渲染错误","error"))},300)}install(e){const{libraryLocaleMap:t,libraryLocales:s}=this,{libraryOptions:r={}}=this.options,o=e.config.globalProperties.installed||{};for(const[i,a]of Object.entries(this.library))if(!o[i]&&De(a)){const c={locale:s[t[i]]},l=r[i]||{},p={...c,...l};e.use(a,p),o[i]=!0}e.provide(ve,this),e.config.globalProperties.$provider=this,e.config.globalProperties.$request=this.adapter?.request,this.options.install&&e.use(this.options.install),this.adapter.access&&e.use(this.adapter.access),this.project?.platform!=="uniapp"&&this.mode!==S.Design&&this.initGlobals(this.project?.globals||{},{app:e,window,adapter:this.adapter,library:this.library,mode:this.mode}),this.mode!==S.Design&&this.project?.i18n&&this.initI18n(e,this.library,this.project.i18n),this.options.enhance&&e.use(this.options.enhance,this),this.mode===S.Design&&this.setErrorHandler(e),e.config.globalProperties.installed=o}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(s=>s.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},s=(r,o=[])=>{for(const i of o){if(i.id===r)return i;if(i.children&&i.children.length){const a=s(r,i.children);if(a)return a}}};return s(e,t)||null}getFirstPage(){const{pages:e=[]}=this.project||{};if(!e.length)return null;const t=(s=[])=>{for(const r of s){if(r.type==="page"&&!r.dir&&!r.layout)return r;if(r.children&&r.children.length){const o=t(r.children);if(o)return o}}};return t(e)||null}getMenus(e="page",t=""){return q(t,e,this.project?.pages||[])}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):this.getFirstPage()}async getDsl(e){const{vtjDir:t=".vtj"}=this.options,s=this.modules[`${t}/files/${e}.json`]||this.modules[`/src/${t}/files/${e}.json`];return s?await s():this.service.getFile(e,this.project||void 0).catch(()=>null)}async getDslByUrl(e){const t=this.urlDslCaches[e];return t||(this.adapter.request?this.urlDslCaches[e]=this.adapter.request.send({url:e,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(s=>s.data).catch(()=>null):null)}createDslRenderer(e,t={}){const{library:s,components:r,mode:o,apis:i}=this,a={mode:o,Vue:s.Vue,components:r,libs:s,apis:i,window,...t},u=V({getDsl:async c=>await this.getDsl(c)||null,getDslByUrl:async c=>await this.getDslByUrl(c)||null,options:a});return z({...a,dsl:e,loader:u})}async getRenderComponent(e,t){const s=this.getFile(e);if(!s)return f.logger.warn(`Can not find file: ${e}`),null;if(t&&t(s),this.mode===S.Raw){const{vtjRawDir:o=".vtj/vue"}=this.options,i=`${o}/${e}.vue`,a=this.modules[i]||this.modules[`/src/pages/${e}.vue`];return a?(await a())?.default:this.nodeEnv==="development"&&this.adapter.startupComponent||null}const r=await this.getDsl(s.id);return r?this.createDslRenderer(r).renderer:(f.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return $.defineAsyncComponent(async()=>{const s=await this.getDslByUrl(e);return s?(s.name=t||s.name,this.createDslRenderer(s).renderer):null})}definePluginComponent(e){return $.defineAsyncComponent(async()=>await me(e,window))}initGlobals(e,t){const s=Object.assign({adapter:this.adapter,window},t);Vt(e,s)}initI18n(e,t,s){es(e,t,s)}initEnv(e=[]){this.env=e.reduce((t,s)=>(t[s.name]=s[this.nodeEnv],t),{})}}function ts(n){const e=new Xe(n);return{provider:e,onReady:s=>e.ready(s)}}function ye(n={}){const e=$.inject(ve,null);if(!e)throw new Error("Can not find provider");if(e.nodeEnv==="development"){const{id:t,version:s}=n;t&&s&&(async()=>{const r=await e.getDsl(t);r?.__VERSION__!==s&&e.adapter.notify&&e.adapter.notify(`[ ${r?.name} ] 组件源码版本与运行时版本不一致,请重新发布组件`,"版本不一致","warning")})()}return e}async function ss(n,e=""){const{name:t,urls:s=[]}=n||{},r=s.map(a=>e+a),{css:o,js:i}=Ie(r);if(o.length&&pe(o),i.length)return await fe(i,t).catch(()=>{})}const Ze={type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:n=>n.data?.code===0},ns=(n,e="/__vtj__/api/:type.json")=>(t,s,r)=>n.send({url:e,method:"post",params:{type:t},query:r,data:{type:t,data:s},settings:Ze}),rs=(n,e="/__vtj__/api/uploader.json")=>async(t,s)=>await n.send({url:e,method:"post",data:{files:t,projectId:s},settings:{...Ze,type:"data"}}).then(r=>r&&r[0]?r[0]:null).catch(()=>null);function os(n){return f.createRequest({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:e=>e.data?.code===0,showError:e=>{n&&n(e||"未知错误")}}})}class X{constructor(e=f.request){this.req=e,this.api=ns(e),this.uploader=rs(e)}api;pluginCaches={};uploader;async getExtension(){console.log("BaseService.getExtension")}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e,t){return!!await this.api("saveProject",e,{type:t}).catch(()=>!1)}async saveMaterials(e,t){return console.log("BaseService.saveMaterials",e,t),!1}async saveFile(e){return console.log("BaseService.saveFile",e),!1}async getFile(e){return console.log("BaseService.getFile",e),{}}async removeFile(e){return console.log("BaseService.removeFile",e),!1}async saveHistory(e){return console.log("BaseService.saveHistory",e),!1}async removeHistory(e){return console.log("BaseService.removeHistory",e),!1}async getHistory(e){return console.log("BaseService.getHistory",e),{}}async getHistoryItem(e,t){return console.log("BaseService.getHistoryItem",e,t),{}}async saveHistoryItem(e,t){return console.log("BaseService.saveHistoryItem",e,t),!1}async removeHistoryItem(e,t){return console.log("BaseService.removeHistoryItem",e,t),!1}async publish(e){return!!await this.api("publish",e).catch(()=>!1)}async publishFile(e,t){return!!await this.api("publishFile",{project:e,file:t}).catch(()=>!1)}async genVueContent(e,t){return await this.api("genVueContent",{project:e,dsl:t}).catch(()=>"")}async parseVue(e,t){return await this.api("parseVue",{project:e,...t})}async createRawPage(e){return await this.api("createRawPage",e).catch(()=>"")}async removeRawPage(e){return await this.api("removeRawPage",e).catch(()=>"")}async uploadStaticFile(e,t){return await this.uploader(e,t).catch(()=>null)}async getStaticFiles(e){return await this.api("getStaticFiles",e).catch(()=>[])}async removeStaticFile(e,t){return await this.api("removeStaticFile",{name:e,projectId:t}).catch(()=>"")}async clearStaticFiles(e){return await this.api("clearStaticFiles",e).catch(()=>"")}async getPluginMaterial(e){const{urls:t=[]}=e,s=t.filter(o=>Ce(o))[0];if(!s)return null;const r=this.pluginCaches[s];return r||(this.pluginCaches[s]=f.request.send({url:s,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(o=>o.data).catch(()=>null))}async genSource(e){return console.log("BaseService.genSource",e),""}}const E=new f.Storage({type:"local",expired:0,prefix:"__VTJ_"});class is extends X{init(e){const t=new T.ProjectModel(e),s=E.get(`project_${t.id}`),r=Object.assign(t.toDsl(),s||{});return E.save(`project_${t.id}`,r),Promise.resolve(r)}saveProject(e){const t=new T.ProjectModel(e);return E.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return E.save(`materials_${e.id}`,f.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return E.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=E.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return E.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return E.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=E.get(`history_${e}`);if(t){const r=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,r),E.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=E.get(`history_${e}`),s=new T.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=E.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return E.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{E.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class et extends X{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new T.ProjectModel(e),s=this.projects[t.id]||{},r=Object.assign(t.toDsl(),s);return this.projects[r.id]=r,Promise.resolve(r)}saveProject(e){const t=new T.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=f.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return this.files[e.id]=e,Promise.resolve(!0)}getFile(e){const t=this.files[e];return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return delete this.files[e],Promise.resolve(!0)}saveHistory(e){return this.histories[e.id]=e,Promise.resolve(!0)}removeHistory(e){const t=this.histories[e];if(t){const r=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,r),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],s=new T.HistoryModel(t||{id:e});return Promise.resolve(s)}getHistoryItem(e,t){const s=`${e}_${t}`,r=this.historyItems[s]||{};return Promise.resolve(r)}saveHistoryItem(e,t){const s=`${e}_${t.id}`;return this.historyItems[s]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{const r=`${e}_${s}`;delete this.historyItems[r]}),Promise.resolve(!0)}}let G=null;function as(){return G||(G=new et,G)}class cs extends X{getFileCaches={};async getExtension(){return await this.api("getExtension",{}).catch(()=>{})}async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e,t){return!!await this.api("saveProject",e,{type:t}).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:f.mapToObject(t)}).catch(()=>!1)}async saveFile(e){return!!await this.api("saveFile",e).catch(()=>!1)}async getFile(e){const t=this.getFileCaches[e];return t||(this.getFileCaches[e]=this.api("getFile",e).catch(()=>null)).finally(()=>{delete this.getFileCaches[e]})}async removeFile(e){return!!await this.api("removeFile",e).catch(()=>!1)}async saveHistory(e){return!!await this.api("saveHistory",e).catch(()=>!1)}async removeHistory(e){return!!await this.api("removeHistory",e).catch(()=>!1)}async getHistory(e){return await this.api("getHistory",e).catch(()=>null)||{}}async getHistoryItem(e,t){return await this.api("getHistoryItem",{fId:e,id:t}).catch(()=>null)||{}}async saveHistoryItem(e,t){return!!await this.api("saveHistoryItem",{fId:e,item:t}).catch(()=>!1)}async removeHistoryItem(e,t){return!!await this.api("removeHistoryItem",{fId:e,ids:t}).catch(()=>!1)}}exports.ACCESS=ct;exports.ACCESS_KEY=de;exports.Access=Y;exports.BUILD_IN_TAGS=je;exports.BUILT_IN_DIRECTIVES=$e;exports.BaseService=X;exports.CONTEXT_HOST=ie;exports.Context=Ge;exports.ContextMode=S;exports.DATA_TYPES=be;exports.HOMEPAGE_ROUTE_NAME=U;exports.HTML_TAGS=le;exports.JSCodeToString=mt;exports.LIFE_CYCLES_LIST=it;exports.LocalService=cs;exports.MemoryService=et;exports.NodeEnv=Ye;exports.PAGE_ROUTE_NAME=x;exports.Provider=Xe;exports.REMOTE=at;exports.StorageService=is;exports.VTJ_RENDERER_VERSION=D;exports.adoptStylesToInline=ft;exports.adoptedStyleSheets=Q;exports.clearLoaderCache=Pt;exports.compileScopedCSS=Te;exports.convertCssRpx=Oe;exports.createAccess=vt;exports.createAdapter=_t;exports.createAssetScripts=lt;exports.createAssetsCss=ut;exports.createDataSources=ze;exports.createLoader=V;exports.createMemoryService=as;exports.createMenus=q;exports.createMetaApi=Ue;exports.createMock=Je;exports.createProvider=ts;exports.createRenderer=z;exports.createSchemaApi=Le;exports.createSchemaApis=qe;exports.createServiceRequest=os;exports.defaultLoader=We;exports.fillBasePath=N;exports.getMock=k;exports.getModifiers=ge;exports.getPlugin=me;exports.getRawComponent=Ae;exports.isBuiltInTag=xe;exports.isCSSUrl=B;exports.isJSCode=He;exports.isJSExpression=j;exports.isJSFunction=b;exports.isJSON=Ce;exports.isJSUrl=J;exports.isNativeTag=ke;exports.isVuePlugin=De;exports.loadCss=Fe;exports.loadCssUrl=pe;exports.loadEnhance=ss;exports.loadScriptUrl=fe;exports.menusFilter=_e;exports.mockApi=Ke;exports.mockApis=Be;exports.mockCleanup=he;exports.nodeCache=F;exports.nodeRender=O;exports.parseDeps=Pe;exports.parseExpression=H;exports.parseFunction=R;exports.parseUrls=Ie;exports.providerKey=ve;exports.removeProdFlag=Re;exports.rpxToPx=Me;exports.setupPageSetting=dt;exports.toString=ue;exports.useAccess=Ne;exports.useMask=zt;exports.useProvider=ye;
20
+ }`:"(v) => {}"},r=t.__parseFunction(s),i=ge(b(e.modifiers)?t.__parseExpression(e.modifiers):e.modifiers),o=b(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[o]:t.__parseExpression(e.value),[`onUpdate:${o}`]:i.length&&r?n.withModifiers(r,i):r}}function Gt(n,e,t,s,r){if(!e)return null;if(f.isString(e))return{default:()=>e};if(b(e))return{default:()=>ue(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const i=zt(e),o=(a,u)=>!a||!r?{}:r?.id&&Object.keys(a).length?u?{[u]:a}:{[`scope_${r.id}`]:a}:u?{[u]:Object.create(null)}:{};return Object.entries(i).reduce((a,[u,{nodes:c,params:l,scope:p}])=>(a[u]=d=>{const h=l.length?f.pick(d??{},l):o(d,p);return c.map((g,m)=>M(g,t.__clone(h),n,s,c,!1,m))},a),{})}return null}function zt(n){const e={};for(const t of n){const s=Vt(t.slot),r=s.name;e[r]?(e[r].nodes.push(t),e[r].params=e[r].params.concat(s.params),e[r].scope=s.scope||""):e[r]={nodes:[t],params:s.params,scope:s.scope||""}}return e}function Vt(n="default"){return f.isString(n)?{name:n,params:[],scope:""}:{params:[],scope:"",...n}}function Wt(n,e,t){const{value:s,iterator:r}=n,{item:i="item",index:o="index"}=r||{};let a=t.__parseExpression(s)||[];return Number.isInteger(a)&&(a=new Array(a).fill(!0).map((u,c)=>c+1)),Array.isArray(a)?a.map((u,c)=>e(t.__clone({[i]:u,[o]:c}),c)):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}const re=$.defineComponent({name:"VtjPageContainer",async setup(){const n=ye(),e=Ee.useRoute(),t=e.meta.__vtj__||e.params.id,s=t?n.getPage(t):n.getHomepage(),r=s?await n.getRenderComponent(s.id):null,i=$.ref(Symbol());if(s){Object.assign(e.meta,s.meta||{},{cache:s.cache});const{useTitle:o}=n?.adapter;if(o){const a=e.meta.title||s.title||"VTJ.PRO";o(a)}}return{provider:n,component:r,file:s,query:e.query,meta:e.meta,sid:i,route:e}},render(){const{component:n,query:e,sid:t}=this;return n?$.h(n,{...e,key:t}):$.h("div",{style:{padding:"10px"}},"找不到组件,组件不存在或未发布!")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),Qt=$.defineComponent({name:"VtjStartupContainer",render(){return $.h("div","page not found!")}});function q(n,e,t=[]){const s=[];for(const r of t){const{id:i,title:o,icon:a,children:u,hidden:c,layout:l}=r;if(l){const p=q(n,e,u||[]);s.push(...p)}else{const p={id:i,title:o,icon:a,hidden:c,url:`${n}/${e}/${i}`,children:u&&u.length?q(n,e,u):void 0};s.push(p)}}return s}function _e(n,e){if(!e)return n;let t=[];for(const s of n)if(s.children&&s.children.length){const r=_e(s.children,e);r.length&&(s.children=r,t.push(s))}else e.can(s.id.toString())&&t.push(s);return t}function Yt(n){const{menuPathPrefix:e="",pageRouteName:t="page",disableMenusFilter:s=!1}=n||{},r=ye(),i=Ee.useRoute(),o=qe(),a=$.ref(!1),u=$.ref(!1),c=r.project,l=(h,g)=>{a.value=!h?.mask,u.value=g?.pure??!!h?.pure};$.watchEffect(()=>{const{name:h,params:g,meta:m}=i;if(h===x){const _=r.getPage(g.id);l(_,m)}else if(h===U){const _=r.getHomepage();l(_,m)}else{const _=m.__vtj__;if(_){const y=r.getPage(_);l(y,m)}else a.value=!m.mask,u.value=!!m.pure}});const p=q(e,t,c?.pages),d=c?.config;return{disabled:a,logo:d?.logo,themeSwitchable:d?.themeSwitchable,title:d?.title||c?.description||c?.name||"VTJ App",menus:s?p:_e(p,o),pure:u}}function ie(n,e){const{id:t,title:s,meta:r}=n,{name:i="page",prefix:o="",component:a,routeMeta:u}=e;return{name:t,path:`${o}${i}/${t}`,component:a,meta:{title:s,...u,...r,__vtj__:t}}}function ce(n){const{name:e="page",prefix:t="",pages:s=[],component:r,loader:i,routeMeta:o,homepage:a}=n,u=[];for(const c of s){const{id:l,title:p,dir:d,layout:h,children:g,meta:m}=c;if(d){const _=ce({name:e,prefix:t,component:r,routeMeta:o,homepage:a,loader:i,pages:g||[]});u.push(..._)}else if(h){const _=ce({name:e,prefix:t,component:r,routeMeta:o,homepage:a,loader:i,pages:g||[]}),y={name:`layout_${l}`,path:t,component:()=>i(l),meta:{title:p,...o,...m,__vtj__:l},children:_};u.push(y),u.push(ie(c,n))}else if(u.push(ie(c,n)),a===l){const _=ie(c,n);_.path="",_.name=`home_${l}`,u.push(_)}}return u}function Xt(n={},e){const{css:t,store:s,enhance:r}=n,{window:i,app:o,library:a={},adapter:u,mode:c}=e,{Pinia:l}=a;o.config.globalProperties.$libs=a,Q(i,"global-css",t||""),l&&s&&Zt(s,o,l),ts(o,u,n),!u.access&&n.access&&es(n.access,o,c,u),ss(o,n),r&&ns(r,o,a)}function Zt(n,e,t){const s=t.createPinia();if(e.use(s),C(n)&&n.value){const r=R(n,{},!1,!1,!0),i=t.defineStore("$store",r(e)||{});e.config.globalProperties.$store=i()}}function es(n,e,t,s){if(C(n)&&n.value){const r=R(n,{},!1,!1,!0),{alert:i,request:o}=s,a=new Y({alert:i,storagePrefix:"__VTJ_APP_",...r(e)}),u=e.config.globalProperties.$router;a.connect({mode:t,router:u,request:o}),e.use(a)}}function ts(n,e,t){if(!e.request)return;const{axios:s,request:r,response:i}=t;if(s&&C(s)&&s.value){const o=R(s,{},!1,!1,!0);e.request.setConfig(o(n))}if(r&&C(r)&&r.value){const o=R(r,{},!1,!1,!0),a=e.request;a.__unReq&&a.__unReq(),a.__unReq=e.request.useRequest(u=>o(u,n))}if(i&&C(i)&&i.value){const o=R(i,{},!1,!1,!0),a=e.request;a.__unRes&&a.__unRes(),a.__unRes=e.request.useResponse(u=>o(u,n))}}function ss(n,e){const{beforeEach:t,afterEach:s}=e,r=n.config.globalProperties.$router;if(t&&C(t)&&t.value){const i=R(t,{},!1,!1,!0);r&&r.beforeEach((o,a,u)=>i(o,a,u,n))}if(s&&C(s)&&s.value){const i=R(s,{},!1,!1,!0);r&&r.afterEach((o,a,u)=>i(o,a,u,n))}}function ns(n,e,t={}){C(n)&&n.value&&R(n,{},!1,!1,!0)(e,t)}function rs(n,e,t){if(!n||!e||!t)return;const{VueI18n:s}=e;if(s){const{locale:r,fallbackLocale:i,messages:o=[]}=t,a={};for(let c of o){const l=Object.keys(c).filter(p=>p!=="key");for(const p of l)a[p]||(a[p]={}),a[p][c.key]=c[p]}const u=s.createI18n({legacy:!1,locale:r,fallbackLocale:i,messages:a});n.use(u)}}const ve=Symbol("Provider");var et=(n=>(n.Production="production",n.Development="development",n))(et||{});class tt extends F.Base{constructor(e){super(),this.options=e;const{service:t,mode:s=S.Raw,dependencies:r,materials:i,project:o={},adapter:a={},globals:u={},modules:c={},router:l=null,materialPath:p="./",nodeEnv:d="development"}=e;this.mode=s,this.modules=c,this.service=t,this.router=l,this.materialPath=p,this.nodeEnv=d,r&&(this.dependencies=r),i&&(this.materials=i),Object.assign(this.globals,u),Object.assign(this.adapter,a);const{access:h,request:g}=this.adapter;h&&h.connect({mode:s,router:l,request:g}),o&&s!==S.Design?this.load(o):this.project=o}mode;globals={};modules={};adapter={request:f.request,jsonp:f.jsonp};apis={};dependencies={};materials={};library={};libraryLocales={};libraryLocaleMap={};service;project=null;components={};nodeEnv="development";env={};router=null;materialPath="./";urlDslCaches={};errorHandler=null;createMock(e){return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(i){f.logger.warn("模拟数据模版异常",i)}return k()?.mock(s)}}async load(e){const{vtjDir:t=".vtj"}=this.options,s=this.modules[`${t}/projects/${e.id}.json`]||this.modules[`/src/${t}/projects/${e.id}.json`];if(this.project=s?await s():await this.service.init(e),!this.project)throw new Error("project is null");const{apis:r=[],meta:i=[],env:o=[]}=this.project,a=window;a&&(a.CKEDITOR_VERSION=void 0),this.initEnv(o),this.mode===S.Raw?await this.loadDependencies(a):await this.loadAssets(a),this.initMock(a),this.apis=Ke(r,i,this.adapter),he(a),Ge(r,a),e.platform!=="uniapp"&&this.initRouter(),this.triggerReady()}initMock(e){const t=k(e);t&&t.setup({timeout:"50-500"})}async loadDependencies(e={}){const t=Object.entries(this.dependencies);for(const[s,r]of t)e[s]||(e[s]=this.library[s]=await r())}async loadAssets(e={}){const{dependencies:t=[]}=this.project,{dependencies:s,library:r,components:i,materialPath:o,nodeEnv:a,libraryLocales:u}=this,{libraryExports:c,libraryMap:l,materials:p,materialExports:d,materialMapLibrary:h,libraryLocaleMap:g}=Pe(t,o,a==="development");Object.assign(this.libraryLocaleMap,g);for(const m of c){const _=s[m],y=e[m];if(y)r[m]=y;else if(_)e[m]=r[m]=await _();else{const j=l[m]||[];for(const v of j)B(v)&&await Oe(v,f.url.append(v,{v:D})),J(v)&&await f.loadScript(f.url.append(v,{v:D}));r[m]=e[m]}const w=g[m];if(w){const j=s[w];u[w]=j?await j():e[w]}}if(a==="development"){for(const _ of p)await f.loadScript(f.url.append(_,{v:D}));const m=this.materials||{};for(const _ of d){const y=e[h[_]],w=y?.default||y,j=F.BUILT_IN_COMPONENTS[_];if(j)w&&j.forEach(v=>{i[v]=w[v]});else{const v=m[_]?(await m[_]()).default:e[_];v&&w&&(v.components||[]).forEach(A=>{i[A.name]=Ae(A,w)})}}}}initRouter(){const{router:e,project:t,options:s,adapter:r}=this;if(!e)return;const i=t?.platform==="uniapp"?"pages":"page",{routeAppendTo:o,pageRouteName:a=i,routeMeta:u}=s,c=o?"":"/",l={path:`${c}${a}/:id`,name:x,component:re},p=this.getHomepage(),d={path:c,name:U,component:p?re:r.startupComponent||Qt,meta:u};if(e.hasRoute(x)&&e.removeRoute(x),e.hasRoute(U)&&e.removeRoute(U),s.enableStaticRoute){const h=t?.pages||[];ce({name:a,prefix:c,pages:h,component:re,loader:this.getRenderComponent.bind(this),homepage:p?.id}).forEach(m=>{o?e.addRoute(o,m):e.addRoute(m)}),p||(o?e.addRoute(o,d):e.addRoute(d))}else o?(e.addRoute(o,l),e.addRoute(o,d)):(e.addRoute(l),e.addRoute(d))}setErrorHandler(e){e.config.errorHandler=f.debounce((t,s,r)=>{const i=s?.$options.name,o=typeof t=="string"?t:t?.message||t?.msg||"未知错误",a=`[ ${i} ] ${o} ${r}`;["getComputedStyle","ResizeObserver"].some(c=>a.includes(c))||(console.error("[VTJ Error]:",{err:t,instance:s,info:r},t?.stack),this.errorHandler&&this.errorHandler(t),this.adapter.notify&&this.adapter.notify(a,"组件渲染错误","error"))},300)}install(e){const{libraryLocaleMap:t,libraryLocales:s}=this,{libraryOptions:r={}}=this.options,i=e.config.globalProperties.installed||{};for(const[o,a]of Object.entries(this.library))if(!i[o]&&De(a)){const c={locale:s[t[o]]},l=r[o]||{},p={...c,...l};e.use(a,p),i[o]=!0}e.provide(ve,this),e.config.globalProperties.$provider=this,e.config.globalProperties.$request=this.adapter?.request,this.options.install&&e.use(this.options.install),this.adapter.access&&e.use(this.adapter.access),this.project?.platform!=="uniapp"&&this.mode!==S.Design&&this.initGlobals(this.project?.globals||{},{app:e,window,adapter:this.adapter,library:this.library,mode:this.mode}),this.mode!==S.Design&&this.project?.i18n&&this.initI18n(e,this.library,this.project.i18n),this.options.enhance&&e.use(this.options.enhance,this),this.mode===S.Design&&this.setErrorHandler(e),e.config.globalProperties.installed=i}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(s=>s.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},s=(r,i=[])=>{for(const o of i){if(o.id===r)return o;if(o.children&&o.children.length){const a=s(r,o.children);if(a)return a}}};return s(e,t)||null}getFirstPage(){const{pages:e=[]}=this.project||{};if(!e.length)return null;const t=(s=[])=>{for(const r of s){if(r.type==="page"&&!r.dir&&!r.layout)return r;if(r.children&&r.children.length){const i=t(r.children);if(i)return i}}};return t(e)||null}getMenus(e="page",t=""){return q(t,e,this.project?.pages||[])}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):this.getFirstPage()}async getDsl(e){const{vtjDir:t=".vtj"}=this.options,s=this.modules[`${t}/files/${e}.json`]||this.modules[`/src/${t}/files/${e}.json`];return s?await s():this.service.getFile(e,this.project||void 0).catch(()=>null)}async getDslByUrl(e){const t=this.urlDslCaches[e];return t||(this.adapter.request?this.urlDslCaches[e]=this.adapter.request.send({url:e,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(s=>s.data).catch(()=>null):null)}createDslRenderer(e,t={}){const{library:s,components:r,mode:i,apis:o}=this,a={mode:i,Vue:s.Vue,components:r,libs:s,apis:o,window,...t},u=V({getDsl:async c=>await this.getDsl(c)||null,getDslByUrl:async c=>await this.getDslByUrl(c)||null,options:a});return z({...a,dsl:e,loader:u})}async getRenderComponent(e,t){const s=this.getFile(e);if(!s)return f.logger.warn(`Can not find file: ${e}`),null;if(t&&t(s),this.mode===S.Raw){const{vtjRawDir:i=".vtj/vue"}=this.options,o=`${i}/${e}.vue`,a=this.modules[o]||this.modules[`/src/pages/${e}.vue`];return a?(await a())?.default:this.nodeEnv==="development"&&this.adapter.startupComponent||null}const r=await this.getDsl(s.id);return r?this.createDslRenderer(r).renderer:(f.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return $.defineAsyncComponent(async()=>{const s=await this.getDslByUrl(e);return s?(s.name=t||s.name,this.createDslRenderer(s).renderer):null})}definePluginComponent(e){return $.defineAsyncComponent(async()=>await me(e,window))}initGlobals(e,t){const s=Object.assign({adapter:this.adapter,window},t);Xt(e,s)}initI18n(e,t,s){rs(e,t,s)}initEnv(e=[]){this.env=e.reduce((t,s)=>(t[s.name]=s[this.nodeEnv],t),{})}}function is(n){const e=new tt(n);return{provider:e,onReady:s=>e.ready(s)}}function ye(n={}){const e=$.inject(ve,null);if(!e)throw new Error("Can not find provider");if(e.nodeEnv==="development"){const{id:t,version:s}=n;t&&s&&(async()=>{const r=await e.getDsl(t);r?.__VERSION__!==s&&e.adapter.notify&&e.adapter.notify(`[ ${r?.name} ] 组件源码版本与运行时版本不一致,请重新发布组件`,"版本不一致","warning")})()}return e}async function os(n,e=""){const{name:t,urls:s=[]}=n||{},r=s.map(a=>e+a),{css:i,js:o}=Ie(r);if(i.length&&pe(i),o.length)return await fe(o,t).catch(()=>{})}const st={type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:n=>n.data?.code===0},as=(n,e="/__vtj__/api/:type.json")=>(t,s,r)=>n.send({url:e,method:"post",params:{type:t},query:r,data:{type:t,data:s},settings:st}),cs=(n,e="/__vtj__/api/uploader.json")=>async(t,s)=>await n.send({url:e,method:"post",data:{files:t,projectId:s},settings:{...st,type:"data"}}).then(r=>r&&r[0]?r[0]:null).catch(()=>null);function ls(n){return f.createRequest({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:e=>e.data?.code===0,showError:e=>{n&&n(e||"未知错误")}}})}class X{constructor(e=f.request){this.req=e,this.api=as(e),this.uploader=cs(e)}api;pluginCaches={};uploader;async getExtension(){console.log("BaseService.getExtension")}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e,t){return!!await this.api("saveProject",e,{type:t}).catch(()=>!1)}async saveMaterials(e,t){return console.log("BaseService.saveMaterials",e,t),!1}async saveFile(e){return console.log("BaseService.saveFile",e),!1}async getFile(e){return console.log("BaseService.getFile",e),{}}async removeFile(e){return console.log("BaseService.removeFile",e),!1}async saveHistory(e){return console.log("BaseService.saveHistory",e),!1}async removeHistory(e){return console.log("BaseService.removeHistory",e),!1}async getHistory(e){return console.log("BaseService.getHistory",e),{}}async getHistoryItem(e,t){return console.log("BaseService.getHistoryItem",e,t),{}}async saveHistoryItem(e,t){return console.log("BaseService.saveHistoryItem",e,t),!1}async removeHistoryItem(e,t){return console.log("BaseService.removeHistoryItem",e,t),!1}async publish(e){return!!await this.api("publish",e).catch(()=>!1)}async publishFile(e,t){return!!await this.api("publishFile",{project:e,file:t}).catch(()=>!1)}async genVueContent(e,t){return await this.api("genVueContent",{project:e,dsl:t}).catch(()=>"")}async parseVue(e,t){return await this.api("parseVue",{project:e,...t})}async createRawPage(e){return await this.api("createRawPage",e).catch(()=>"")}async removeRawPage(e){return await this.api("removeRawPage",e).catch(()=>"")}async uploadStaticFile(e,t){return await this.uploader(e,t).catch(()=>null)}async getStaticFiles(e){return await this.api("getStaticFiles",e).catch(()=>[])}async removeStaticFile(e,t){return await this.api("removeStaticFile",{name:e,projectId:t}).catch(()=>"")}async clearStaticFiles(e){return await this.api("clearStaticFiles",e).catch(()=>"")}async getPluginMaterial(e){const{urls:t=[]}=e,s=t.filter(i=>je(i))[0];if(!s)return null;const r=this.pluginCaches[s];return r||(this.pluginCaches[s]=f.request.send({url:s,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(i=>i.data).catch(()=>null))}async genSource(e){return console.log("BaseService.genSource",e),""}}const E=new f.Storage({type:"local",expired:0,prefix:"__VTJ_"});class us extends X{init(e){const t=new F.ProjectModel(e),s=E.get(`project_${t.id}`),r=Object.assign(t.toDsl(),s||{});return E.save(`project_${t.id}`,r),Promise.resolve(r)}saveProject(e){const t=new F.ProjectModel(e);return E.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return E.save(`materials_${e.id}`,f.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return E.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=E.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return E.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return E.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=E.get(`history_${e}`);if(t){const r=(t.items||[]).map(i=>i.id);this.removeHistoryItem(e,r),E.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=E.get(`history_${e}`),s=new F.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=E.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return E.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{E.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class nt extends X{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new F.ProjectModel(e),s=this.projects[t.id]||{},r=Object.assign(t.toDsl(),s);return this.projects[r.id]=r,Promise.resolve(r)}saveProject(e){const t=new F.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=f.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return this.files[e.id]=e,Promise.resolve(!0)}getFile(e){const t=this.files[e];return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return delete this.files[e],Promise.resolve(!0)}saveHistory(e){return this.histories[e.id]=e,Promise.resolve(!0)}removeHistory(e){const t=this.histories[e];if(t){const r=(t.items||[]).map(i=>i.id);this.removeHistoryItem(e,r),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],s=new F.HistoryModel(t||{id:e});return Promise.resolve(s)}getHistoryItem(e,t){const s=`${e}_${t}`,r=this.historyItems[s]||{};return Promise.resolve(r)}saveHistoryItem(e,t){const s=`${e}_${t.id}`;return this.historyItems[s]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{const r=`${e}_${s}`;delete this.historyItems[r]}),Promise.resolve(!0)}}let G=null;function ps(){return G||(G=new nt,G)}class fs extends X{getFileCaches={};async getExtension(){return await this.api("getExtension",{}).catch(()=>{})}async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e,t){return!!await this.api("saveProject",e,{type:t}).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:f.mapToObject(t)}).catch(()=>!1)}async saveFile(e){return!!await this.api("saveFile",e).catch(()=>!1)}async getFile(e){const t=this.getFileCaches[e];return t||(this.getFileCaches[e]=this.api("getFile",e).catch(()=>null)).finally(()=>{delete this.getFileCaches[e]})}async removeFile(e){return!!await this.api("removeFile",e).catch(()=>!1)}async saveHistory(e){return!!await this.api("saveHistory",e).catch(()=>!1)}async removeHistory(e){return!!await this.api("removeHistory",e).catch(()=>!1)}async getHistory(e){return await this.api("getHistory",e).catch(()=>null)||{}}async getHistoryItem(e,t){return await this.api("getHistoryItem",{fId:e,id:t}).catch(()=>null)||{}}async saveHistoryItem(e,t){return!!await this.api("saveHistoryItem",{fId:e,item:t}).catch(()=>!1)}async removeHistoryItem(e,t){return!!await this.api("removeHistoryItem",{fId:e,ids:t}).catch(()=>!1)}}exports.ACCESS=pt;exports.ACCESS_KEY=de;exports.Access=Y;exports.BUILD_IN_TAGS=be;exports.BUILT_IN_DIRECTIVES=$e;exports.BaseService=X;exports.CONTEXT_HOST=oe;exports.Context=We;exports.ContextMode=S;exports.DATA_TYPES=Ce;exports.HOMEPAGE_ROUTE_NAME=U;exports.HTML_TAGS=le;exports.JSCodeToString=vt;exports.LIFE_CYCLES_LIST=lt;exports.LocalService=fs;exports.MemoryService=nt;exports.NodeEnv=et;exports.PAGE_ROUTE_NAME=x;exports.Provider=tt;exports.REMOTE=ut;exports.StorageService=us;exports.VTJ_RENDERER_VERSION=D;exports.adoptStylesToInline=mt;exports.adoptedStyleSheets=Q;exports.clearLoaderCache=Ft;exports.compileScopedCSS=Fe;exports.convertCssRpx=Me;exports.createAccess=wt;exports.createAdapter=St;exports.createAssetScripts=ft;exports.createAssetsCss=dt;exports.createDataSources=Qe;exports.createLoader=V;exports.createMemoryService=ps;exports.createMenus=q;exports.createMetaApi=Je;exports.createMock=ze;exports.createProvider=is;exports.createRenderer=z;exports.createSchemaApi=Be;exports.createSchemaApis=Ke;exports.createServiceRequest=ls;exports.defaultLoader=Xe;exports.fillBasePath=N;exports.getMock=k;exports.getModifiers=ge;exports.getPlugin=me;exports.getRawComponent=Ae;exports.isArrowFunction=He;exports.isAssignment‌=Le;exports.isBuiltInTag=xe;exports.isCSSUrl=B;exports.isCallFunction=Ne;exports.isJSCode=Ue;exports.isJSExpression=b;exports.isJSFunction=C;exports.isJSON=je;exports.isJSUrl=J;exports.isNativeTag=ke;exports.isVuePlugin=De;exports.loadCss=Oe;exports.loadCssUrl=pe;exports.loadEnhance=os;exports.loadScriptUrl=fe;exports.menusFilter=_e;exports.mockApi=Ve;exports.mockApis=Ge;exports.mockCleanup=he;exports.nodeCache=O;exports.nodeRender=M;exports.parseDeps=Pe;exports.parseExpression=H;exports.parseFunction=R;exports.parseUrls=Ie;exports.providerKey=ve;exports.removeProdFlag=Re;exports.rpxToPx=Te;exports.setupPageSetting=gt;exports.toString=ue;exports.useAccess=qe;exports.useMask=Yt;exports.useProvider=ye;
package/dist/index.mjs CHANGED
@@ -7,10 +7,10 @@ import { useRoute as Oe } from "vue-router";
7
7
  * Copyright (c) 2026, VTJ.PRO All rights reserved.
8
8
  * @name @vtj/renderer
9
9
  * @author CHC chenhuachun1549@dingtalk.com
10
- * @version 0.16.27
10
+ * @version 0.16.29
11
11
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
12
12
  */
13
- const k = "0.16.27";
13
+ const H = "0.16.29";
14
14
  var y = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(y || {});
15
15
  const Re = [
16
16
  "$el",
@@ -24,7 +24,7 @@ const Re = [
24
24
  "$props",
25
25
  "$options",
26
26
  "$forceUpdate"
27
- ], As = [
27
+ ], Ms = [
28
28
  "beforeCreate",
29
29
  "created",
30
30
  "beforeMount",
@@ -55,9 +55,9 @@ const Re = [
55
55
  Object,
56
56
  Function,
57
57
  Date
58
- }, H = "VtjPage", J = "VtjHomepage", Me = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot,svg".split(
58
+ }, k = "VtjPage", J = "VtjHomepage", Me = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot,svg".split(
59
59
  ","
60
- ), dt = "component,slot".split(","), Is = [
60
+ ), dt = "component,slot".split(","), Ts = [
61
61
  "h",
62
62
  "t",
63
63
  "t",
@@ -77,7 +77,7 @@ const Re = [
77
77
  "p",
78
78
  "r",
79
79
  "o"
80
- ].join(""), Fs = {
80
+ ].join(""), xs = {
81
81
  auth: [
82
82
  "h",
83
83
  "t",
@@ -149,14 +149,14 @@ function X(n) {
149
149
  function ht(n) {
150
150
  return /\.json$/.test(n);
151
151
  }
152
- function Os(n) {
152
+ function Ds(n) {
153
153
  return n.map(
154
- (e) => `<script src="${O.append(e, { v: k })}"><\/script>`
154
+ (e) => `<script src="${O.append(e, { v: H })}"><\/script>`
155
155
  ).join("");
156
156
  }
157
- function Ms(n = []) {
157
+ function Hs(n = []) {
158
158
  return n.map(
159
- (e) => `<link rel="stylesheet" href="${O.append(e, { v: k })}" />`
159
+ (e) => `<link rel="stylesheet" href="${O.append(e, { v: H })}" />`
160
160
  ).join("");
161
161
  }
162
162
  function mt(n, e = !1) {
@@ -347,7 +347,7 @@ function ge(n, e, t, s = !1) {
347
347
  l ? l.innerHTML = a : (l = c.createElement("style"), l.id = e, l.innerHTML = a, c.head.appendChild(l));
348
348
  }
349
349
  }
350
- function Ts(n) {
350
+ function ks(n) {
351
351
  const e = n.adoptedStyleSheets || [];
352
352
  let t = "";
353
353
  if (e.forEach((s) => {
@@ -405,12 +405,21 @@ function N(n = window) {
405
405
  if (t && window)
406
406
  return window.Mock = t, t;
407
407
  }
408
- function xs(n, e, t) {
408
+ function Ns(n, e, t) {
409
409
  Object.assign(e.meta, t.meta);
410
410
  const s = n?._container;
411
411
  t?.type === "page" && s.classList.add("is-page"), t?.pure && s.classList.add("is-pure");
412
412
  }
413
413
  function Ct(n) {
414
+ return /^\([\s\S]*\)/.test(n.trim());
415
+ }
416
+ function Pt(n) {
417
+ return /\w+\([\s\S]*\)$/.test(n.trim());
418
+ }
419
+ function At(n) {
420
+ return n.includes("=");
421
+ }
422
+ function It(n) {
414
423
  if (typeof window > "u") return;
415
424
  const e = window[0] || window;
416
425
  if (e.__simulator__)
@@ -432,7 +441,7 @@ ${o}
432
441
  ` : `with(${t ? "{}" : "$scope || {}"}) { ${o} }`;
433
442
  return new Function("$scope", a)(e);
434
443
  } catch (i) {
435
- if (M.error("parseExpression.error", i, n, e?.__self ?? e), Ct(i), s)
444
+ if (M.error("parseExpression.error", i, n, e?.__self ?? e), It(i), s)
436
445
  throw i;
437
446
  }
438
447
  }
@@ -453,13 +462,13 @@ function E(n) {
453
462
  function $(n) {
454
463
  return typeof n == "object" && n && n.type === "JSFunction";
455
464
  }
456
- function Pt(n) {
465
+ function Ft(n) {
457
466
  return E(n) || $(n);
458
467
  }
459
- function Ds(n) {
460
- return Pt(n) ? n.value : JSON.stringify(n);
468
+ function Bs(n) {
469
+ return Ft(n) ? n.value : JSON.stringify(n);
461
470
  }
462
- const At = {
471
+ const Ot = {
463
472
  session: !1,
464
473
  authKey: "Authorization",
465
474
  storageKey: "ACCESS_STORAGE",
@@ -472,7 +481,7 @@ const At = {
472
481
  noPermissionMessage: "无权限访问该页面",
473
482
  appName: "",
474
483
  statusKey: "code"
475
- }, ke = Symbol("access");
484
+ }, He = Symbol("access");
476
485
  class _e {
477
486
  options;
478
487
  data = null;
@@ -480,7 +489,7 @@ class _e {
480
489
  interceptResponse = !0;
481
490
  isTipShowing = !1;
482
491
  constructor(e) {
483
- this.options = Object.assign({}, At, e), this.loadData();
492
+ this.options = Object.assign({}, Ot, e), this.loadData();
484
493
  }
485
494
  enableIntercept() {
486
495
  this.interceptResponse = !0;
@@ -524,7 +533,7 @@ class _e {
524
533
  return Se(e).some((i) => s[i] || s[t + "." + i]);
525
534
  }
526
535
  install(e) {
527
- e.config.globalProperties.$access = this, e.provide(ke, this);
536
+ e.config.globalProperties.$access = this, e.provide(He, this);
528
537
  }
529
538
  isAuthPath(e) {
530
539
  const { auth: t, isAuth: s } = this.options;
@@ -575,7 +584,7 @@ class _e {
575
584
  return e && t ? !!ne.get(t) : !!this.getToken();
576
585
  }
577
586
  hasRoutePermission(e) {
578
- if (e.name === H) {
587
+ if (e.name === k) {
579
588
  const t = e.params.id;
580
589
  return t && this.can(t);
581
590
  }
@@ -629,10 +638,10 @@ class _e {
629
638
  );
630
639
  }
631
640
  }
632
- function It() {
633
- return Ie(ke, null);
641
+ function Mt() {
642
+ return Ie(He, null);
634
643
  }
635
- function ks(n = {}) {
644
+ function Ls(n = {}) {
636
645
  const {
637
646
  notify: e,
638
647
  loading: t,
@@ -673,10 +682,10 @@ function ks(n = {}) {
673
682
  access: i ? new _e({ alert: a, ...i }) : void 0
674
683
  };
675
684
  }
676
- function Hs(n = {}) {
685
+ function qs(n = {}) {
677
686
  return new _e(n);
678
687
  }
679
- function Ft(n, e) {
688
+ function Tt(n, e) {
680
689
  const { jsonp: t, request: s } = e;
681
690
  if (n.method === "jsonp")
682
691
  return (r = {}) => t(n.url, {
@@ -695,7 +704,7 @@ function Ft(n, e) {
695
704
  return (o, a) => (delete i.data, s.send(et(i, a || {}, { data: o })));
696
705
  }
697
706
  }
698
- function Ot(n, e) {
707
+ function xt(n, e) {
699
708
  const { metaQuery: t } = e;
700
709
  if (!t) return;
701
710
  const { code: s, queryCode: r } = n;
@@ -707,21 +716,21 @@ function Ot(n, e) {
707
716
  return t(s, r, i, o);
708
717
  };
709
718
  }
710
- function Mt(n = [], e = [], t) {
719
+ function Dt(n = [], e = [], t) {
711
720
  const s = {};
712
721
  for (const r of n) {
713
- const i = Ft(r, t);
722
+ const i = Tt(r, t);
714
723
  s[r.id] = i, s[r.name] = i;
715
724
  }
716
725
  for (const r of e)
717
- s[r.id] = Ot(r, t);
726
+ s[r.id] = xt(r, t);
718
727
  return s;
719
728
  }
720
- async function Tt(n = [], e = window) {
729
+ async function Ht(n = [], e = window) {
721
730
  const t = N(e);
722
- t && (He(e), n.forEach((s) => Dt(t, s)));
731
+ t && (ke(e), n.forEach((s) => Nt(t, s)));
723
732
  }
724
- function xt(n, e = window) {
733
+ function kt(n, e = window) {
725
734
  const t = $(n.mockTemplate) && n.mockTemplate.value ? R(n.mockTemplate, {}, !0) : void 0, s = N(e);
726
735
  return async (...r) => {
727
736
  let i = {};
@@ -734,7 +743,7 @@ function xt(n, e = window) {
734
743
  return s?.mock(i);
735
744
  };
736
745
  }
737
- function Dt(n, e) {
746
+ function Nt(n, e) {
738
747
  if (!e.mock) return;
739
748
  const { url: t, mockTemplate: s } = e;
740
749
  if (t && s)
@@ -753,11 +762,11 @@ function Dt(n, e) {
753
762
  console.warn("mockApi", r);
754
763
  }
755
764
  }
756
- function He(n = window) {
765
+ function ke(n = window) {
757
766
  const e = N(n);
758
767
  e && (e._mocked = {});
759
768
  }
760
- class kt {
769
+ class Bt {
761
770
  __id = null;
762
771
  __mode;
763
772
  __instance = null;
@@ -873,7 +882,7 @@ function fe(n) {
873
882
  $components: s,
874
883
  $libs: r,
875
884
  $apis: i
876
- }, c = new kt({
885
+ }, c = new Bt({
877
886
  mode: t,
878
887
  dsl: a.value,
879
888
  attrs: u
@@ -881,7 +890,7 @@ function fe(n) {
881
890
  name: a.value.name,
882
891
  __scopeId: a.value.id ? `data-v-${a.value.id}` : void 0,
883
892
  props: {
884
- ...Nt(a.value.props ?? [], c)
893
+ ...qt(a.value.props ?? [], c)
885
894
  },
886
895
  async setup(f = {}) {
887
896
  c.$props = f, c.props = f, a.value.id && ge(
@@ -889,11 +898,11 @@ function fe(n) {
889
898
  a.value.id,
890
899
  a.value.css || "",
891
900
  !0
892
- ), c.state = Bt(e, a.value.state ?? {}, c);
893
- const p = Lt(e, a.value.computed ?? {}, c), d = qt(a.value.methods ?? {}, c), m = Ut(e, a.value.inject, c);
901
+ ), c.state = Ut(e, a.value.state ?? {}, c);
902
+ const p = Jt(e, a.value.computed ?? {}, c), d = Kt(a.value.methods ?? {}, c), m = zt(e, a.value.inject, c);
894
903
  for (const [v, w] of Object.entries(m || {}))
895
904
  m[v] = e.inject(v, w);
896
- const h = Jt(
905
+ const h = Gt(
897
906
  a.value.dataSources || {},
898
907
  c
899
908
  ), g = {
@@ -902,7 +911,7 @@ function fe(n) {
902
911
  ...d,
903
912
  ...h
904
913
  };
905
- return c.setup(g, e), Kt(e, a.value.watch ?? [], c), {
914
+ return c.setup(g, e), Vt(e, a.value.watch ?? [], c), {
906
915
  vtj: c,
907
916
  state: c.state,
908
917
  ...f,
@@ -910,7 +919,7 @@ function fe(n) {
910
919
  ...d
911
920
  };
912
921
  },
913
- emits: Ht(a.value.emits),
922
+ emits: Lt(a.value.emits),
914
923
  expose: ["vtj", ...a.value.expose || []],
915
924
  render() {
916
925
  if (!a.value.nodes) return null;
@@ -924,17 +933,17 @@ function fe(n) {
924
933
  return e.createVNode("div", {}, p);
925
934
  }
926
935
  },
927
- ...zt(a.value.lifeCycles ?? {}, c)
936
+ ...Wt(a.value.lifeCycles ?? {}, c)
928
937
  });
929
938
  return {
930
939
  renderer: e.markRaw(l),
931
940
  context: c
932
941
  };
933
942
  }
934
- function Ht(n = []) {
943
+ function Lt(n = []) {
935
944
  return n.map((e) => I(e) ? e : e.name);
936
945
  }
937
- function Nt(n = [], e) {
946
+ function qt(n = [], e) {
938
947
  const t = (s) => s ? (Array.isArray(s) ? s : [s]).map((i) => pt[i]) : void 0;
939
948
  return n.map((s) => I(s) ? {
940
949
  name: s
@@ -952,7 +961,7 @@ function Nt(n = [], e) {
952
961
  {}
953
962
  );
954
963
  }
955
- function Bt(n, e, t) {
964
+ function Ut(n, e, t) {
956
965
  return n.reactive(
957
966
  Object.keys(e || {}).reduce(
958
967
  (s, r) => {
@@ -963,19 +972,19 @@ function Bt(n, e, t) {
963
972
  )
964
973
  );
965
974
  }
966
- function Lt(n, e, t) {
975
+ function Jt(n, e, t) {
967
976
  return Object.entries(e ?? {}).reduce(
968
977
  (s, [r, i]) => (s[r] = n.computed(t.__parseFunction(i)), s),
969
978
  {}
970
979
  );
971
980
  }
972
- function qt(n, e) {
981
+ function Kt(n, e) {
973
982
  return Object.entries(n ?? {}).reduce(
974
983
  (t, [s, r]) => (t[s] = e.__parseFunction(r), t),
975
984
  {}
976
985
  );
977
986
  }
978
- function Ut(n, e = [], t) {
987
+ function zt(n, e = [], t) {
979
988
  return e.reduce(
980
989
  (s, r) => {
981
990
  const { name: i, from: o } = r || {};
@@ -986,12 +995,12 @@ function Ut(n, e = [], t) {
986
995
  {}
987
996
  );
988
997
  }
989
- function Jt(n, e) {
998
+ function Gt(n, e) {
990
999
  return Object.keys(n).reduce(
991
1000
  (t, s) => {
992
1001
  const r = n[s];
993
1002
  if (r.type === "mock")
994
- t[s] = xt(r);
1003
+ t[s] = kt(r);
995
1004
  else if (r.ref) {
996
1005
  const i = e.$apis[r.ref], o = $(r.transform) ? r.transform.value ? e.__parseFunction(r.transform) : void 0 : r.transform;
997
1006
  t[s] = async (...a) => {
@@ -1004,7 +1013,7 @@ function Jt(n, e) {
1004
1013
  {}
1005
1014
  );
1006
1015
  }
1007
- function Kt(n, e = [], t) {
1016
+ function Vt(n, e = [], t) {
1008
1017
  e.forEach((s) => {
1009
1018
  n.watch(
1010
1019
  t.__parseExpression(s.source),
@@ -1016,7 +1025,7 @@ function Kt(n, e = [], t) {
1016
1025
  );
1017
1026
  });
1018
1027
  }
1019
- function zt(n, e) {
1028
+ function Wt(n, e) {
1020
1029
  return Object.entries(n ?? {}).reduce(
1021
1030
  (t, [s, r]) => {
1022
1031
  const i = e.__parseFunction(r);
@@ -1027,7 +1036,7 @@ function zt(n, e) {
1027
1036
  {}
1028
1037
  );
1029
1038
  }
1030
- class Gt {
1039
+ class Qt {
1031
1040
  __props = {};
1032
1041
  __events = {};
1033
1042
  __nodes = {};
@@ -1069,9 +1078,9 @@ class Gt {
1069
1078
  this.__props = {}, this.__events = {}, this.__nodes = {};
1070
1079
  }
1071
1080
  }
1072
- const x = new Gt(), Ne = new it();
1081
+ const x = new Qt(), Ne = new it();
1073
1082
  let re = [], F = {}, D = {};
1074
- const Vt = (n, e) => e;
1083
+ const Xt = (n, e) => e;
1075
1084
  async function Be(n, e = window) {
1076
1085
  const { urls: t = [], library: s } = n, r = t.filter((a) => X(a));
1077
1086
  if (r.length === 0 || !s) return null;
@@ -1124,38 +1133,38 @@ function pe(n) {
1124
1133
  return i;
1125
1134
  };
1126
1135
  }
1127
- function Ns() {
1136
+ function Us() {
1128
1137
  F = {}, D = {}, Ne.clearAllCache(), x.clear();
1129
1138
  }
1130
- function T(n, e, t = W, s = Vt, r = [], i = !1, o = 0) {
1139
+ function T(n, e, t = W, s = Xt, r = [], i = !1, o = 0) {
1131
1140
  if (!n || !n.name || n.invisible) return null;
1132
1141
  const a = t.getCurrentInstance()?.appContext, { id: u = null, directives: c = [] } = n, { vIf: l, vElseIf: f, vElse: p, vFor: d, vShow: m, vModels: h, vBind: g, vHtml: v, others: w } = Le(c);
1133
1142
  if (!i && (f || p))
1134
1143
  return null;
1135
- if (l && !Qt(l, e))
1136
- return ts(n, e, t, s, r);
1144
+ if (l && !Zt(l, e))
1145
+ return is(n, e, t, s, r);
1137
1146
  const b = (_, C = 0) => {
1138
1147
  const Y = _.$components, Z = (() => {
1139
1148
  if (n.name === "component")
1140
- return Xt(_, n.props?.is);
1149
+ return es(_, n.props?.is);
1141
1150
  if (n.name === "slot") return n.name;
1142
1151
  const j = s(`${n.id}_${C}`, n.name, n.from, t);
1143
1152
  return I(j) ? jt(j) || Rt(j) ? j : Y[j] ?? a?.app?.component(j) ?? j : j;
1144
- })(), A = Yt(u, n.props ?? {}, _), Ge = es(
1153
+ })(), A = ts(u, n.props ?? {}, _), Ge = rs(
1145
1154
  t,
1146
1155
  n.id,
1147
1156
  n.events ?? {},
1148
1157
  _
1149
1158
  );
1150
1159
  if (n.name === "slot")
1151
- return ss(t, n, A, _, s);
1160
+ return os(t, n, A, _, s);
1152
1161
  g && Object.assign(A, _.__parseExpression(g.value)), m && (A.style = Object.assign(
1153
1162
  A.style ?? {},
1154
- rs(m, _)
1155
- )), v && Object.assign(A, is(v, _)), h.forEach((j) => {
1156
- Me.includes(n.name) ? Object.assign(A, os(j, _)) : Object.assign(A, as(t, j, _));
1163
+ cs(m, _)
1164
+ )), v && Object.assign(A, ls(v, _)), h.forEach((j) => {
1165
+ Me.includes(n.name) ? Object.assign(A, us(j, _)) : Object.assign(A, fs(t, j, _));
1157
1166
  });
1158
- const Ve = cs(
1167
+ const Ve = ps(
1159
1168
  t,
1160
1169
  n.children ?? [],
1161
1170
  _,
@@ -1174,12 +1183,12 @@ function T(n, e, t = W, s = Vt, r = [], i = !1, o = 0) {
1174
1183
  x.getNode(L) || ee || {},
1175
1184
  Ve
1176
1185
  );
1177
- const we = a ? Wt(a, w, _) : [];
1186
+ const we = a ? Yt(a, w, _) : [];
1178
1187
  return we.length && (te = t.withDirectives(te, we)), te;
1179
1188
  };
1180
- return d ? fs(d, b, e) : b(e, o);
1189
+ return d ? ms(d, b, e) : b(e, o);
1181
1190
  }
1182
- function Wt(n, e, t) {
1191
+ function Yt(n, e, t) {
1183
1192
  const s = n.app;
1184
1193
  return e.map((r) => {
1185
1194
  const i = typeof r.name == "string" ? s.directive(r.name) : t.__parseExpression(r.name);
@@ -1208,13 +1217,13 @@ function Le(n = []) {
1208
1217
  vHtml: a
1209
1218
  };
1210
1219
  }
1211
- function Qt(n, e) {
1220
+ function Zt(n, e) {
1212
1221
  return !!e.__parseExpression(n.value);
1213
1222
  }
1214
- function Xt(n, e) {
1223
+ function es(n, e) {
1215
1224
  return e ? E(e) ? n.__parseExpression(e) : e : "div";
1216
1225
  }
1217
- function Yt(n, e, t) {
1226
+ function ts(n, e, t) {
1218
1227
  const s = de(e, t);
1219
1228
  return s.ref = t.__ref(n, s.ref), s;
1220
1229
  }
@@ -1227,12 +1236,25 @@ function de(n, e) {
1227
1236
  {}
1228
1237
  ) : n;
1229
1238
  }
1230
- function Zt(n, e) {
1239
+ function ss(n, e) {
1231
1240
  return (t) => {
1232
1241
  t?.key?.toLowerCase() === e.toLowerCase() && n(t);
1233
1242
  };
1234
1243
  }
1235
- function es(n, e, t, s) {
1244
+ function ns(n) {
1245
+ return Ct(n.value) ? n : Pt(n.value) ? {
1246
+ type: "JSFunction",
1247
+ value: `(...args) => (() => {
1248
+ return (($event) => {
1249
+ ${n.value}
1250
+ }).apply(this, args);
1251
+ })()`
1252
+ } : At(n.value) ? {
1253
+ type: "JSFunction",
1254
+ value: `() => { ${n.value}}`
1255
+ } : n;
1256
+ }
1257
+ function rs(n, e, t, s) {
1236
1258
  const r = ["passive", "capture", "once"], i = {
1237
1259
  capture: "Capture",
1238
1260
  once: "Once",
@@ -1240,16 +1262,16 @@ function es(n, e, t, s) {
1240
1262
  };
1241
1263
  return Object.keys(t || {}).reduce(
1242
1264
  (a, u) => {
1243
- const c = t[u], l = qe(c.modifiers), f = l.find((m) => r.includes(m)), p = "on" + ot(u) + (f && i[f] || ""), d = s.__parseFunction(c.handler);
1265
+ const c = t[u], l = qe(c.modifiers), f = l.find((m) => r.includes(m)), p = "on" + ot(u) + (f && i[f] || ""), d = c.handler ? s.__parseFunction(ns(c.handler)) : null;
1244
1266
  return d && (a[p] = n.withModifiers(
1245
- l.includes("enter") ? Zt(d, "enter") : d,
1267
+ l.includes("enter") ? ss(d, "enter") : d,
1246
1268
  l
1247
1269
  )), a;
1248
1270
  },
1249
1271
  {}
1250
1272
  );
1251
1273
  }
1252
- function ts(n, e, t, s, r = []) {
1274
+ function is(n, e, t, s, r = []) {
1253
1275
  let i = r.findIndex((o) => o.id === n.id);
1254
1276
  for (let o = ++i; o < r.length; o++) {
1255
1277
  const { directives: a = [] } = r[o], { vElseIf: u, vElse: c } = Le(a);
@@ -1267,32 +1289,32 @@ function qe(n = {}, e = !1) {
1267
1289
  const t = Object.keys(n);
1268
1290
  return e ? t.map((s) => "." + s) : t;
1269
1291
  }
1270
- function ss(n, e, t, s, r) {
1271
- const { children: i } = e, o = ns(e, s), a = s.$slots?.[o.name];
1292
+ function os(n, e, t, s, r) {
1293
+ const { children: i } = e, o = as(e, s), a = s.$slots?.[o.name];
1272
1294
  return a ? a(t) : i ? I(i) ? n.createTextVNode(i) : E(i) ? n.createTextVNode(
1273
1295
  Te(s.__parseExpression(i))
1274
1296
  ) : Array.isArray(i) ? i.map(
1275
1297
  (u, c) => T(u, s, n, r, i, !1, c)
1276
1298
  ) : null : null;
1277
1299
  }
1278
- function ns(n, e) {
1300
+ function as(n, e) {
1279
1301
  const { props: t } = n, s = t?.name || "default";
1280
1302
  return {
1281
1303
  name: E(s) ? e.__parseExpression(s) : s,
1282
1304
  params: []
1283
1305
  };
1284
1306
  }
1285
- function rs(n, e) {
1307
+ function cs(n, e) {
1286
1308
  return e.__parseExpression(n.value) ? {} : {
1287
1309
  display: "none"
1288
1310
  };
1289
1311
  }
1290
- function is(n, e) {
1312
+ function ls(n, e) {
1291
1313
  return {
1292
1314
  innerHTML: e.__parseExpression(n.value) || ""
1293
1315
  };
1294
1316
  }
1295
- function os(n, e) {
1317
+ function us(n, e) {
1296
1318
  const t = {
1297
1319
  type: "JSFunction",
1298
1320
  value: n.value?.value ? `(v) => {
@@ -1304,7 +1326,7 @@ function os(n, e) {
1304
1326
  onInput: e.__parseFunction(t)
1305
1327
  };
1306
1328
  }
1307
- function as(n, e, t) {
1329
+ function fs(n, e, t) {
1308
1330
  const s = {
1309
1331
  type: "JSFunction",
1310
1332
  value: e.value?.value ? `(v) => {
@@ -1318,7 +1340,7 @@ function as(n, e, t) {
1318
1340
  [`onUpdate:${o}`]: i.length && r ? n.withModifiers(r, i) : r
1319
1341
  };
1320
1342
  }
1321
- function cs(n, e, t, s, r) {
1343
+ function ps(n, e, t, s, r) {
1322
1344
  if (!e) return null;
1323
1345
  if (I(e))
1324
1346
  return { default: () => e };
@@ -1327,7 +1349,7 @@ function cs(n, e, t, s, r) {
1327
1349
  default: () => Te(t.__parseExpression(e))
1328
1350
  };
1329
1351
  if (Array.isArray(e) && e.length > 0) {
1330
- const i = ls(e), o = (a, u) => !a || !r ? {} : r?.id && Object.keys(a).length ? u ? {
1352
+ const i = ds(e), o = (a, u) => !a || !r ? {} : r?.id && Object.keys(a).length ? u ? {
1331
1353
  [u]: a
1332
1354
  } : {
1333
1355
  [`scope_${r.id}`]: a
@@ -1352,10 +1374,10 @@ function cs(n, e, t, s, r) {
1352
1374
  }
1353
1375
  return null;
1354
1376
  }
1355
- function ls(n) {
1377
+ function ds(n) {
1356
1378
  const e = {};
1357
1379
  for (const t of n) {
1358
- const s = us(t.slot), r = s.name;
1380
+ const s = hs(t.slot), r = s.name;
1359
1381
  e[r] ? (e[r].nodes.push(t), e[r].params = e[r].params.concat(s.params), e[r].scope = s.scope || "") : e[r] = {
1360
1382
  nodes: [t],
1361
1383
  params: s.params,
@@ -1364,10 +1386,10 @@ function ls(n) {
1364
1386
  }
1365
1387
  return e;
1366
1388
  }
1367
- function us(n = "default") {
1389
+ function hs(n = "default") {
1368
1390
  return I(n) ? { name: n, params: [], scope: "" } : { params: [], scope: "", ...n };
1369
1391
  }
1370
- function fs(n, e, t) {
1392
+ function ms(n, e, t) {
1371
1393
  const { value: s, iterator: r } = n, { item: i = "item", index: o = "index" } = r || {};
1372
1394
  let a = t.__parseExpression(s) || [];
1373
1395
  return Number.isInteger(a) && (a = new Array(a).fill(!0).map((u, c) => c + 1)), Array.isArray(a) ? a.map((u, c) => e(t.__clone({ [i]: u, [o]: c }), c)) : (console.warn("[vForRender]:", `${s?.value} is not a Arrary`), []);
@@ -1405,7 +1427,7 @@ const ie = Fe({
1405
1427
  activated() {
1406
1428
  this.meta.cache === !1 && (this.sid = Symbol());
1407
1429
  }
1408
- }), ps = Fe({
1430
+ }), gs = Fe({
1409
1431
  name: "VtjStartupContainer",
1410
1432
  render() {
1411
1433
  return le("div", "page not found!");
@@ -1443,17 +1465,17 @@ function Ue(n, e) {
1443
1465
  e.can(s.id.toString()) && t.push(s);
1444
1466
  return t;
1445
1467
  }
1446
- function Bs(n) {
1468
+ function Js(n) {
1447
1469
  const {
1448
1470
  menuPathPrefix: e = "",
1449
1471
  pageRouteName: t = "page",
1450
1472
  disableMenusFilter: s = !1
1451
- } = n || {}, r = Ke(), i = Oe(), o = It(), a = ue(!1), u = ue(!1), c = r.project, l = (d, m) => {
1473
+ } = n || {}, r = Ke(), i = Oe(), o = Mt(), a = ue(!1), u = ue(!1), c = r.project, l = (d, m) => {
1452
1474
  a.value = !d?.mask, u.value = m?.pure ?? !!d?.pure;
1453
1475
  };
1454
1476
  ut(() => {
1455
1477
  const { name: d, params: m, meta: h } = i;
1456
- if (d === H) {
1478
+ if (d === k) {
1457
1479
  const g = r.getPage(m.id);
1458
1480
  l(g, h);
1459
1481
  } else if (d === J) {
@@ -1548,18 +1570,18 @@ function he(n) {
1548
1570
  }
1549
1571
  return u;
1550
1572
  }
1551
- function ds(n = {}, e) {
1573
+ function _s(n = {}, e) {
1552
1574
  const { css: t, store: s, enhance: r } = n, { window: i, app: o, library: a = {}, adapter: u, mode: c } = e, { Pinia: l } = a;
1553
- o.config.globalProperties.$libs = a, ge(i, "global-css", t || ""), l && s && hs(s, o, l), gs(o, u, n), !u.access && n.access && ms(n.access, o, c, u), _s(o, n), r && vs(r, o, a);
1575
+ o.config.globalProperties.$libs = a, ge(i, "global-css", t || ""), l && s && vs(s, o, l), ws(o, u, n), !u.access && n.access && ys(n.access, o, c, u), Ss(o, n), r && $s(r, o, a);
1554
1576
  }
1555
- function hs(n, e, t) {
1577
+ function vs(n, e, t) {
1556
1578
  const s = t.createPinia();
1557
1579
  if (e.use(s), $(n) && n.value) {
1558
1580
  const r = R(n, {}, !1, !1, !0), i = t.defineStore("$store", r(e) || {});
1559
1581
  e.config.globalProperties.$store = i();
1560
1582
  }
1561
1583
  }
1562
- function ms(n, e, t, s) {
1584
+ function ys(n, e, t, s) {
1563
1585
  if ($(n) && n.value) {
1564
1586
  const r = R(n, {}, !1, !1, !0), { alert: i, request: o } = s, a = new _e({
1565
1587
  alert: i,
@@ -1569,7 +1591,7 @@ function ms(n, e, t, s) {
1569
1591
  a.connect({ mode: t, router: u, request: o }), e.use(a);
1570
1592
  }
1571
1593
  }
1572
- function gs(n, e, t) {
1594
+ function ws(n, e, t) {
1573
1595
  if (!e.request) return;
1574
1596
  const { axios: s, request: r, response: i } = t;
1575
1597
  if (s && $(s) && s.value) {
@@ -1585,7 +1607,7 @@ function gs(n, e, t) {
1585
1607
  a.__unRes && a.__unRes(), a.__unRes = e.request.useResponse((u) => o(u, n));
1586
1608
  }
1587
1609
  }
1588
- function _s(n, e) {
1610
+ function Ss(n, e) {
1589
1611
  const { beforeEach: t, afterEach: s } = e, r = n.config.globalProperties.$router;
1590
1612
  if (t && $(t) && t.value) {
1591
1613
  const i = R(t, {}, !1, !1, !0);
@@ -1596,10 +1618,10 @@ function _s(n, e) {
1596
1618
  r && r.afterEach((o, a, u) => i(o, a, u, n));
1597
1619
  }
1598
1620
  }
1599
- function vs(n, e, t = {}) {
1621
+ function $s(n, e, t = {}) {
1600
1622
  $(n) && n.value && R(n, {}, !1, !1, !0)(e, t);
1601
1623
  }
1602
- function ys(n, e, t) {
1624
+ function Es(n, e, t) {
1603
1625
  if (!n || !e || !t) return;
1604
1626
  const { VueI18n: s } = e;
1605
1627
  if (s) {
@@ -1619,8 +1641,8 @@ function ys(n, e, t) {
1619
1641
  }
1620
1642
  }
1621
1643
  const Je = Symbol("Provider");
1622
- var ws = /* @__PURE__ */ ((n) => (n.Production = "production", n.Development = "development", n))(ws || {});
1623
- class Ss extends Xe {
1644
+ var bs = /* @__PURE__ */ ((n) => (n.Production = "production", n.Development = "development", n))(bs || {});
1645
+ class js extends Xe {
1624
1646
  /**
1625
1647
  * 创建Provider实例
1626
1648
  * @param options 配置选项
@@ -1708,7 +1730,7 @@ class Ss extends Xe {
1708
1730
  if (this.project = s ? await s() : await this.service.init(e), !this.project)
1709
1731
  throw new Error("project is null");
1710
1732
  const { apis: r = [], meta: i = [], env: o = [] } = this.project, a = window;
1711
- a && (a.CKEDITOR_VERSION = void 0), this.initEnv(o), this.mode === y.Raw ? await this.loadDependencies(a) : await this.loadAssets(a), this.initMock(a), this.apis = Mt(r, i, this.adapter), He(a), Tt(r, a), e.platform !== "uniapp" && this.initRouter(), this.triggerReady();
1733
+ a && (a.CKEDITOR_VERSION = void 0), this.initEnv(o), this.mode === y.Raw ? await this.loadDependencies(a) : await this.loadAssets(a), this.initMock(a), this.apis = Dt(r, i, this.adapter), ke(a), Ht(r, a), e.platform !== "uniapp" && this.initRouter(), this.triggerReady();
1712
1734
  }
1713
1735
  initMock(e) {
1714
1736
  const t = N(e);
@@ -1752,7 +1774,7 @@ class Ss extends Xe {
1752
1774
  else {
1753
1775
  const b = l[h] || [];
1754
1776
  for (const _ of b)
1755
- Q(_) && await Et(_, O.append(_, { v: k })), X(_) && await be(O.append(_, { v: k }));
1777
+ Q(_) && await Et(_, O.append(_, { v: H })), X(_) && await be(O.append(_, { v: H }));
1756
1778
  r[h] = e[h];
1757
1779
  }
1758
1780
  const w = m[h];
@@ -1763,7 +1785,7 @@ class Ss extends Xe {
1763
1785
  }
1764
1786
  if (a === "development") {
1765
1787
  for (const g of f)
1766
- await be(O.append(g, { v: k }));
1788
+ await be(O.append(g, { v: H }));
1767
1789
  const h = this.materials || {};
1768
1790
  for (const g of p) {
1769
1791
  const v = e[d[g]], w = v?.default || v, b = Ye[g];
@@ -1789,15 +1811,15 @@ class Ss extends Xe {
1789
1811
  routeMeta: u
1790
1812
  } = s, c = o ? "" : "/", l = {
1791
1813
  path: `${c}${a}/:id`,
1792
- name: H,
1814
+ name: k,
1793
1815
  component: ie
1794
1816
  }, f = this.getHomepage(), p = {
1795
1817
  path: c,
1796
1818
  name: J,
1797
- component: f ? ie : r.startupComponent || ps,
1819
+ component: f ? ie : r.startupComponent || gs,
1798
1820
  meta: u
1799
1821
  };
1800
- if (e.hasRoute(H) && e.removeRoute(H), e.hasRoute(J) && e.removeRoute(J), s.enableStaticRoute) {
1822
+ if (e.hasRoute(k) && e.removeRoute(k), e.hasRoute(J) && e.removeRoute(J), s.enableStaticRoute) {
1801
1823
  const d = t?.pages || [];
1802
1824
  he({
1803
1825
  name: a,
@@ -1995,10 +2017,10 @@ class Ss extends Xe {
1995
2017
  },
1996
2018
  t
1997
2019
  );
1998
- ds(e, s);
2020
+ _s(e, s);
1999
2021
  }
2000
2022
  initI18n(e, t, s) {
2001
- ys(e, t, s);
2023
+ Es(e, t, s);
2002
2024
  }
2003
2025
  initEnv(e = []) {
2004
2026
  this.env = e.reduce(
@@ -2007,8 +2029,8 @@ class Ss extends Xe {
2007
2029
  );
2008
2030
  }
2009
2031
  }
2010
- function Ls(n) {
2011
- const e = new Ss(n);
2032
+ function Ks(n) {
2033
+ const e = new js(n);
2012
2034
  return {
2013
2035
  provider: e,
2014
2036
  onReady: (s) => e.ready(s)
@@ -2031,7 +2053,7 @@ function Ke(n = {}) {
2031
2053
  }
2032
2054
  return e;
2033
2055
  }
2034
- async function qs(n, e = "") {
2056
+ async function zs(n, e = "") {
2035
2057
  const { name: t, urls: s = [] } = n || {}, r = s.map((a) => e + a), { css: i, js: o } = vt(r);
2036
2058
  if (i.length && xe(i), o.length)
2037
2059
  return await De(o, t).catch(
@@ -2045,7 +2067,7 @@ const ze = {
2045
2067
  originResponse: !1,
2046
2068
  failMessage: !0,
2047
2069
  validate: (n) => n.data?.code === 0
2048
- }, $s = (n, e = "/__vtj__/api/:type.json") => (t, s, r) => n.send({
2070
+ }, Rs = (n, e = "/__vtj__/api/:type.json") => (t, s, r) => n.send({
2049
2071
  url: e,
2050
2072
  method: "post",
2051
2073
  params: { type: t },
@@ -2055,7 +2077,7 @@ const ze = {
2055
2077
  data: s
2056
2078
  },
2057
2079
  settings: ze
2058
- }), Es = (n, e = "/__vtj__/api/uploader.json") => async (t, s) => await n.send({
2080
+ }), Cs = (n, e = "/__vtj__/api/uploader.json") => async (t, s) => await n.send({
2059
2081
  url: e,
2060
2082
  method: "post",
2061
2083
  data: {
@@ -2067,7 +2089,7 @@ const ze = {
2067
2089
  type: "data"
2068
2090
  }
2069
2091
  }).then((r) => r && r[0] ? r[0] : null).catch(() => null);
2070
- function Us(n) {
2092
+ function Gs(n) {
2071
2093
  return Pe({
2072
2094
  settings: {
2073
2095
  type: "json",
@@ -2083,7 +2105,7 @@ function Us(n) {
2083
2105
  }
2084
2106
  class ve {
2085
2107
  constructor(e = ce) {
2086
- this.req = e, this.api = $s(e), this.uploader = Es(e);
2108
+ this.req = e, this.api = Rs(e), this.uploader = Cs(e);
2087
2109
  }
2088
2110
  api;
2089
2111
  pluginCaches = {};
@@ -2188,7 +2210,7 @@ const S = new lt({
2188
2210
  expired: 0,
2189
2211
  prefix: "__VTJ_"
2190
2212
  });
2191
- class Js extends ve {
2213
+ class Vs extends ve {
2192
2214
  init(e) {
2193
2215
  const t = new K(e), s = S.get(`project_${t.id}`), r = Object.assign(t.toDsl(), s || {});
2194
2216
  return S.save(`project_${t.id}`, r), Promise.resolve(r);
@@ -2238,7 +2260,7 @@ class Js extends ve {
2238
2260
  }), Promise.resolve(!0);
2239
2261
  }
2240
2262
  }
2241
- class bs extends ve {
2263
+ class Ps extends ve {
2242
2264
  projects = {};
2243
2265
  materials = {};
2244
2266
  files = {};
@@ -2296,10 +2318,10 @@ class bs extends ve {
2296
2318
  }
2297
2319
  }
2298
2320
  let U = null;
2299
- function Ks() {
2300
- return U || (U = new bs(), U);
2321
+ function Ws() {
2322
+ return U || (U = new Ps(), U);
2301
2323
  }
2302
- class zs extends ve {
2324
+ class Qs extends ve {
2303
2325
  getFileCaches = {};
2304
2326
  async getExtension() {
2305
2327
  return await this.api("getExtension", {}).catch(() => {
@@ -2357,57 +2379,60 @@ class zs extends ve {
2357
2379
  }
2358
2380
  }
2359
2381
  export {
2360
- Fs as ACCESS,
2361
- ke as ACCESS_KEY,
2382
+ xs as ACCESS,
2383
+ He as ACCESS_KEY,
2362
2384
  _e as Access,
2363
2385
  dt as BUILD_IN_TAGS,
2364
2386
  ft as BUILT_IN_DIRECTIVES,
2365
2387
  ve as BaseService,
2366
2388
  Re as CONTEXT_HOST,
2367
- kt as Context,
2389
+ Bt as Context,
2368
2390
  y as ContextMode,
2369
2391
  pt as DATA_TYPES,
2370
2392
  J as HOMEPAGE_ROUTE_NAME,
2371
2393
  Me as HTML_TAGS,
2372
- Ds as JSCodeToString,
2373
- As as LIFE_CYCLES_LIST,
2374
- zs as LocalService,
2375
- bs as MemoryService,
2376
- ws as NodeEnv,
2377
- H as PAGE_ROUTE_NAME,
2378
- Ss as Provider,
2379
- Is as REMOTE,
2380
- Js as StorageService,
2381
- k as VTJ_RENDERER_VERSION,
2382
- Ts as adoptStylesToInline,
2394
+ Bs as JSCodeToString,
2395
+ Ms as LIFE_CYCLES_LIST,
2396
+ Qs as LocalService,
2397
+ Ps as MemoryService,
2398
+ bs as NodeEnv,
2399
+ k as PAGE_ROUTE_NAME,
2400
+ js as Provider,
2401
+ Ts as REMOTE,
2402
+ Vs as StorageService,
2403
+ H as VTJ_RENDERER_VERSION,
2404
+ ks as adoptStylesToInline,
2383
2405
  ge as adoptedStyleSheets,
2384
- Ns as clearLoaderCache,
2406
+ Us as clearLoaderCache,
2385
2407
  yt as compileScopedCSS,
2386
2408
  $t as convertCssRpx,
2387
- Hs as createAccess,
2388
- ks as createAdapter,
2389
- Os as createAssetScripts,
2390
- Ms as createAssetsCss,
2391
- Jt as createDataSources,
2409
+ qs as createAccess,
2410
+ Ls as createAdapter,
2411
+ Ds as createAssetScripts,
2412
+ Hs as createAssetsCss,
2413
+ Gt as createDataSources,
2392
2414
  pe as createLoader,
2393
- Ks as createMemoryService,
2415
+ Ws as createMemoryService,
2394
2416
  V as createMenus,
2395
- Ot as createMetaApi,
2396
- xt as createMock,
2397
- Ls as createProvider,
2417
+ xt as createMetaApi,
2418
+ kt as createMock,
2419
+ Ks as createProvider,
2398
2420
  fe as createRenderer,
2399
- Ft as createSchemaApi,
2400
- Mt as createSchemaApis,
2401
- Us as createServiceRequest,
2402
- Vt as defaultLoader,
2421
+ Tt as createSchemaApi,
2422
+ Dt as createSchemaApis,
2423
+ Gs as createServiceRequest,
2424
+ Xt as defaultLoader,
2403
2425
  q as fillBasePath,
2404
2426
  N as getMock,
2405
2427
  qe as getModifiers,
2406
2428
  Be as getPlugin,
2407
2429
  _t as getRawComponent,
2430
+ Ct as isArrowFunction,
2431
+ At as isAssignment‌,
2408
2432
  jt as isBuiltInTag,
2409
2433
  Q as isCSSUrl,
2410
- Pt as isJSCode,
2434
+ Pt as isCallFunction,
2435
+ Ft as isJSCode,
2411
2436
  E as isJSExpression,
2412
2437
  $ as isJSFunction,
2413
2438
  ht as isJSON,
@@ -2416,12 +2441,12 @@ export {
2416
2441
  bt as isVuePlugin,
2417
2442
  Et as loadCss,
2418
2443
  xe as loadCssUrl,
2419
- qs as loadEnhance,
2444
+ zs as loadEnhance,
2420
2445
  De as loadScriptUrl,
2421
2446
  Ue as menusFilter,
2422
- Dt as mockApi,
2423
- Tt as mockApis,
2424
- He as mockCleanup,
2447
+ Nt as mockApi,
2448
+ Ht as mockApis,
2449
+ ke as mockCleanup,
2425
2450
  x as nodeCache,
2426
2451
  T as nodeRender,
2427
2452
  gt as parseDeps,
@@ -2431,9 +2456,9 @@ export {
2431
2456
  Je as providerKey,
2432
2457
  mt as removeProdFlag,
2433
2458
  St as rpxToPx,
2434
- xs as setupPageSetting,
2459
+ Ns as setupPageSetting,
2435
2460
  Te as toString,
2436
- It as useAccess,
2437
- Bs as useMask,
2461
+ Mt as useAccess,
2462
+ Js as useMask,
2438
2463
  Ke as useProvider
2439
2464
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vtj/renderer",
3
3
  "private": false,
4
- "version": "0.16.27",
4
+ "version": "0.16.29",
5
5
  "type": "module",
6
6
  "keywords": [
7
7
  "低代码引擎",
@@ -21,15 +21,15 @@
21
21
  "author": "chenhuachun",
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
- "@vtj/core": "~0.16.27",
25
- "@vtj/utils": "~0.16.27"
24
+ "@vtj/utils": "~0.16.29",
25
+ "@vtj/core": "~0.16.29"
26
26
  },
27
27
  "devDependencies": {
28
28
  "vue": "~3.5.5",
29
29
  "vue-router": "~4.6.0",
30
30
  "@vtj/cli": "~0.12.19",
31
- "@vtj/icons": "~0.16.27",
32
- "@vtj/ui": "~0.16.27"
31
+ "@vtj/ui": "~0.16.29",
32
+ "@vtj/icons": "~0.16.29"
33
33
  },
34
34
  "exports": {
35
35
  ".": {
@@ -12,3 +12,6 @@ export declare function isBuiltInTag(tag: string): boolean;
12
12
  export declare function isNativeTag(tag: string): boolean;
13
13
  export declare function getMock(global?: any): any;
14
14
  export declare function setupPageSetting(app: App, route: RouteLocationNormalizedGeneric, file: PageFile | BlockFile): void;
15
+ export declare function isArrowFunction(code: string): boolean;
16
+ export declare function isCallFunction(code: string): boolean;
17
+ export declare function isAssignment‌(code: string): boolean;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2026, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.16.26
5
+ * @version 0.16.28
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.16.26";
8
+ export declare const version = "0.16.28";