@vtj/renderer 0.8.144 → 0.8.145

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,10 +1,10 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@vtj/core"),u=require("@vtj/utils"),m=require("vue"),Z=require("vue-router"),F=require("element-plus"),x=require("mockjs"),Ee=require("@vtj/ui");function Ce(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const D=Ce(m);/**!
1
+ "use strict";var Ce=Object.create;var Q=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Fe=Object.prototype.hasOwnProperty;var Ie=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of be(e))!Fe.call(n,s)&&s!==t&&Q(n,s,{get:()=>e[s],enumerable:!(r=Pe(e,s))||r.enumerable});return n};var Oe=(n,e,t)=>(t=n!=null?Ce(Re(n)):{},Ie(e||!n||!n.__esModule?Q(t,"default",{value:n,enumerable:!0}):t,n));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("@vtj/core"),u=require("@vtj/utils"),m=require("vue"),ee=require("vue-router"),I=require("element-plus"),Me=require("@vtj/ui");function xe(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const D=xe(m);/**!
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.8.144
5
+ * @version 0.8.145
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const P="0.8.144";var $=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))($||{});const U=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Pe=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],ee=["vIf","vShow","vModel","vFor","vBind"],te={String,Number,Boolean,Array,Object,Function,Date};function R(n,e){return n.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function A(n){return/\.css$/.test(n)}function k(n){return/\.js$/.test(n)}function ne(n){return/\.json$/.test(n)}function be(n){return n.map(e=>`<script src="${u.url.append(e,{v:P})}"><\/script>`).join("")}function Re(n=[]){return n.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:P})}" />`).join("")}function re(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function se(n,e,t=!1){const r=n.filter(d=>!!d.enabled),s=[],o=[],a=[],i=[],l={},c={},h=[],p={};return r.forEach(({urls:d,assetsUrl:g,library:f,assetsLibrary:v,localeLibrary:w})=>{d?.forEach(y=>{k(y)&&s.push(re(y,t)),A(y)&&o.push(y)}),f&&(i.push(f),l[f]=R(d||[],e),w&&(c[f]=w)),g&&a.push(g),v&&h.push(v),f&&v&&(p[v]=f)}),{scripts:R(s,e),css:R(o,e),materials:R(a,e),libraryExports:i,materialExports:u.dedupArray(h),materialMapLibrary:p,libraryMap:l,libraryLocaleMap:c}}function oe(n,e){const{name:t,parent:r,alias:s}=n;return r?e[r]?.[s||t]:e[s||t]}function J(n){return u.isString(n)?n:JSON.stringify(n)}function L(n,e,t){const r=n.CSSStyleSheet;if(r.prototype.replaceSync){const s=new r;s.id=e,s.replaceSync(t);const o=n.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(l=>l.id!==e);o.adoptedStyleSheets=[...i,s]}else{const s=n.document;let o=s.getElementById(e);o?o.innerHTML=t:(o=s.createElement("style"),o.id=e,o.innerHTML=t,s.head.appendChild(o))}}async function ie(n,e){const t=await window.fetch(e).then(r=>r.text()).catch(()=>"");t&&L(window,n,t)}function ae(n,e=window){const t=e.document,r=e.document.head;for(const s of n)if(!t.getElementById(s)){const a=t.createElement("link");a.rel="stylesheet",a.id=s,a.href=s,r.appendChild(a)}}async function ce(n,e,t=window){const r=t.document,s=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const l of n){const c=r.createElement("script");c.src=l,c.onload=()=>{o=t[e],o?a(o.default||o):i(null)},c.onerror=h=>{i(h)},s.appendChild(c)}})}function le(n){return u.isFunction(n)||u.isFunction(n?.install)}function b(n,e,t=!1,r=!1){try{const s=['"use strict";',"var __self = arguments[0];"];s.push("return ");let o=(n.value||"").trim();o=o.replace(/this(\W|$)/g,(i,l)=>`__self${l}`),o=s.join(`
8
- `)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(s){if(u.logger.error("parseExpression.error",s,n,e?.__self??e),r)throw s}}function q(n,e,t=!1,r=!1){const s=b(n,e,t,r);if(typeof s!="function"&&(u.logger.error("parseFunction.error","not a function",n,e?.__self??e),r))throw new Error(`"${n.value}" not a function`);return s}function j(n){return n&&n.type==="JSExpression"}function M(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function ue(n){return j(n)||M(n)}function Fe(n){return ue(n)?n.value:JSON.stringify(n)}let C=null;const Ie=u.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:n=>n.data?.code===0||!!n.data?.success,failMessage:!0,showError:n=>{F.ElNotification.error({message:n||"未知错误"})},showLoading:()=>{C&&C.close(),C=F.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{C&&(C.close(),C=null)}}});function de(n,e){const{jsonp:t,request:r}=e;if(n.method==="jsonp")return(s={})=>t(n.url,{...n.jsonpOptions,query:s});{const s=n.headers?b(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:s}};return(a,i)=>r.send(u.merge(o,i||{},{data:a}))}}function pe(n,e){const{metaQuery:t}=e;if(!t)return;const{code:r,queryCode:s}=n;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(r,s,o,a)}}function fe(n=[],e=[],t){const r={};for(const s of n)r[s.id]=de(s,t);for(const s of e)r[s.id]=pe(s,t);return r}function me(n=[]){x.setup({timeout:"50-500"}),V(),n.forEach(e=>he(e))}function he(n){if(!n.mock)return;const{url:e,mockTemplate:t}=n;if(e&&t){const r=u.pathToRegexp(`${e}(.*)`),s=u.pathToRegexpMatch(e,{decode:decodeURIComponent}),o=b(t,{},!0);x.mock(r,a=>{const i=u.url.parse(a.url)||{},l=a.body instanceof FormData?u.formDataToJson(a.body):a.body,c=s(a.url)?.params;return Object.assign(a,{data:l,params:i,query:c}),x.mock(o(a))})}}function V(){x._mocked={}}class ve{__id=null;__mode;__instance=null;__contextRefs={};__refs={};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={};__transform={};constructor(e){const{mode:t,dsl:r,attrs:s}=e;this.__mode=t,r&&(this.__id=r.id||null,this.__transform=r.transform||{}),s&&Object.assign(this,s)}setup(e,t=D){const r=t.getCurrentInstance();if(!r)return;this.__refs={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=r.proxy;const s=r.appContext.config.globalProperties;Object.assign(this,s),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&U.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){U.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===$.Runtime){const{id:t,type:r}=e,s=t?this.__transform[t]??e.value:e.value;return q({type:r,value:s},this)}else return q(e,this)}__parseExpression(e){if(e)if(this.__mode===$.Runtime){const{id:t,type:r}=e,s=t?this.__transform[t]??e.value:e.value;return b({type:r,value:s},this)}else return b(e,this)}__ref(e=null,t){if(this.__mode!==$.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async r=>{await u.delay(0);let s=r?.$vtjEl||r?.$el||r?._?.vnode?.el||r;if(!s){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(s.nodeType===3&&s.nextSibling&&(s=s.nextSibling),s.__vtj__=e,$.Design===this.__mode&&(s.__context__=this),e&&(this.__refs[e]=r),typeof t=="function")t(r);else if(t){const o=this.$refs[t];if(o){const a=new Set([].concat(o,r));this.$refs[t]=Array.from(a)}else this.$refs[t]=r}return r}}__clone(e={}){const t={...this.context,...e},r={...t,context:t};return r.context.__proto__=this.context,r.__proto__=this,r}}function T(n){const{Vue:e=D,mode:t=$.Runtime,components:r={},libs:s={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),l={$components:r,$libs:s,$apis:o},c=new ve({mode:t,dsl:i.value,attrs:l}),h=e.defineComponent({name:i.value.name,props:{...Oe(i.value.props??[],c)},setup(p){c.$props=p,c.props=p,i.value.id&&L(n.window||window,i.value.id,i.value.css||""),c.state=xe(e,i.value.state??{},c);const d=Te(e,i.value.computed??{},c),g=He(i.value.methods??{},c),f=De(e,i.value.inject,c),v=ge(i.value.dataSources||{},c),w={...f,...d,...g,...v};return c.setup(w,e),Ae(e,i.value.watch??[],c),{vtj:c}},emits:Me(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const p=i.value.nodes||[];return p.length===1?I(p[0],c,e,a):p.map(d=>I(d,c,e,a))},...ke(i.value.lifeCycles??{},c)});return{renderer:e.markRaw(h),context:c}}function Me(n=[]){return n.map(e=>u.isString(e)?e:e.name)}function Oe(n=[],e){const t=r=>r?(Array.isArray(r)?r:[r]).map(o=>te[o]):void 0;return n.map(r=>u.isString(r)?{name:r}:{name:r.name,type:r.type,required:r.required,default:j(r.default)?e.__parseExpression(r.default):r.default}).reduce((r,s)=>(r[s.name]={type:t(s.type),required:s.required,default:s.default},r),{})}function xe(n,e,t){return n.reactive(Object.keys(e||{}).reduce((r,s)=>{let o=e[s];return j(o)?o=t.__parseExpression(o):M(o)&&(o=t.__parseFunction(o)),r[s]=o,r},{}))}function Te(n,e,t){return Object.entries(e??{}).reduce((r,[s,o])=>(r[s]=n.computed(t.__parseFunction(o)),r),{})}function He(n,e){return Object.entries(n??{}).reduce((t,[r,s])=>(t[r]=e.__parseFunction(s),t),{})}function De(n,e=[],t){return e.reduce((r,s)=>{const{name:o,from:a}=s||{};s.default;const i=j(a)?t.__parseExpression(a)||o:a??o,l=j(s.default)?t.__parseExpression(s.default):s.default??null;return r[o]=n.inject(i,l),r},{})}function ge(n,e){return Object.keys(n).reduce((t,r)=>{const s=n[r],o=e.$apis[s.ref],a=M(s.transform)?s.transform.value?e.__parseFunction(s.transform):void 0:s.transform;return t[r]=async(...i)=>{const l=await o.apply(e,i);return a?a(l):l},t},{})}function Ae(n,e=[],t){e.forEach(r=>{n.watch(t.__parseExpression(r.source),t.__parseFunction(r.handler),{deep:r.deep,immediate:r.immediate})})}function ke(n,e){return Object.entries(n??{}).reduce((t,[r,s])=>(t[r]=e.__parseFunction(s),t),{})}let N=[];const ye=n=>n;async function W(n,e=window){const{urls:t=[],library:r}=n,s=t.filter(i=>k(i));if(s.length===0||!r)return null;const o=t.filter(i=>A(i));return o.length&&ae(o,e),await ce(s,r,e).catch(i=>(console.warn("loadScriptUrl error",s,r,i),null))}function H(n){const{getDsl:e,getDslByUrl:t,options:r}=n;return r.window&&(N.forEach(s=>{delete r.window[s]}),N=[]),(s,o,a=D)=>!o||typeof o=="string"?s:o.type==="Schema"&&o.id?a.defineAsyncComponent(async()=>{const i=await e(o.id);return i&&(i.name=s),i?T({...r,Vue:a,dsl:i,mode:$.Runtime,loader:H(n)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=s),i?T({...r,Vue:a,dsl:i,mode:$.Runtime,loader:H(n)}).renderer:null}):o.type==="Plugin"?(o.library&&N.push(o.library),a.defineAsyncComponent(async()=>{const i=await W(o,r.window);return i||(console.warn("getPlugin result is null",o),null)})):s}function I(n,e,t=D,r=ye){if(!n||!n.name||n.invisible)return null;const{id:s=null,directives:o=[]}=n,{vIf:a,vFor:i,vShow:l,vModels:c,vBind:h}=Be(o);if(a&&!Ne(a,e))return null;const p=d=>{const g=d.$components,f=(()=>{if(n.name==="component")return Ue(d,n.props?.is);if(n.name==="slot")return n.name;const _=r(n.name,n.from,t);return u.isString(_)?g[_]??_:_})(),v=qe(s,n.props??{},d),w=Je(t,n.events??{},d);if(n.name==="slot")return Le(t,n,v,d,r);h&&Object.assign(v,d.__parseExpression(h.value)),l&&(v.style=Object.assign(v.style??{},We(l,d))),c.forEach(_=>{Object.assign(v,Ye(t,_,d))});const y=Ke(t,n.children??[],d,r,n);return t.createVNode(f,{...v,...w},y)};return i?Ge(i,p,e):p(e)}function Be(n=[]){const e=n.find(i=>u.camelCase(i.name)==="vIf"),t=n.find(i=>u.camelCase(i.name)==="vFor"),r=n.find(i=>u.camelCase(i.name)==="vShow"),s=n.find(i=>u.camelCase(i.name)==="vBind"),o=n.filter(i=>u.camelCase(i.name)==="vModel"),a=n.filter(i=>!ee.includes(u.camelCase(i.name)));return{vIf:e,vFor:t,vShow:r,vModels:o,vBind:s,others:a}}function Ne(n,e){return!!e.__parseExpression(n.value)}function Ue(n,e){return e?j(e)?n.__parseExpression(e):e:"div"}function qe(n,e,t){const r=Object.keys(e||{}).reduce((s,o)=>{let a=e[o];return j(a)?a=t.__parseExpression(a):M(a)&&(a=t.__parseFunction(a)),s[o]=a,s},{});return r.ref=t.__ref(n,r.ref),r}function Je(n,e,t){const r=["passive","capture","once"],s={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],l=Y(i.modifiers),c=l.find(d=>r.includes(d)),h="on"+u.upperFirst(a)+(c&&s[c]||""),p=t.__parseFunction(i.handler);return p&&(o[h]=n.withModifiers(p,l)),o},{})}function Y(n={},e=!1){const t=Object.keys(n);return e?t.map(r=>"."+r):t}function Le(n,e,t,r,s){const{children:o}=e,a=Ve(e,r),i=r.$slots?.[a.name];return i?i(t):o?u.isString(o)?n.createTextVNode(o):j(o)?n.createTextVNode(J(r.__parseExpression(o))):Array.isArray(o)?o.map(l=>I(l,r,n,s)):null:null}function Ve(n,e){const{props:t}=n,r=t?.name||"default";return{name:j(r)?e.__parseExpression(r):r,params:[]}}function We(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function Ye(n,e,t){const r={type:"JSFunction",value:e.value?.value?`(v) => {
7
+ */const b="0.8.145";var $=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))($||{});const U=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Te=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],te=["vIf","vShow","vModel","vFor","vBind"],ne={String,Number,Boolean,Array,Object,Function,Date};function F(n,e){return n.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function A(n){return/\.css$/.test(n)}function k(n){return/\.js$/.test(n)}function re(n){return/\.json$/.test(n)}function He(n){return n.map(e=>`<script src="${u.url.append(e,{v:b})}"><\/script>`).join("")}function De(n=[]){return n.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:b})}" />`).join("")}function se(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function oe(n,e,t=!1){const r=n.filter(d=>!!d.enabled),s=[],o=[],a=[],i=[],l={},c={},h=[],f={};return r.forEach(({urls:d,assetsUrl:g,library:p,assetsLibrary:v,localeLibrary:w})=>{d?.forEach(y=>{k(y)&&s.push(se(y,t)),A(y)&&o.push(y)}),p&&(i.push(p),l[p]=F(d||[],e),w&&(c[p]=w)),g&&a.push(g),v&&h.push(v),p&&v&&(f[v]=p)}),{scripts:F(s,e),css:F(o,e),materials:F(a,e),libraryExports:i,materialExports:u.dedupArray(h),materialMapLibrary:f,libraryMap:l,libraryLocaleMap:c}}function ie(n,e){const{name:t,parent:r,alias:s}=n;return r?e[r]?.[s||t]:e[s||t]}function J(n){return u.isString(n)?n:JSON.stringify(n)}function L(n,e,t){const r=n.CSSStyleSheet;if(r.prototype.replaceSync){const s=new r;s.id=e,s.replaceSync(t);const o=n.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(l=>l.id!==e);o.adoptedStyleSheets=[...i,s]}else{const s=n.document;let o=s.getElementById(e);o?o.innerHTML=t:(o=s.createElement("style"),o.id=e,o.innerHTML=t,s.head.appendChild(o))}}async function ae(n,e){const t=await window.fetch(e).then(r=>r.text()).catch(()=>"");t&&L(window,n,t)}function ce(n,e=window){const t=e.document,r=e.document.head;for(const s of n)if(!t.getElementById(s)){const a=t.createElement("link");a.rel="stylesheet",a.id=s,a.href=s,r.appendChild(a)}}async function le(n,e,t=window){const r=t.document,s=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const l of n){const c=r.createElement("script");c.src=l,c.onload=()=>{o=t[e],o?a(o.default||o):i(null)},c.onerror=h=>{i(h)},s.appendChild(c)}})}function ue(n){return u.isFunction(n)||u.isFunction(n?.install)}function R(n,e,t=!1,r=!1){try{const s=['"use strict";',"var __self = arguments[0];"];s.push("return ");let o=(n.value||"").trim();o=o.replace(/this(\W|$)/g,(i,l)=>`__self${l}`),o=s.join(`
8
+ `)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(s){if(u.logger.error("parseExpression.error",s,n,e?.__self??e),r)throw s}}function q(n,e,t=!1,r=!1){const s=R(n,e,t,r);if(typeof s!="function"&&(u.logger.error("parseFunction.error","not a function",n,e?.__self??e),r))throw new Error(`"${n.value}" not a function`);return s}function j(n){return n&&n.type==="JSExpression"}function M(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function de(n){return j(n)||M(n)}function Ae(n){return de(n)?n.value:JSON.stringify(n)}let C=null;const ke=u.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:n=>n.data?.code===0||!!n.data?.success,failMessage:!0,showError:n=>{I.ElNotification.error({message:n||"未知错误"})},showLoading:()=>{C&&C.close(),C=I.ElLoading.service({lock:!0,text:"Loading",background:"rgba(0, 0, 0, 0.05)"})},hideLoading:()=>{C&&(C.close(),C=null)}}});let P;function fe(n,e){const{jsonp:t,request:r}=e;if(n.method==="jsonp")return(s={})=>t(n.url,{...n.jsonpOptions,query:s});{const s=n.headers?R(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:s}};return(a,i)=>r.send(u.merge(o,i||{},{data:a}))}}function pe(n,e){const{metaQuery:t}=e;if(!t)return;const{code:r,queryCode:s}=n;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(r,s,o,a)}}function me(n=[],e=[],t){const r={};for(const s of n)r[s.id]=fe(s,t);for(const s of e)r[s.id]=pe(s,t);return r}async function he(n=[]){P=await import("mockjs").then(e=>e.default||e),P&&(P.setup({timeout:"50-500"}),V(),n.forEach(e=>ve(P,e)))}function ve(n,e){if(!e.mock)return;const{url:t,mockTemplate:r}=e;if(t&&r){const s=u.pathToRegexp(`${t}(.*)`),o=u.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=R(r,{},!0);n.mock(s,i=>{const l=u.url.parse(i.url)||{},c=i.body instanceof FormData?u.formDataToJson(i.body):i.body,h=o(i.url)?.params;return Object.assign(i,{data:c,params:l,query:h}),n.mock(a(i))})}}function V(){P&&(P._mocked={})}class ge{__id=null;__mode;__instance=null;__contextRefs={};__refs={};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={};__transform={};constructor(e){const{mode:t,dsl:r,attrs:s}=e;this.__mode=t,r&&(this.__id=r.id||null,this.__transform=r.transform||{}),s&&Object.assign(this,s)}setup(e,t=D){const r=t.getCurrentInstance();if(!r)return;this.__refs={},this.$refs={},this.context={},this.__contextRefs={},this.__instance=r.proxy;const s=r.appContext.config.globalProperties;Object.assign(this,s),Object.assign(this,e||{}),this.__proxy(),t.onMounted(()=>{this.__proxy()}),t.onUnmounted(()=>{this.__cleanup()}),t.onBeforeUpdate(()=>{this.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&U.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){U.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===$.Runtime){const{id:t,type:r}=e,s=t?this.__transform[t]??e.value:e.value;return q({type:r,value:s},this)}else return q(e,this)}__parseExpression(e){if(e)if(this.__mode===$.Runtime){const{id:t,type:r}=e,s=t?this.__transform[t]??e.value:e.value;return R({type:r,value:s},this)}else return R(e,this)}__ref(e=null,t){if(this.__mode!==$.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async r=>{await u.delay(0);let s=r?.$vtjEl||r?.$el||r?._?.vnode?.el||r;if(!s){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(s.nodeType===3&&s.nextSibling&&(s=s.nextSibling),s.__vtj__=e,$.Design===this.__mode&&(s.__context__=this,s.draggable=!0),e&&(this.__refs[e]=r),typeof t=="function")t(r);else if(t){const o=this.$refs[t];if(o){const a=new Set([].concat(o,r));this.$refs[t]=Array.from(a)}else this.$refs[t]=r}return r}}__clone(e={}){const t={...this.context,...e},r={...t,context:t};return r.context.__proto__=this.context,r.__proto__=this,r}}function T(n){const{Vue:e=D,mode:t=$.Runtime,components:r={},libs:s={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),l={$components:r,$libs:s,$apis:o},c=new ge({mode:t,dsl:i.value,attrs:l}),h=e.defineComponent({name:i.value.name,props:{...Ne(i.value.props??[],c)},setup(f){c.$props=f,c.props=f,i.value.id&&L(n.window||window,i.value.id,i.value.css||""),c.state=Ue(e,i.value.state??{},c);const d=qe(e,i.value.computed??{},c),g=Je(i.value.methods??{},c),p=Le(e,i.value.inject,c),v=ye(i.value.dataSources||{},c),w={...p,...d,...g,...v};return c.setup(w,e),Ve(e,i.value.watch??[],c),{vtj:c}},emits:Be(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const f=i.value.nodes||[];return f.length===1?O(f[0],c,e,a):f.map(d=>O(d,c,e,a))},...We(i.value.lifeCycles??{},c)});return{renderer:e.markRaw(h),context:c}}function Be(n=[]){return n.map(e=>u.isString(e)?e:e.name)}function Ne(n=[],e){const t=r=>r?(Array.isArray(r)?r:[r]).map(o=>ne[o]):void 0;return n.map(r=>u.isString(r)?{name:r}:{name:r.name,type:r.type,required:r.required,default:j(r.default)?e.__parseExpression(r.default):r.default}).reduce((r,s)=>(r[s.name]={type:t(s.type),required:s.required,default:s.default},r),{})}function Ue(n,e,t){return n.reactive(Object.keys(e||{}).reduce((r,s)=>{let o=e[s];return j(o)?o=t.__parseExpression(o):M(o)&&(o=t.__parseFunction(o)),r[s]=o,r},{}))}function qe(n,e,t){return Object.entries(e??{}).reduce((r,[s,o])=>(r[s]=n.computed(t.__parseFunction(o)),r),{})}function Je(n,e){return Object.entries(n??{}).reduce((t,[r,s])=>(t[r]=e.__parseFunction(s),t),{})}function Le(n,e=[],t){return e.reduce((r,s)=>{const{name:o,from:a}=s||{};s.default;const i=j(a)?t.__parseExpression(a)||o:a??o,l=j(s.default)?t.__parseExpression(s.default):s.default??null;return r[o]=n.inject(i,l),r},{})}function ye(n,e){return Object.keys(n).reduce((t,r)=>{const s=n[r],o=e.$apis[s.ref],a=M(s.transform)?s.transform.value?e.__parseFunction(s.transform):void 0:s.transform;return t[r]=async(...i)=>{const l=await o.apply(e,i);return a?a(l):l},t},{})}function Ve(n,e=[],t){e.forEach(r=>{n.watch(t.__parseExpression(r.source),t.__parseFunction(r.handler),{deep:r.deep,immediate:r.immediate})})}function We(n,e){return Object.entries(n??{}).reduce((t,[r,s])=>(t[r]=e.__parseFunction(s),t),{})}let N=[];const _e=n=>n;async function W(n,e=window){const{urls:t=[],library:r}=n,s=t.filter(i=>k(i));if(s.length===0||!r)return null;const o=t.filter(i=>A(i));return o.length&&ce(o,e),await le(s,r,e).catch(i=>(console.warn("loadScriptUrl error",s,r,i),null))}function H(n){const{getDsl:e,getDslByUrl:t,options:r}=n;return r.window&&(N.forEach(s=>{delete r.window[s]}),N=[]),(s,o,a=D)=>!o||typeof o=="string"?s:o.type==="Schema"&&o.id?a.defineAsyncComponent(async()=>{const i=await e(o.id);return i&&(i.name=s),i?T({...r,Vue:a,dsl:i,mode:$.Runtime,loader:H(n)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=s),i?T({...r,Vue:a,dsl:i,mode:$.Runtime,loader:H(n)}).renderer:null}):o.type==="Plugin"?(o.library&&N.push(o.library),a.defineAsyncComponent(async()=>{const i=await W(o,r.window);return i||(console.warn("getPlugin result is null",o),null)})):s}function O(n,e,t=D,r=_e){if(!n||!n.name||n.invisible)return null;const{id:s=null,directives:o=[]}=n,{vIf:a,vFor:i,vShow:l,vModels:c,vBind:h}=Ye(o);if(a&&!Ke(a,e))return null;const f=d=>{const g=d.$components,p=(()=>{if(n.name==="component")return Xe(d,n.props?.is);if(n.name==="slot")return n.name;const _=r(n.name,n.from,t);return u.isString(_)?g[_]??_:_})(),v=ze(s,n.props??{},d),w=Ge(t,n.events??{},d);if(n.name==="slot")return Qe(t,n,v,d,r);h&&Object.assign(v,d.__parseExpression(h.value)),l&&(v.style=Object.assign(v.style??{},et(l,d))),c.forEach(_=>{Object.assign(v,tt(t,_,d))});const y=nt(t,n.children??[],d,r,n);return t.createVNode(p,{...v,...w},y)};return i?ot(i,f,e):f(e)}function Ye(n=[]){const e=n.find(i=>u.camelCase(i.name)==="vIf"),t=n.find(i=>u.camelCase(i.name)==="vFor"),r=n.find(i=>u.camelCase(i.name)==="vShow"),s=n.find(i=>u.camelCase(i.name)==="vBind"),o=n.filter(i=>u.camelCase(i.name)==="vModel"),a=n.filter(i=>!te.includes(u.camelCase(i.name)));return{vIf:e,vFor:t,vShow:r,vModels:o,vBind:s,others:a}}function Ke(n,e){return!!e.__parseExpression(n.value)}function Xe(n,e){return e?j(e)?n.__parseExpression(e):e:"div"}function ze(n,e,t){const r=Object.keys(e||{}).reduce((s,o)=>{let a=e[o];return j(a)?a=t.__parseExpression(a):M(a)&&(a=t.__parseFunction(a)),s[o]=a,s},{});return r.ref=t.__ref(n,r.ref),r}function Ge(n,e,t){const r=["passive","capture","once"],s={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],l=Y(i.modifiers),c=l.find(d=>r.includes(d)),h="on"+u.upperFirst(a)+(c&&s[c]||""),f=t.__parseFunction(i.handler);return f&&(o[h]=n.withModifiers(f,l)),o},{})}function Y(n={},e=!1){const t=Object.keys(n);return e?t.map(r=>"."+r):t}function Qe(n,e,t,r,s){const{children:o}=e,a=Ze(e,r),i=r.$slots?.[a.name];return i?i(t):o?u.isString(o)?n.createTextVNode(o):j(o)?n.createTextVNode(J(r.__parseExpression(o))):Array.isArray(o)?o.map(l=>O(l,r,n,s)):null:null}function Ze(n,e){const{props:t}=n,r=t?.name||"default";return{name:j(r)?e.__parseExpression(r):r,params:[]}}function et(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function tt(n,e,t){const r={type:"JSFunction",value:e.value?.value?`(v) => {
9
9
  ${e.value.value} = v;
10
- }`:"(v) => {}"},s=t.__parseFunction(r),o=Y(e.modifiers),a=j(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&s?n.withModifiers(s,o):s}}function Ke(n,e,t,r,s){if(!e)return null;if(u.isString(e))return{default:()=>e};if(j(e))return{default:()=>J(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=Xe(e),a=i=>!i||!s?{}:s?.id&&Object.keys(i).length?{[`scope_${s.id}`]:i}:{};return Object.entries(o).reduce((i,[l,{nodes:c,params:h}])=>(i[l]=p=>{const d=h.length?u.pick(p??{},h):a(p);return c.map(g=>I(g,t.__clone(d),n,r))},i),{})}return null}function Xe(n){const e={default:{params:[],nodes:[]}};for(const t of n){const r=ze(t.slot),s=r.name;e[s]?(e[s].nodes.push(t),e[s].params=e[s].params.concat(r.params)):e[s]={nodes:[t],params:r.params}}return e}function ze(n="default"){return u.isString(n)?{name:n,params:[]}:{params:[],...n}}function Ge(n,e,t){const{value:r,iterator:s}=n,{item:o="item",index:a="index"}=s||{};let i=t.__parseExpression(r)||[];return Number.isInteger(i)&&(i=new Array(i).fill(!0).map((l,c)=>c+1)),Array.isArray(i)?i.map((l,c)=>e(t.__clone({[o]:l,[a]:c}))):(console.warn("[vForRender]:",`${r?.value} is not a Arrary`),[])}function Qe(n){return m.getCurrentScope()?(m.onScopeDispose(n),!0):!1}function K(n){return typeof n=="function"?n():m.unref(n)}const _e=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ze=n=>n!=null,et=()=>{};function tt(n){return m.getCurrentInstance()}function nt(...n){if(n.length!==1)return m.toRef(...n);const e=n[0];return typeof e=="function"?m.readonly(m.customRef(()=>({get:e,set:et}))):m.ref(e)}function rt(n,e){tt()&&m.onBeforeUnmount(n,e)}const st=_e?window:void 0,ot=_e?window.document:void 0;function it(n){var e;const t=K(n);return(e=t?.$el)!=null?e:t}function at(){const n=m.ref(!1),e=m.getCurrentInstance();return e&&m.onMounted(()=>{n.value=!0},e),n}function ct(n){const e=at();return m.computed(()=>(e.value,!!n()))}function lt(n,e,t={}){const{window:r=st,...s}=t;let o;const a=ct(()=>r&&"MutationObserver"in r),i=()=>{o&&(o.disconnect(),o=void 0)},l=m.computed(()=>{const d=K(n),g=(Array.isArray(d)?d:[d]).map(it).filter(Ze);return new Set(g)}),c=m.watch(()=>l.value,d=>{i(),a.value&&d.size&&(o=new MutationObserver(e),d.forEach(g=>o.observe(g,s)))},{immediate:!0,flush:"post"}),h=()=>o?.takeRecords(),p=()=>{c(),i()};return Qe(p),{isSupported:a,stop:p,takeRecords:h}}function ut(n=null,e={}){var t,r,s;const{document:o=ot,restoreOnUnmount:a=p=>p}=e,i=(t=o?.title)!=null?t:"",l=nt((r=n??o?.title)!=null?r:null),c=n&&typeof n=="function";function h(p){if(!("titleTemplate"in e))return p;const d=e.titleTemplate||"%s";return typeof d=="function"?d(p):K(d).replace(/%s/g,p)}return m.watch(l,(p,d)=>{p!==d&&o&&(o.title=h(typeof p=="string"?p:""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!c&&lt((s=o.head)==null?void 0:s.querySelector("title"),()=>{o&&o.title!==l.value&&(l.value=h(o.title))},{childList:!0}),rt(()=>{if(a){const p=a(i,l.value||"");p!=null&&o&&(o.title=p)}}),l}const Q=m.defineComponent({name:"VtjPageContainer",async setup(){const n=z(),e=Z.useRoute(),t=e.params.id,r=t?n.getPage(t):n.getHomepage(),s=r?await n.getRenderComponent(r.id):null;return r&&ut(r.title||"VTJ"),{provider:n,component:s,file:r,query:e.query}},render(){return this.component?m.h(this.component,this.query):m.h("div","页面不存在")}}),dt=m.defineComponent({name:"VtjStartupContainer",render(){return m.h(Ee.XStartup)}}),X=Symbol("Provider");var Se=(n=>(n.Production="production",n.Development="development",n))(Se||{});class we extends E.Base{constructor(e){super(),this.options=e;const{service:t,mode:r=$.Raw,dependencies:s,materials:o,project:a={},adapter:i={},globals:l={},modules:c={},router:h=null,materialPath:p="./",nodeEnv:d="development"}=e;this.mode=r,this.modules=c,this.service=t,this.router=h,this.materialPath=p,this.nodeEnv=d,s&&(this.dependencies=s),o&&(this.materials=o),Object.assign(this.globals,l),Object.assign(this.adapter,i),r!==$.Design&&this.load(a)}mode;globals={};modules={};adapter={request:Ie,jsonp:u.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};nodeEnv="development";router=null;materialPath="./";urlDslCaches={};async load(e){const t=this.modules[`.vtj/projects/${e.id}.json`];if(this.project=t?await t():await this.service.init(e),!this.project)throw new Error("project is null");const{apis:r=[],meta:s=[]}=this.project,o=window;o.CKEDITOR_VERSION=void 0,this.nodeEnv!=="production"?await this.loadAssets(o):await this.loadDependencies(o),this.apis=fe(r,s,this.adapter),V(),this.project.config?.mock&&me(r),this.initRouter(),this.triggerReady()}async loadDependencies(e){const t=Object.entries(this.dependencies);for(const[r,s]of t)e[r]||(e[r]=await s())}async loadAssets(e){const{dependencies:t=[]}=this.project,{dependencies:r,library:s,components:o,materialPath:a,nodeEnv:i}=this,{libraryExports:l,libraryMap:c,materials:h,materialExports:p,materialMapLibrary:d}=se(t,a,i==="development");for(const f of l){const v=r[f],w=e[f];if(w)s[f]=w;else if(v)e[f]=s[f]=await v();else{const y=c[f]||[];for(const _ of y)A(_)&&await ie(f,u.url.append(_,{v:P})),k(_)&&await u.loadScript(u.url.append(_,{v:P}));s[f]=e[f]}}for(const f of h)await u.loadScript(u.url.append(f,{v:P}));const g=this.materials||{};for(const f of p){const v=e[d[f]],w=E.BUILT_IN_COMPONENTS[f];if(w)v&&w.forEach(y=>{o[y]=v[y]});else{const y=g[f]?(await g[f]()).default:e[f];y&&v&&(y.components||[]).forEach(_=>{o[_.name]=oe(_,v)})}}}initRouter(){const{router:e,project:t}=this;e&&(e.addRoute({path:"/page/:id",name:"VtjPage",component:Q}),e.addRoute({path:"/",name:"VtjHomepage",component:t?.homepage?Q:dt}))}install(e){const t=e.config.globalProperties.installed||{};for(const[r,s]of Object.entries(this.library))!t[r]&&le(s)&&(e.use(s),t[r]=!0);this.options.install&&e.use(this.options.install),e.provide(X,this),e.config.globalProperties.installed=t,this.nodeEnv==="development"&&(e.config.errorHandler=(r,s,o)=>{const a=s?.$options.name,i=r?.message||r?.msg||"未知错误",l=`[ ${a} ] ${i}`;console.error("[VTJ Error]:",{err:r,instance:s,info:o},r?.stack),F.ElNotification.error({title:"运行时错误:请在控制台查看详情",message:l})})}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(r=>r.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},r=(s,o=[])=>{for(const a of o){if(a.id===s)return a;if(a.children&&a.children.length){const i=r(s,a.children);if(i)return i}}};return r(e,t)||null}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):null}async getDsl(e){const t=this.modules[`.vtj/files/${e}.json`];return t?await t():this.service.getFile(e).catch(()=>null)}async getDslByUrl(e){const t=this.urlDslCaches[e];return t||(this.urlDslCaches[e]=this.adapter.request.send({url:e,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(r=>r.data).catch(()=>null))}createDslRenderer(e,t={}){const{library:r,components:s,mode:o,apis:a}=this,i={mode:o,Vue:r.Vue,components:s,libs:r,apis:a,window,...t},l=H({getDsl:async c=>await this.getDsl(c)||null,getDslByUrl:async c=>await this.getDslByUrl(c)||null,options:i});return T({...i,dsl:e,loader:l})}async getRenderComponent(e){const t=this.getFile(e);if(!t)return u.logger.warn(`Can not find file: ${e}`),null;const r=`.vtj/vue/${e}.vue`,s=this.modules[r];if(s)return(await s())?.default;const o=await this.getDsl(t.id);return o?this.createDslRenderer(o).renderer:(u.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return m.defineAsyncComponent(async()=>{const r=await this.getDslByUrl(e);return r?(r.name=t||r.name,this.createDslRenderer(r).renderer):null})}definePluginComponent(e){return m.defineAsyncComponent(async()=>await W(e,window))}}function pt(n){const e=new we(n);return{provider:e,onReady:r=>e.ready(r)}}function z(n={}){const e=m.inject(X);if(!e)throw new Error("Can not find provider");if(e.nodeEnv==="development"){const{id:t,version:r}=n;t&&r&&(async()=>{const s=await e.getDsl(t);s?.__VERSION__!==r&&F.ElNotification.warning({title:s?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const G=new u.Request({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:n=>n.data?.code===0,showError:n=>{F.ElNotification.error({message:n||"未知错误"})}}}),ft=(n="/__vtj__/api/:type.json")=>(e,t)=>G.send({url:n,method:"post",params:{type:e},data:{type:e,data:t}}),mt=(n="/__vtj__/api/uploader.json")=>async(e,t)=>await G.send({url:n,method:"post",data:{files:e,projectId:t},settings:{type:"data"}}).then(r=>r&&r[0]?r[0]:null).catch(()=>null);class B{api;pluginCaches={};uploader;constructor(){this.api=ft(),this.uploader=mt()}async getExtension(){console.log("BaseService.getExtension")}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e){return!!await this.api("saveProject",e).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 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,r=t.filter(o=>ne(o))[0];if(!r)return null;const s=this.pluginCaches[r];return s||(this.pluginCaches[r]=G.send({url:r,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(o=>o.data).catch(()=>null))}}const S=new u.Storage({type:"local",expired:0,prefix:"__VTJ_"});class ht extends B{init(e){const t=new E.ProjectModel(e),r=S.get(`project_${t.id}`),s=Object.assign(t.toDsl(),r||{});return S.save(`project_${t.id}`,s),Promise.resolve(s)}saveProject(e){const t=new E.ProjectModel(e);return S.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return S.save(`materials_${e.id}`,u.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return S.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=S.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return S.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return S.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=S.get(`history_${e}`);if(t){const s=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,s),S.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=S.get(`history_${e}`),r=new E.HistoryModel(t||{id:e});return Promise.resolve(r.toDsl())}getHistoryItem(e,t){const r=S.get(`history_${e}_${t}`);return Promise.resolve(r)}saveHistoryItem(e,t){return S.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(r=>{S.remove(`history_${e}_${r}`)}),Promise.resolve(!0)}}class je extends B{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new E.ProjectModel(e),r=this.projects[t.id]||{},s=Object.assign(t.toDsl(),r);return this.projects[s.id]=s,Promise.resolve(s)}saveProject(e){const t=new E.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=u.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 s=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,s),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],r=new E.HistoryModel(t||{id:e});return Promise.resolve(r)}getHistoryItem(e,t){const r=`${e}_${t}`,s=this.historyItems[r]||{};return Promise.resolve(s)}saveHistoryItem(e,t){const r=`${e}_${t.id}`;return this.historyItems[r]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(r=>{const s=`${e}_${r}`;delete this.historyItems[s]}),Promise.resolve(!0)}}let O=null;function vt(){return O||(O=new je,O)}class gt extends B{getFileCaches={};async getExtension(){return await this.api("getExtension",{}).catch(()=>{})}async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:u.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)}}function $e(n=[]){return n.map(e=>{const{id:t,title:r,icon:s,children:o,hidden:a}=e;return{id:t,title:r,icon:s,hidden:a,url:`/page/${t}`,children:o&&o.length?$e(o):void 0}})}function yt(){const n=z(),e=Z.useRoute(),t=m.ref(!1),r=n.project;m.watchEffect(()=>{const{name:a,params:i,meta:l}=e;if(a==="VtjPage"){const c=n.getPage(i.id);t.value=!c?.mask}else if(a==="VtjHomepage"){const c=n.getHomepage();t.value=!c?.mask}else t.value=!l.mask});const s=$e(r?.pages),o=r?.config;return{disabled:t,logo:o?.logo,themeSwitchable:o?.themeSwitchable,title:o?.title||r?.description||r?.name||"VTJ App",menus:s}}exports.BUILT_IN_DIRECTIVES=ee;exports.BaseService=B;exports.CONTEXT_HOST=U;exports.Context=ve;exports.ContextMode=$;exports.DATA_TYPES=te;exports.JSCodeToString=Fe;exports.LIFE_CYCLES_LIST=Pe;exports.LocalService=gt;exports.MemoryService=je;exports.NodeEnv=Se;exports.Provider=we;exports.StorageService=ht;exports.VTJ_RENDERER_VERSION=P;exports.adoptedStyleSheets=L;exports.createAssetScripts=be;exports.createAssetsCss=Re;exports.createDataSources=ge;exports.createLoader=H;exports.createMemoryService=vt;exports.createMetaApi=pe;exports.createProvider=pt;exports.createRenderer=T;exports.createSchemaApi=de;exports.createSchemaApis=fe;exports.defaultLoader=ye;exports.fillBasePath=R;exports.getModifiers=Y;exports.getPlugin=W;exports.getRawComponent=oe;exports.isCSSUrl=A;exports.isJSCode=ue;exports.isJSExpression=j;exports.isJSFunction=M;exports.isJSON=ne;exports.isJSUrl=k;exports.isVuePlugin=le;exports.loadCss=ie;exports.loadCssUrl=ae;exports.loadScriptUrl=ce;exports.mockApi=he;exports.mockApis=me;exports.mockCleanup=V;exports.nodeRender=I;exports.parseDeps=se;exports.parseExpression=b;exports.parseFunction=q;exports.providerKey=X;exports.removeProdFlag=re;exports.toString=J;exports.useMask=yt;exports.useProvider=z;
10
+ }`:"(v) => {}"},s=t.__parseFunction(r),o=Y(e.modifiers),a=j(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&s?n.withModifiers(s,o):s}}function nt(n,e,t,r,s){if(!e)return null;if(u.isString(e))return{default:()=>e};if(j(e))return{default:()=>J(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=rt(e),a=i=>!i||!s?{}:s?.id&&Object.keys(i).length?{[`scope_${s.id}`]:i}:{};return Object.entries(o).reduce((i,[l,{nodes:c,params:h}])=>(i[l]=f=>{const d=h.length?u.pick(f??{},h):a(f);return c.map(g=>O(g,t.__clone(d),n,r))},i),{})}return null}function rt(n){const e={default:{params:[],nodes:[]}};for(const t of n){const r=st(t.slot),s=r.name;e[s]?(e[s].nodes.push(t),e[s].params=e[s].params.concat(r.params)):e[s]={nodes:[t],params:r.params}}return e}function st(n="default"){return u.isString(n)?{name:n,params:[]}:{params:[],...n}}function ot(n,e,t){const{value:r,iterator:s}=n,{item:o="item",index:a="index"}=s||{};let i=t.__parseExpression(r)||[];return Number.isInteger(i)&&(i=new Array(i).fill(!0).map((l,c)=>c+1)),Array.isArray(i)?i.map((l,c)=>e(t.__clone({[o]:l,[a]:c}))):(console.warn("[vForRender]:",`${r?.value} is not a Arrary`),[])}function it(n){return m.getCurrentScope()?(m.onScopeDispose(n),!0):!1}function K(n){return typeof n=="function"?n():m.unref(n)}const Se=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const at=n=>n!=null,ct=()=>{};function lt(n){return m.getCurrentInstance()}function ut(...n){if(n.length!==1)return m.toRef(...n);const e=n[0];return typeof e=="function"?m.readonly(m.customRef(()=>({get:e,set:ct}))):m.ref(e)}function dt(n,e){lt()&&m.onBeforeUnmount(n,e)}const ft=Se?window:void 0,pt=Se?window.document:void 0;function mt(n){var e;const t=K(n);return(e=t?.$el)!=null?e:t}function ht(){const n=m.ref(!1),e=m.getCurrentInstance();return e&&m.onMounted(()=>{n.value=!0},e),n}function vt(n){const e=ht();return m.computed(()=>(e.value,!!n()))}function gt(n,e,t={}){const{window:r=ft,...s}=t;let o;const a=vt(()=>r&&"MutationObserver"in r),i=()=>{o&&(o.disconnect(),o=void 0)},l=m.computed(()=>{const d=K(n),g=(Array.isArray(d)?d:[d]).map(mt).filter(at);return new Set(g)}),c=m.watch(()=>l.value,d=>{i(),a.value&&d.size&&(o=new MutationObserver(e),d.forEach(g=>o.observe(g,s)))},{immediate:!0,flush:"post"}),h=()=>o?.takeRecords(),f=()=>{c(),i()};return it(f),{isSupported:a,stop:f,takeRecords:h}}function yt(n=null,e={}){var t,r,s;const{document:o=pt,restoreOnUnmount:a=f=>f}=e,i=(t=o?.title)!=null?t:"",l=ut((r=n??o?.title)!=null?r:null),c=n&&typeof n=="function";function h(f){if(!("titleTemplate"in e))return f;const d=e.titleTemplate||"%s";return typeof d=="function"?d(f):K(d).replace(/%s/g,f)}return m.watch(l,(f,d)=>{f!==d&&o&&(o.title=h(typeof f=="string"?f:""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!c&&gt((s=o.head)==null?void 0:s.querySelector("title"),()=>{o&&o.title!==l.value&&(l.value=h(o.title))},{childList:!0}),dt(()=>{if(a){const f=a(i,l.value||"");f!=null&&o&&(o.title=f)}}),l}const Z=m.defineComponent({name:"VtjPageContainer",async setup(){const n=z(),e=ee.useRoute(),t=e.params.id,r=t?n.getPage(t):n.getHomepage(),s=r?await n.getRenderComponent(r.id):null;return r&&yt(r.title||"VTJ"),{provider:n,component:s,file:r,query:e.query}},render(){return this.component?m.h(this.component,this.query):m.h("div","页面不存在")}}),_t=m.defineComponent({name:"VtjStartupContainer",render(){return m.h(Me.XStartup)}}),X=Symbol("Provider");var we=(n=>(n.Production="production",n.Development="development",n))(we||{});class je extends E.Base{constructor(e){super(),this.options=e;const{service:t,mode:r=$.Raw,dependencies:s,materials:o,project:a={},adapter:i={},globals:l={},modules:c={},router:h=null,materialPath:f="./",nodeEnv:d="development"}=e;this.mode=r,this.modules=c,this.service=t,this.router=h,this.materialPath=f,this.nodeEnv=d,s&&(this.dependencies=s),o&&(this.materials=o),Object.assign(this.globals,l),Object.assign(this.adapter,i),r!==$.Design&&this.load(a)}mode;globals={};modules={};adapter={request:ke,jsonp:u.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};nodeEnv="development";router=null;materialPath="./";urlDslCaches={};async load(e){const t=this.modules[`.vtj/projects/${e.id}.json`];if(this.project=t?await t():await this.service.init(e),!this.project)throw new Error("project is null");const{apis:r=[],meta:s=[]}=this.project,o=window;o.CKEDITOR_VERSION=void 0,this.nodeEnv!=="production"?await this.loadAssets(o):await this.loadDependencies(o),this.apis=me(r,s,this.adapter),V(),this.project.config?.mock&&he(r),this.initRouter(),this.triggerReady()}async loadDependencies(e){const t=Object.entries(this.dependencies);for(const[r,s]of t)e[r]||(e[r]=await s())}async loadAssets(e){const{dependencies:t=[]}=this.project,{dependencies:r,library:s,components:o,materialPath:a,nodeEnv:i}=this,{libraryExports:l,libraryMap:c,materials:h,materialExports:f,materialMapLibrary:d}=oe(t,a,i==="development");for(const p of l){const v=r[p],w=e[p];if(w)s[p]=w;else if(v)e[p]=s[p]=await v();else{const y=c[p]||[];for(const _ of y)A(_)&&await ae(p,u.url.append(_,{v:b})),k(_)&&await u.loadScript(u.url.append(_,{v:b}));s[p]=e[p]}}for(const p of h)await u.loadScript(u.url.append(p,{v:b}));const g=this.materials||{};for(const p of f){const v=e[d[p]],w=E.BUILT_IN_COMPONENTS[p];if(w)v&&w.forEach(y=>{o[y]=v[y]});else{const y=g[p]?(await g[p]()).default:e[p];y&&v&&(y.components||[]).forEach(_=>{o[_.name]=ie(_,v)})}}}initRouter(){const{router:e,project:t}=this;e&&(e.addRoute({path:"/page/:id",name:"VtjPage",component:Z}),e.addRoute({path:"/",name:"VtjHomepage",component:t?.homepage?Z:_t}))}install(e){const t=e.config.globalProperties.installed||{};for(const[r,s]of Object.entries(this.library))!t[r]&&ue(s)&&(e.use(s),t[r]=!0);this.options.install&&e.use(this.options.install),e.provide(X,this),e.config.globalProperties.installed=t,this.nodeEnv==="development"&&(e.config.errorHandler=(r,s,o)=>{const a=s?.$options.name,i=r?.message||r?.msg||"未知错误",l=`[ ${a} ] ${i}`;console.error("[VTJ Error]:",{err:r,instance:s,info:o},r?.stack),I.ElNotification.error({title:"运行时错误:请在控制台查看详情",message:l})})}getFile(e){const{blocks:t=[]}=this.project||{};return this.getPage(e)||t.find(r=>r.id===e)||null}getPage(e){const{pages:t=[]}=this.project||{},r=(s,o=[])=>{for(const a of o){if(a.id===s)return a;if(a.children&&a.children.length){const i=r(s,a.children);if(i)return i}}};return r(e,t)||null}getHomepage(){const{homepage:e}=this.project||{};return e?this.getPage(e):null}async getDsl(e){const t=this.modules[`.vtj/files/${e}.json`];return t?await t():this.service.getFile(e).catch(()=>null)}async getDslByUrl(e){const t=this.urlDslCaches[e];return t||(this.urlDslCaches[e]=this.adapter.request.send({url:e,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(r=>r.data).catch(()=>null))}createDslRenderer(e,t={}){const{library:r,components:s,mode:o,apis:a}=this,i={mode:o,Vue:r.Vue,components:s,libs:r,apis:a,window,...t},l=H({getDsl:async c=>await this.getDsl(c)||null,getDslByUrl:async c=>await this.getDslByUrl(c)||null,options:i});return T({...i,dsl:e,loader:l})}async getRenderComponent(e){const t=this.getFile(e);if(!t)return u.logger.warn(`Can not find file: ${e}`),null;const r=`.vtj/vue/${e}.vue`,s=this.modules[r];if(s)return(await s())?.default;const o=await this.getDsl(t.id);return o?this.createDslRenderer(o).renderer:(u.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return m.defineAsyncComponent(async()=>{const r=await this.getDslByUrl(e);return r?(r.name=t||r.name,this.createDslRenderer(r).renderer):null})}definePluginComponent(e){return m.defineAsyncComponent(async()=>await W(e,window))}}function St(n){const e=new je(n);return{provider:e,onReady:r=>e.ready(r)}}function z(n={}){const e=m.inject(X);if(!e)throw new Error("Can not find provider");if(e.nodeEnv==="development"){const{id:t,version:r}=n;t&&r&&(async()=>{const s=await e.getDsl(t);s?.__VERSION__!==r&&I.ElNotification.warning({title:s?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const G=new u.Request({settings:{type:"json",validSuccess:!0,originResponse:!1,failMessage:!0,validate:n=>n.data?.code===0,showError:n=>{I.ElNotification.error({message:n||"未知错误"})}}}),wt=(n="/__vtj__/api/:type.json")=>(e,t)=>G.send({url:n,method:"post",params:{type:e},data:{type:e,data:t}}),jt=(n="/__vtj__/api/uploader.json")=>async(e,t)=>await G.send({url:n,method:"post",data:{files:e,projectId:t},settings:{type:"data"}}).then(r=>r&&r[0]?r[0]:null).catch(()=>null);class B{api;pluginCaches={};uploader;constructor(){this.api=wt(),this.uploader=jt()}async getExtension(){console.log("BaseService.getExtension")}async init(e){return console.log("BaseService.init",e),{}}async saveProject(e){return!!await this.api("saveProject",e).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 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,r=t.filter(o=>re(o))[0];if(!r)return null;const s=this.pluginCaches[r];return s||(this.pluginCaches[r]=G.send({url:r,method:"get",settings:{validSuccess:!1,originResponse:!0}}).then(o=>o.data).catch(()=>null))}}const S=new u.Storage({type:"local",expired:0,prefix:"__VTJ_"});class $t extends B{init(e){const t=new E.ProjectModel(e),r=S.get(`project_${t.id}`),s=Object.assign(t.toDsl(),r||{});return S.save(`project_${t.id}`,s),Promise.resolve(s)}saveProject(e){const t=new E.ProjectModel(e);return S.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return S.save(`materials_${e.id}`,u.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return S.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=S.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return S.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return S.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=S.get(`history_${e}`);if(t){const s=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,s),S.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=S.get(`history_${e}`),r=new E.HistoryModel(t||{id:e});return Promise.resolve(r.toDsl())}getHistoryItem(e,t){const r=S.get(`history_${e}_${t}`);return Promise.resolve(r)}saveHistoryItem(e,t){return S.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(r=>{S.remove(`history_${e}_${r}`)}),Promise.resolve(!0)}}class $e extends B{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new E.ProjectModel(e),r=this.projects[t.id]||{},s=Object.assign(t.toDsl(),r);return this.projects[s.id]=s,Promise.resolve(s)}saveProject(e){const t=new E.ProjectModel(e);return this.projects[t.id]=t.toDsl(),Promise.resolve(!0)}saveMaterials(e,t){return e.id&&(this.materials[e.id]=u.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 s=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,s),delete this.historyItems[e]}return Promise.resolve(!0)}getHistory(e){const t=this.histories[e],r=new E.HistoryModel(t||{id:e});return Promise.resolve(r)}getHistoryItem(e,t){const r=`${e}_${t}`,s=this.historyItems[r]||{};return Promise.resolve(s)}saveHistoryItem(e,t){const r=`${e}_${t.id}`;return this.historyItems[r]=t,Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(r=>{const s=`${e}_${r}`;delete this.historyItems[s]}),Promise.resolve(!0)}}let x=null;function Et(){return x||(x=new $e,x)}class Ct extends B{getFileCaches={};async getExtension(){return await this.api("getExtension",{}).catch(()=>{})}async init(e){return await this.api("init",e).catch(()=>null)||{}}async saveProject(e){return!!await this.api("saveProject",e).catch(()=>!1)}async saveMaterials(e,t){return!!await this.api("saveMaterials",{project:e,materials:u.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)}}function Ee(n=[]){return n.map(e=>{const{id:t,title:r,icon:s,children:o,hidden:a}=e;return{id:t,title:r,icon:s,hidden:a,url:`/page/${t}`,children:o&&o.length?Ee(o):void 0}})}function Pt(){const n=z(),e=ee.useRoute(),t=m.ref(!1),r=n.project;m.watchEffect(()=>{const{name:a,params:i,meta:l}=e;if(a==="VtjPage"){const c=n.getPage(i.id);t.value=!c?.mask}else if(a==="VtjHomepage"){const c=n.getHomepage();t.value=!c?.mask}else t.value=!l.mask});const s=Ee(r?.pages),o=r?.config;return{disabled:t,logo:o?.logo,themeSwitchable:o?.themeSwitchable,title:o?.title||r?.description||r?.name||"VTJ App",menus:s}}exports.BUILT_IN_DIRECTIVES=te;exports.BaseService=B;exports.CONTEXT_HOST=U;exports.Context=ge;exports.ContextMode=$;exports.DATA_TYPES=ne;exports.JSCodeToString=Ae;exports.LIFE_CYCLES_LIST=Te;exports.LocalService=Ct;exports.MemoryService=$e;exports.NodeEnv=we;exports.Provider=je;exports.StorageService=$t;exports.VTJ_RENDERER_VERSION=b;exports.adoptedStyleSheets=L;exports.createAssetScripts=He;exports.createAssetsCss=De;exports.createDataSources=ye;exports.createLoader=H;exports.createMemoryService=Et;exports.createMetaApi=pe;exports.createProvider=St;exports.createRenderer=T;exports.createSchemaApi=fe;exports.createSchemaApis=me;exports.defaultLoader=_e;exports.fillBasePath=F;exports.getModifiers=Y;exports.getPlugin=W;exports.getRawComponent=ie;exports.isCSSUrl=A;exports.isJSCode=de;exports.isJSExpression=j;exports.isJSFunction=M;exports.isJSON=re;exports.isJSUrl=k;exports.isVuePlugin=ue;exports.loadCss=ae;exports.loadCssUrl=ce;exports.loadScriptUrl=le;exports.mockApi=ve;exports.mockApis=he;exports.mockCleanup=V;exports.nodeRender=O;exports.parseDeps=oe;exports.parseExpression=R;exports.parseFunction=q;exports.providerKey=X;exports.removeProdFlag=se;exports.toString=J;exports.useMask=Pt;exports.useProvider=z;
package/dist/index.mjs CHANGED
@@ -1,19 +1,18 @@
1
- import { Base as he, BUILT_IN_COMPONENTS as ve, ProjectModel as I, HistoryModel as ee } from "@vtj/core";
2
- import { isUrl as ye, url as b, dedupArray as ge, isString as $, isFunction as K, logger as x, createRequest as _e, merge as we, pathToRegexp as Se, pathToRegexpMatch as $e, formDataToJson as je, delay as Ee, camelCase as j, upperFirst as be, pick as Pe, jsonp as Ce, loadScript as Q, Request as Re, Storage as Fe, mapToObject as N } from "@vtj/utils";
1
+ import { Base as he, BUILT_IN_COMPONENTS as ve, ProjectModel as x, HistoryModel as ee } from "@vtj/core";
2
+ import { isUrl as ye, url as P, dedupArray as ge, isString as $, isFunction as K, logger as H, createRequest as _e, merge as we, pathToRegexp as Se, pathToRegexpMatch as $e, formDataToJson as je, delay as Ee, camelCase as j, upperFirst as be, pick as Pe, jsonp as Ce, loadScript as Q, Request as Re, Storage as Fe, mapToObject as N } from "@vtj/utils";
3
3
  import * as M from "vue";
4
- import { toRef as Ie, readonly as xe, customRef as He, ref as q, onBeforeUnmount as Oe, getCurrentScope as Me, onScopeDispose as De, unref as ke, getCurrentInstance as te, watch as ne, computed as re, onMounted as Te, defineComponent as se, h as A, inject as Ae, defineAsyncComponent as X, watchEffect as Be } from "vue";
4
+ import { toRef as Ie, readonly as xe, customRef as He, ref as q, onBeforeUnmount as Oe, getCurrentScope as Me, onScopeDispose as De, unref as Te, getCurrentInstance as te, watch as ne, computed as re, onMounted as ke, defineComponent as se, h as A, inject as Ae, defineAsyncComponent as X, watchEffect as Be } from "vue";
5
5
  import { useRoute as oe } from "vue-router";
6
6
  import { ElNotification as D, ElLoading as Ue } from "element-plus";
7
- import H from "mockjs";
8
7
  import { XStartup as Ne } from "@vtj/ui";
9
8
  /**!
10
9
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
11
10
  * @name @vtj/renderer
12
11
  * @author CHC chenhuachun1549@dingtalk.com
13
- * @version 0.8.144
12
+ * @version 0.8.145
14
13
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
15
14
  */
16
- const P = "0.8.144";
15
+ const C = "0.8.145";
17
16
  var S = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(S || {});
18
17
  const Y = [
19
18
  "$el",
@@ -27,7 +26,7 @@ const Y = [
27
26
  "$props",
28
27
  "$options",
29
28
  "$forceUpdate"
30
- ], tn = [
29
+ ], en = [
31
30
  "beforeCreate",
32
31
  "created",
33
32
  "beforeMount",
@@ -50,7 +49,7 @@ const Y = [
50
49
  Function,
51
50
  Date
52
51
  };
53
- function R(n, e) {
52
+ function F(n, e) {
54
53
  return n.map((t) => ye(t) || t.startsWith("/") ? t : `${e}${t}`);
55
54
  }
56
55
  function J(n) {
@@ -62,14 +61,14 @@ function L(n) {
62
61
  function Le(n) {
63
62
  return /\.json$/.test(n);
64
63
  }
65
- function nn(n) {
64
+ function tn(n) {
66
65
  return n.map(
67
- (e) => `<script src="${b.append(e, { v: P })}"><\/script>`
66
+ (e) => `<script src="${P.append(e, { v: C })}"><\/script>`
68
67
  ).join("");
69
68
  }
70
- function rn(n = []) {
69
+ function nn(n = []) {
71
70
  return n.map(
72
- (e) => `<link rel="stylesheet" href="${b.append(e, { v: P })}" />`
71
+ (e) => `<link rel="stylesheet" href="${P.append(e, { v: C })}" />`
73
72
  ).join("");
74
73
  }
75
74
  function Ve(n, e = !1) {
@@ -81,12 +80,12 @@ function We(n, e, t = !1) {
81
80
  ({ urls: u, assetsUrl: h, library: p, assetsLibrary: m, localeLibrary: _ }) => {
82
81
  u?.forEach((v) => {
83
82
  L(v) && s.push(Ve(v, t)), J(v) && o.push(v);
84
- }), p && (i.push(p), l[p] = R(u || [], e), _ && (c[p] = _)), h && a.push(h), m && d.push(m), p && m && (f[m] = p);
83
+ }), p && (i.push(p), l[p] = F(u || [], e), _ && (c[p] = _)), h && a.push(h), m && d.push(m), p && m && (f[m] = p);
85
84
  }
86
85
  ), {
87
- scripts: R(s, e),
88
- css: R(o, e),
89
- materials: R(a, e),
86
+ scripts: F(s, e),
87
+ css: F(o, e),
88
+ materials: F(a, e),
90
89
  libraryExports: i,
91
90
  materialExports: ge(d),
92
91
  materialMapLibrary: f,
@@ -145,7 +144,7 @@ async function Xe(n, e, t = window) {
145
144
  function Ye(n) {
146
145
  return K(n) || K(n?.install);
147
146
  }
148
- function C(n, e, t = !1, r = !1) {
147
+ function R(n, e, t = !1, r = !1) {
149
148
  try {
150
149
  const s = ['"use strict";', "var __self = arguments[0];"];
151
150
  s.push("return ");
@@ -155,13 +154,13 @@ function C(n, e, t = !1, r = !1) {
155
154
  const a = `with(${t ? "{}" : "$scope || {}"}) { ${o} }`;
156
155
  return new Function("$scope", a)(e);
157
156
  } catch (s) {
158
- if (x.error("parseExpression.error", s, n, e?.__self ?? e), r)
157
+ if (H.error("parseExpression.error", s, n, e?.__self ?? e), r)
159
158
  throw s;
160
159
  }
161
160
  }
162
161
  function z(n, e, t = !1, r = !1) {
163
- const s = C(n, e, t, r);
164
- if (typeof s != "function" && (x.error(
162
+ const s = R(n, e, t, r);
163
+ if (typeof s != "function" && (H.error(
165
164
  "parseFunction.error",
166
165
  "not a function",
167
166
  n,
@@ -173,13 +172,13 @@ function z(n, e, t = !1, r = !1) {
173
172
  function w(n) {
174
173
  return n && n.type === "JSExpression";
175
174
  }
176
- function k(n) {
175
+ function T(n) {
177
176
  return typeof n == "object" && n && n.type === "JSFunction";
178
177
  }
179
178
  function ze(n) {
180
- return w(n) || k(n);
179
+ return w(n) || T(n);
181
180
  }
182
- function sn(n) {
181
+ function rn(n) {
183
182
  return ze(n) ? n.value : JSON.stringify(n);
184
183
  }
185
184
  let E = null;
@@ -208,6 +207,7 @@ const Ze = _e({
208
207
  }
209
208
  }
210
209
  });
210
+ let b;
211
211
  function et(n, e) {
212
212
  const { jsonp: t, request: r } = e;
213
213
  if (n.method === "jsonp")
@@ -216,7 +216,7 @@ function et(n, e) {
216
216
  query: s
217
217
  });
218
218
  {
219
- const s = n.headers ? C(n.headers, {}, !0) : void 0, o = {
219
+ const s = n.headers ? R(n.headers, {}, !0) : void 0, o = {
220
220
  url: n.url,
221
221
  method: n.method,
222
222
  settings: {
@@ -247,24 +247,24 @@ function nt(n = [], e = [], t) {
247
247
  r[s.id] = tt(s, t);
248
248
  return r;
249
249
  }
250
- function rt(n = []) {
251
- H.setup({
250
+ async function rt(n = []) {
251
+ b = await import("mockjs").then((e) => e.default || e), b && (b.setup({
252
252
  timeout: "50-500"
253
- }), ce(), n.forEach((e) => st(e));
254
- }
255
- function st(n) {
256
- if (!n.mock) return;
257
- const { url: e, mockTemplate: t } = n;
258
- if (e && t) {
259
- const r = Se(`${e}(.*)`), s = $e(e, { decode: decodeURIComponent }), o = C(t, {}, !0);
260
- H.mock(r, (a) => {
261
- const i = b.parse(a.url) || {}, l = a.body instanceof FormData ? je(a.body) : a.body, c = s(a.url)?.params;
262
- return Object.assign(a, { data: l, params: i, query: c }), H.mock(o(a));
253
+ }), ce(), n.forEach((e) => st(b, e)));
254
+ }
255
+ function st(n, e) {
256
+ if (!e.mock) return;
257
+ const { url: t, mockTemplate: r } = e;
258
+ if (t && r) {
259
+ const s = Se(`${t}(.*)`), o = $e(t, { decode: decodeURIComponent }), a = R(r, {}, !0);
260
+ n.mock(s, (i) => {
261
+ const l = P.parse(i.url) || {}, c = i.body instanceof FormData ? je(i.body) : i.body, d = o(i.url)?.params;
262
+ return Object.assign(i, { data: c, params: l, query: d }), n.mock(a(i));
263
263
  });
264
264
  }
265
265
  }
266
266
  function ce() {
267
- H._mocked = {};
267
+ b && (b._mocked = {});
268
268
  }
269
269
  class ot {
270
270
  __id = null;
@@ -330,9 +330,9 @@ class ot {
330
330
  if (e)
331
331
  if (this.__mode === S.Runtime) {
332
332
  const { id: t, type: r } = e, s = t ? this.__transform[t] ?? e.value : e.value;
333
- return C({ type: r, value: s }, this);
333
+ return R({ type: r, value: s }, this);
334
334
  } else
335
- return C(e, this);
335
+ return R(e, this);
336
336
  }
337
337
  __ref(e = null, t) {
338
338
  if (this.__mode !== S.VNode)
@@ -343,7 +343,7 @@ class ot {
343
343
  typeof t == "string" && (delete this.$refs[t], e && delete this.__refs[e]);
344
344
  return;
345
345
  }
346
- if (s.nodeType === 3 && s.nextSibling && (s = s.nextSibling), s.__vtj__ = e, S.Design === this.__mode && (s.__context__ = this), e && (this.__refs[e] = r), typeof t == "function")
346
+ if (s.nodeType === 3 && s.nextSibling && (s = s.nextSibling), s.__vtj__ = e, S.Design === this.__mode && (s.__context__ = this, s.draggable = !0), e && (this.__refs[e] = r), typeof t == "function")
347
347
  t(r);
348
348
  else if (t) {
349
349
  const o = this.$refs[t];
@@ -444,7 +444,7 @@ function ct(n, e, t) {
444
444
  Object.keys(e || {}).reduce(
445
445
  (r, s) => {
446
446
  let o = e[s];
447
- return w(o) ? o = t.__parseExpression(o) : k(o) && (o = t.__parseFunction(o)), r[s] = o, r;
447
+ return w(o) ? o = t.__parseExpression(o) : T(o) && (o = t.__parseFunction(o)), r[s] = o, r;
448
448
  },
449
449
  {}
450
450
  )
@@ -476,7 +476,7 @@ function ft(n, e = [], t) {
476
476
  function pt(n, e) {
477
477
  return Object.keys(n).reduce(
478
478
  (t, r) => {
479
- const s = n[r], o = e.$apis[s.ref], a = k(s.transform) ? s.transform.value ? e.__parseFunction(s.transform) : void 0 : s.transform;
479
+ const s = n[r], o = e.$apis[s.ref], a = T(s.transform) ? s.transform.value ? e.__parseFunction(s.transform) : void 0 : s.transform;
480
480
  return t[r] = async (...i) => {
481
481
  const l = await o.apply(e, i);
482
482
  return a ? a(l) : l;
@@ -503,7 +503,7 @@ function mt(n, e) {
503
503
  {}
504
504
  );
505
505
  }
506
- let T = [];
506
+ let k = [];
507
507
  const ht = (n) => n;
508
508
  async function le(n, e = window) {
509
509
  const { urls: t = [], library: r } = n, s = t.filter((i) => L(i));
@@ -515,9 +515,9 @@ async function le(n, e = window) {
515
515
  }
516
516
  function U(n) {
517
517
  const { getDsl: e, getDslByUrl: t, options: r } = n;
518
- return r.window && (T.forEach((s) => {
518
+ return r.window && (k.forEach((s) => {
519
519
  delete r.window[s];
520
- }), T = []), (s, o, a = M) => !o || typeof o == "string" ? s : o.type === "Schema" && o.id ? a.defineAsyncComponent(async () => {
520
+ }), k = []), (s, o, a = M) => !o || typeof o == "string" ? s : o.type === "Schema" && o.id ? a.defineAsyncComponent(async () => {
521
521
  const i = await e(o.id);
522
522
  return i && (i.name = s), i ? B({
523
523
  ...r,
@@ -535,7 +535,7 @@ function U(n) {
535
535
  mode: S.Runtime,
536
536
  loader: U(n)
537
537
  }).renderer : null;
538
- }) : o.type === "Plugin" ? (o.library && T.push(o.library), a.defineAsyncComponent(async () => {
538
+ }) : o.type === "Plugin" ? (o.library && k.push(o.library), a.defineAsyncComponent(async () => {
539
539
  const i = await le(o, r.window);
540
540
  return i || (console.warn("getPlugin result is null", o), null);
541
541
  })) : s;
@@ -595,7 +595,7 @@ function _t(n, e, t) {
595
595
  const r = Object.keys(e || {}).reduce(
596
596
  (s, o) => {
597
597
  let a = e[o];
598
- return w(a) ? a = t.__parseExpression(a) : k(a) && (a = t.__parseFunction(a)), s[o] = a, s;
598
+ return w(a) ? a = t.__parseExpression(a) : T(a) && (a = t.__parseFunction(a)), s[o] = a, s;
599
599
  },
600
600
  {}
601
601
  );
@@ -700,7 +700,7 @@ function Ft(n) {
700
700
  return Me() ? (De(n), !0) : !1;
701
701
  }
702
702
  function V(n) {
703
- return typeof n == "function" ? n() : ke(n);
703
+ return typeof n == "function" ? n() : Te(n);
704
704
  }
705
705
  const fe = typeof window < "u" && typeof document < "u";
706
706
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
@@ -718,15 +718,15 @@ function Ot(...n) {
718
718
  function Mt(n, e) {
719
719
  Ht() && Oe(n, e);
720
720
  }
721
- const Dt = fe ? window : void 0, kt = fe ? window.document : void 0;
722
- function Tt(n) {
721
+ const Dt = fe ? window : void 0, Tt = fe ? window.document : void 0;
722
+ function kt(n) {
723
723
  var e;
724
724
  const t = V(n);
725
725
  return (e = t?.$el) != null ? e : t;
726
726
  }
727
727
  function At() {
728
728
  const n = q(!1), e = te();
729
- return e && Te(() => {
729
+ return e && ke(() => {
730
730
  n.value = !0;
731
731
  }, e), n;
732
732
  }
@@ -740,7 +740,7 @@ function Ut(n, e, t = {}) {
740
740
  const a = Bt(() => r && "MutationObserver" in r), i = () => {
741
741
  o && (o.disconnect(), o = void 0);
742
742
  }, l = re(() => {
743
- const u = V(n), h = (Array.isArray(u) ? u : [u]).map(Tt).filter(It);
743
+ const u = V(n), h = (Array.isArray(u) ? u : [u]).map(kt).filter(It);
744
744
  return new Set(h);
745
745
  }), c = ne(
746
746
  () => l.value,
@@ -760,7 +760,7 @@ function Ut(n, e, t = {}) {
760
760
  function Nt(n = null, e = {}) {
761
761
  var t, r, s;
762
762
  const {
763
- document: o = kt,
763
+ document: o = Tt,
764
764
  restoreOnUnmount: a = (f) => f
765
765
  } = e, i = (t = o?.title) != null ? t : "", l = Ot((r = n ?? o?.title) != null ? r : null), c = n && typeof n == "function";
766
766
  function d(f) {
@@ -877,12 +877,12 @@ class Lt extends he {
877
877
  else {
878
878
  const v = c[p] || [];
879
879
  for (const y of v)
880
- J(y) && await Ke(p, b.append(y, { v: P })), L(y) && await Q(b.append(y, { v: P }));
880
+ J(y) && await Ke(p, P.append(y, { v: C })), L(y) && await Q(P.append(y, { v: C }));
881
881
  s[p] = e[p];
882
882
  }
883
883
  }
884
884
  for (const p of d)
885
- await Q(b.append(p, { v: P }));
885
+ await Q(P.append(p, { v: C }));
886
886
  const h = this.materials || {};
887
887
  for (const p of f) {
888
888
  const m = e[u[p]], _ = ve[p];
@@ -990,12 +990,12 @@ class Lt extends he {
990
990
  async getRenderComponent(e) {
991
991
  const t = this.getFile(e);
992
992
  if (!t)
993
- return x.warn(`Can not find file: ${e}`), null;
993
+ return H.warn(`Can not find file: ${e}`), null;
994
994
  const r = `.vtj/vue/${e}.vue`, s = this.modules[r];
995
995
  if (s)
996
996
  return (await s())?.default;
997
997
  const o = await this.getDsl(t.id);
998
- return o ? this.createDslRenderer(o).renderer : (x.warn(`Can not find dsl: ${e}`), null);
998
+ return o ? this.createDslRenderer(o).renderer : (H.warn(`Can not find dsl: ${e}`), null);
999
999
  }
1000
1000
  defineUrlSchemaComponent(e, t) {
1001
1001
  return X(async () => {
@@ -1007,7 +1007,7 @@ class Lt extends he {
1007
1007
  return X(async () => await le(e, window));
1008
1008
  }
1009
1009
  }
1010
- function on(n) {
1010
+ function sn(n) {
1011
1011
  const e = new Lt(n);
1012
1012
  return {
1013
1013
  provider: e,
@@ -1158,13 +1158,13 @@ const g = new Fe({
1158
1158
  expired: 0,
1159
1159
  prefix: "__VTJ_"
1160
1160
  });
1161
- class an extends G {
1161
+ class on extends G {
1162
1162
  init(e) {
1163
- const t = new I(e), r = g.get(`project_${t.id}`), s = Object.assign(t.toDsl(), r || {});
1163
+ const t = new x(e), r = g.get(`project_${t.id}`), s = Object.assign(t.toDsl(), r || {});
1164
1164
  return g.save(`project_${t.id}`, s), Promise.resolve(s);
1165
1165
  }
1166
1166
  saveProject(e) {
1167
- const t = new I(e);
1167
+ const t = new x(e);
1168
1168
  return g.save(`project_${t.id}`, t.toDsl()), Promise.resolve(!0);
1169
1169
  }
1170
1170
  saveMaterials(e, t) {
@@ -1215,11 +1215,11 @@ class Gt extends G {
1215
1215
  histories = {};
1216
1216
  historyItems = {};
1217
1217
  init(e) {
1218
- const t = new I(e), r = this.projects[t.id] || {}, s = Object.assign(t.toDsl(), r);
1218
+ const t = new x(e), r = this.projects[t.id] || {}, s = Object.assign(t.toDsl(), r);
1219
1219
  return this.projects[s.id] = s, Promise.resolve(s);
1220
1220
  }
1221
1221
  saveProject(e) {
1222
- const t = new I(e);
1222
+ const t = new x(e);
1223
1223
  return this.projects[t.id] = t.toDsl(), Promise.resolve(!0);
1224
1224
  }
1225
1225
  saveMaterials(e, t) {
@@ -1265,11 +1265,11 @@ class Gt extends G {
1265
1265
  }), Promise.resolve(!0);
1266
1266
  }
1267
1267
  }
1268
- let F = null;
1269
- function cn() {
1270
- return F || (F = new Gt(), F);
1268
+ let I = null;
1269
+ function an() {
1270
+ return I || (I = new Gt(), I);
1271
1271
  }
1272
- class ln extends G {
1272
+ class cn extends G {
1273
1273
  getFileCaches = {};
1274
1274
  async getExtension() {
1275
1275
  return await this.api("getExtension", {}).catch(() => {
@@ -1337,7 +1337,7 @@ function me(n = []) {
1337
1337
  };
1338
1338
  });
1339
1339
  }
1340
- function un() {
1340
+ function ln() {
1341
1341
  const n = de(), e = oe(), t = q(!1), r = n.project;
1342
1342
  Be(() => {
1343
1343
  const { name: a, params: i, meta: l } = e;
@@ -1366,34 +1366,34 @@ export {
1366
1366
  ot as Context,
1367
1367
  S as ContextMode,
1368
1368
  Je as DATA_TYPES,
1369
- sn as JSCodeToString,
1370
- tn as LIFE_CYCLES_LIST,
1371
- ln as LocalService,
1369
+ rn as JSCodeToString,
1370
+ en as LIFE_CYCLES_LIST,
1371
+ cn as LocalService,
1372
1372
  Gt as MemoryService,
1373
1373
  Jt as NodeEnv,
1374
1374
  Lt as Provider,
1375
- an as StorageService,
1376
- P as VTJ_RENDERER_VERSION,
1375
+ on as StorageService,
1376
+ C as VTJ_RENDERER_VERSION,
1377
1377
  ae as adoptedStyleSheets,
1378
- nn as createAssetScripts,
1379
- rn as createAssetsCss,
1378
+ tn as createAssetScripts,
1379
+ nn as createAssetsCss,
1380
1380
  pt as createDataSources,
1381
1381
  U as createLoader,
1382
- cn as createMemoryService,
1382
+ an as createMemoryService,
1383
1383
  tt as createMetaApi,
1384
- on as createProvider,
1384
+ sn as createProvider,
1385
1385
  B as createRenderer,
1386
1386
  et as createSchemaApi,
1387
1387
  nt as createSchemaApis,
1388
1388
  ht as defaultLoader,
1389
- R as fillBasePath,
1389
+ F as fillBasePath,
1390
1390
  ue as getModifiers,
1391
1391
  le as getPlugin,
1392
1392
  Ge as getRawComponent,
1393
1393
  J as isCSSUrl,
1394
1394
  ze as isJSCode,
1395
1395
  w as isJSExpression,
1396
- k as isJSFunction,
1396
+ T as isJSFunction,
1397
1397
  Le as isJSON,
1398
1398
  L as isJSUrl,
1399
1399
  Ye as isVuePlugin,
@@ -1405,11 +1405,11 @@ export {
1405
1405
  ce as mockCleanup,
1406
1406
  O as nodeRender,
1407
1407
  We as parseDeps,
1408
- C as parseExpression,
1408
+ R as parseExpression,
1409
1409
  z as parseFunction,
1410
1410
  pe as providerKey,
1411
1411
  Ve as removeProdFlag,
1412
1412
  ie as toString,
1413
- un as useMask,
1413
+ ln as useMask,
1414
1414
  de as useProvider
1415
1415
  };
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@vtj/renderer",
3
3
  "private": false,
4
- "version": "0.8.144",
4
+ "version": "0.8.145",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "mockjs": "~1.1.0",
8
- "@vtj/core": "~0.8.144",
9
- "@vtj/ui": "~0.8.144",
10
- "@vtj/utils": "~0.8.144",
11
- "@vtj/icons": "~0.8.144"
8
+ "@vtj/core": "~0.8.145",
9
+ "@vtj/ui": "~0.8.145",
10
+ "@vtj/icons": "~0.8.145",
11
+ "@vtj/utils": "~0.8.145"
12
12
  },
13
13
  "devDependencies": {
14
14
  "vue": "~3.5.5",
@@ -4,7 +4,7 @@ import { ProvideAdapter } from './provider';
4
4
  export declare function createSchemaApi(schema: ApiSchema, adapter: ProvideAdapter): ((query?: Record<string, any>) => Promise<any>) | ((data: any, opts?: IRequestConfig) => Promise<any>);
5
5
  export declare function createMetaApi(meta: MetaSchema, adapter: ProvideAdapter): ((data: any, opts?: IRequestConfig) => Promise<any> | undefined) | undefined;
6
6
  export declare function createSchemaApis(apis: ApiSchema[] | undefined, meta: MetaSchema[] | undefined, adapter: ProvideAdapter): Record<string, any>;
7
- export declare function mockApis(schemas?: ApiSchema[]): void;
7
+ export declare function mockApis(schemas?: ApiSchema[]): Promise<void>;
8
8
  export interface MockCallbackOptions {
9
9
  /**
10
10
  * 请求url
@@ -31,5 +31,5 @@ export interface MockCallbackOptions {
31
31
  */
32
32
  data?: any;
33
33
  }
34
- export declare function mockApi(schema: ApiSchema): void;
34
+ export declare function mockApi(Mock: any, schema: ApiSchema): void;
35
35
  export declare function mockCleanup(): void;
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/renderer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.8.143
5
+ * @version 0.8.144
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.8.143";
8
+ export declare const version = "0.8.144";