@vtj/renderer 0.9.3 → 0.9.5
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 +7 -7
- package/dist/index.mjs +163 -163
- package/package.json +6 -6
- package/types/components/Startup.d.ts +1 -1
- package/types/version.d.ts +3 -3
package/dist/index.cjs
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("@vtj/core"),u=require("@vtj/utils"),
|
2
|
-
* Copyright (c)
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("@vtj/core"),u=require("@vtj/utils"),d=require("vue"),F=require("element-plus"),P=require("mockjs"),re=require("vue-router");function Ne(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 B=Ne(d);/**!
|
2
|
+
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.9.
|
5
|
+
* @version 0.9.5
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
|
-
*/const k="0.9.
|
8
|
-
`)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(r){if(u.logger.error("parseExpression.error",r,n,e?.__self??e),s)throw r}}function D(n,e,t=!1,s=!1){const r=x(n,e,t,s);if(typeof r!="function"&&(u.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return r}function S(n){return n&&n.type==="JSExpression"}function T(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function we(n){return S(n)||T(n)}function Je(n){return we(n)?n.value:JSON.stringify(n)}let C=null;const Ve=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 Se(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?x(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:r}};return(a,i)=>(delete o.data,s.send(u.merge(o,i||{},{data:a})))}}function be(n,e){const{metaQuery:t}=e;if(!t)return;const{code:s,queryCode:r}=n;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(s,r,o,a)}}function je(n=[],e=[],t){const s={};for(const r of n)s[r.id]=Se(r,t);for(const r of e)s[r.id]=be(r,t);return s}async function Ee(n=[]){P&&(W(),n.forEach(e=>Pe(P,e)))}function $e(n){const e=T(n.mockTemplate)&&n.mockTemplate.value?D(n.mockTemplate,{},!0):void 0;return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(r){u.logger.warn("模拟数据模版异常",r)}return P.mock(s)}}function Pe(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=u.pathToRegexp(`${t}(.*)`),o=u.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=x(s,{},!0);n.mock(r,i=>{const c=u.url.parse(i.url)||{},l=i.body instanceof FormData?u.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:l,params:c,query:m}),n.mock(a(i))})}}function W(){P&&(P._mocked={})}const ze={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},Y=Symbol("access");class Ke{options;data=null;mode=_.Raw;constructor(e){this.options=Object.assign({},ze,e),this.loadData()}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode===_.Raw&&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&&(u.storage.save(t,e,{type:"local",prefix:s}),r&&u.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,u.storage.remove(e,{type:"local",prefix:t}),s&&u.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):u.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return u.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this),e.provide(Y,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=>u.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?u.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=u.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!u.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===R){const t=e.params.id;return t&&this.can(t)}return!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),u.isFunction(r)?(r(),t(!1)):u.isString(r)?t(r):t(!1)}}t(!1),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}=this.options;return e.status===t||e.data.code===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 t?(await u.delay(150),await t(e,{title:"提示",type:"warning"}).catch(()=>!1)):!1}setRequest(e){e.useRequest(t=>(this.data?.token&&(t.headers[this.options.authKey]=this.data?.token),t)),e.useResponse(async t=>(await this.showUnauthorizedAlert(t),t),async t=>{const s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function Ce(){return p.inject(Y,null)}class ke{__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: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=B){const s=t.getCurrentInstance();if(!s)return;this.__refs={},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.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&z.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){z.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return D({type:s,value:r},this)}else return D(e,this)}__parseExpression(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return x({type:s,value:r},this)}else return x(e,this)}__ref(e=null,t){if(this.__mode!==_.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await u.delay(0);let r=s?.$vtjEl||s?.$el||s?._?.vnode?.el||s;if(!r){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,_.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=s),typeof t=="function")t(s);else if(t){const o=this.$refs[t];if(o&&s!==o){const a=new Set([].concat(o,s));this.$refs[t]=Array.from(a)}else this.$refs[t]=s}return s}}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function H(n){const{Vue:e=B,mode:t=_.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),c={$components:s,$libs:r,$apis:o},l=new ke({mode:t,dsl:i.value,attrs:c}),m=e.defineComponent({name:i.value.name,props:{...We(i.value.props??[],l)},setup(d){l.$props=d,l.props=d,i.value.id&&G(n.window||window,i.value.id,i.value.css||""),l.state=Ye(e,i.value.state??{},l);const f=Qe(e,i.value.computed??{},l),g=Xe(i.value.methods??{},l),v=Ze(e,i.value.inject,l),h=Re(i.value.dataSources||{},l),b={...v,...f,...g,...h};return l.setup(b,e),et(e,i.value.watch??[],l),{vtj:l}},emits:Ge(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const d=i.value.nodes||[];return d.length===1?O(d[0],l,e,a):d.map(f=>O(f,l,e,a))},...tt(i.value.lifeCycles??{},l)});return{renderer:e.markRaw(m),context:l}}function Ge(n=[]){return n.map(e=>u.isString(e)?e:e.name)}function We(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>ae[o]):void 0;return n.map(s=>u.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:S(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 Ye(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let o=e[r];return S(o)?o=t.__parseExpression(o):T(o)&&(o=t.__parseFunction(o)),s[r]=o,s},{}))}function Qe(n,e,t){return Object.entries(e??{}).reduce((s,[r,o])=>(s[r]=n.computed(t.__parseFunction(o)),s),{})}function Xe(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function Ze(n,e=[],t){return e.reduce((s,r)=>{const{name:o,from:a}=r||{};r.default;const i=S(a)?t.__parseExpression(a)||o:a??o,c=S(r.default)?t.__parseExpression(r.default):r.default??null;return s[o]=n.inject(i,c),s},{})}function Re(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s];if(r.type==="mock")t[s]=$e(r);else if(r.ref){const o=e.$apis[r.ref],a=T(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;t[s]=async(...i)=>{const c=await o.apply(e,i);return a?a(c):c}}return t},{})}function et(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function tt(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}let V=[];const xe=n=>n;async function Q(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>L(i));if(r.length===0||!s)return null;const o=t.filter(i=>U(i));return o.length&&me(o,e),await ge(r,s,e).catch(i=>(console.warn("loadScriptUrl error",r,s,i),null))}function N(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(V.forEach(r=>{delete s.window[r]}),V=[]),(r,o,a=B)=>!o||typeof o=="string"?r:o.type==="Schema"&&o.id?a.defineAsyncComponent(async()=>{const i=await e(o.id);return i&&(i.name=r),i?H({...s,Vue:a,dsl:i,mode:_.Runtime,loader:N(n)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=r),i?H({...s,Vue:a,dsl:i,mode:_.Runtime,loader:N(n)}).renderer:null}):o.type==="Plugin"?(o.library&&V.push(o.library),a.defineAsyncComponent(async()=>{const i=await Q(o,s.window);return i||(console.warn("getPlugin result is null",o),null)})):r}function O(n,e,t=B,s=xe){if(!n||!n.name||n.invisible)return null;const r=t.getCurrentInstance()?.appContext,{id:o=null,directives:a=[]}=n,{vIf:i,vFor:c,vShow:l,vModels:m,vBind:d,vHtml:f,others:g}=nt(a);if(i&&!rt(i,e))return null;const v=h=>{const b=h.$components,y=(()=>{if(n.name==="component")return ot(h,n.props?.is);if(n.name==="slot")return n.name;const E=s(n.name,n.from,t);return u.isString(E)?ye(E)||_e(E)?E:b[E]??r?.app?.component(E)??E:E})(),j=it(o,n.props??{},h),He=at(t,n.events??{},h);if(n.name==="slot")return ct(t,n,j,h,s);d&&Object.assign(j,h.__parseExpression(d.value)),l&&(j.style=Object.assign(j.style??{},ut(l,h))),f&&Object.assign(j,dt(f,h)),m.forEach(E=>{Object.assign(j,pt(t,E,h))});const Ne=ft(t,n.children??[],h,s,n);let J=t.createVNode(y,{...j,...He},Ne);const ne=r?st(r,g,h):[];return ne.length&&(J=t.withDirectives(J,ne)),J};return c?gt(c,v,e):v(e)}function st(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 a=[o];return r.value&&a.push(t.__parseExpression(r.value)),r.arg&&a.push(r.arg),r.modifiers&&a.push(r.modifiers),a}).filter(r=>!!r)}function nt(n=[]){const e=n.find(c=>u.camelCase(c.name)==="vIf"),t=n.find(c=>u.camelCase(c.name)==="vFor"),s=n.find(c=>u.camelCase(c.name)==="vShow"),r=n.find(c=>u.camelCase(c.name)==="vBind"),o=n.find(c=>u.camelCase(c.name)==="vHtml"),a=n.filter(c=>u.camelCase(c.name)==="vModel"),i=n.filter(c=>!ie.includes(u.camelCase(c.name)));return{vIf:e,vFor:t,vShow:s,vModels:a,vBind:r,others:i,vHtml:o}}function rt(n,e){return!!e.__parseExpression(n.value)}function ot(n,e){return e?S(e)?n.__parseExpression(e):e:"div"}function it(n,e,t){const s=Object.keys(e||{}).reduce((r,o)=>{let a=e[o];return S(a)?a=t.__parseExpression(a):T(a)&&(a=t.__parseFunction(a)),r[o]=a,r},{});return s.ref=t.__ref(n,s.ref),s}function at(n,e,t){const s=["passive","capture","once"],r={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],c=X(i.modifiers),l=c.find(f=>s.includes(f)),m="on"+u.upperFirst(a)+(l&&r[l]||""),d=t.__parseFunction(i.handler);return d&&(o[m]=n.withModifiers(d,c)),o},{})}function X(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function ct(n,e,t,s,r){const{children:o}=e,a=lt(e,s),i=s.$slots?.[a.name];return i?i(t):o?u.isString(o)?n.createTextVNode(o):S(o)?n.createTextVNode(K(s.__parseExpression(o))):Array.isArray(o)?o.map(c=>O(c,s,n,r)):null:null}function lt(n,e){const{props:t}=n,s=t?.name||"default";return{name:S(s)?e.__parseExpression(s):s,params:[]}}function ut(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function dt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function pt(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
|
7
|
+
*/const k="0.9.5";var _=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(_||{});const z=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Be=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],oe=["vIf","vShow","vModel","vFor","vBind","vHtml"],ie={String,Number,Boolean,Array,Object,Function,Date},R="VtjPage",M="VtjHomepage",ae="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".split(","),ce="component,slot".split(",");function T(n,e){return n.map(t=>u.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function U(n){return/\.css$/.test(n)}function L(n){return/\.js$/.test(n)}function le(n){return/\.json$/.test(n)}function Ue(n){return n.map(e=>`<script src="${u.url.append(e,{v:k})}"><\/script>`).join("")}function Le(n=[]){return n.map(e=>`<link rel="stylesheet" href="${u.url.append(e,{v:k})}" />`).join("")}function ue(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function de(n,e,t=!1){const s=n.filter(f=>!!f.enabled),r=[],o=[],a=[],i=[],c={},l={},m=[],p={};return s.forEach(({urls:f,assetsUrl:g,library:v,assetsLibrary:h,localeLibrary:b})=>{f?.forEach(y=>{L(y)&&r.push(ue(y,t)),U(y)&&o.push(y)}),v&&(i.push(v),c[v]=T(f||[],e),b&&(l[v]=b)),g&&a.push(g),h&&m.push(h),v&&h&&(p[h]=v)}),{scripts:T(r,e),css:T(o,e),materials:T(a,e),libraryExports:i,materialExports:u.dedupArray(m),materialMapLibrary:p,libraryMap:c,libraryLocaleMap:l}}function pe(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function K(n){return u.isString(n)?n:JSON.stringify(n)}function G(n,e,t){const s=n.CSSStyleSheet;if(s.prototype.replaceSync){const r=new s;r.id=e,r.replaceSync(t);const o=n.document,a=o.adoptedStyleSheets,i=Array.from(a).filter(c=>c.id!==e);o.adoptedStyleSheets=[...i,r]}else{const r=n.document;let o=r.getElementById(e);o?o.innerHTML=t:(o=r.createElement("style"),o.id=e,o.innerHTML=t,r.head.appendChild(o))}}async function fe(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&G(window,n,t)}function he(n,e=window){const t=e.document,s=e.document.head;for(const r of n)if(!t.getElementById(r)){const a=t.createElement("link");a.rel="stylesheet",a.id=r,a.href=r,s.appendChild(a)}}async function me(n,e,t=window){const s=t.document,r=t.document.head;let o=t[e];return o?o.default||o:new Promise((a,i)=>{for(const c of n){const l=s.createElement("script");l.src=c,l.onload=()=>{o=t[e],o?a(o.default||o):i(null)},l.onerror=m=>{i(m)},r.appendChild(l)}})}function ge(n){return u.isFunction(n)||u.isFunction(n?.install)}function ve(n){return ce.includes(n)}function ye(n){return ae.includes(n)}function x(n,e,t=!1,s=!1){try{const r=['"use strict";',"var __self = arguments[0];"];r.push("return ");let o=(n.value||"").trim();o=o.replace(/this(\W|$)/g,(i,c)=>`__self${c}`),o=r.join(`
|
8
|
+
`)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(r){if(u.logger.error("parseExpression.error",r,n,e?.__self??e),s)throw r}}function D(n,e,t=!1,s=!1){const r=x(n,e,t,s);if(typeof r!="function"&&(u.logger.error("parseFunction.error","not a function",n,e?.__self??e),s))throw new Error(`"${n.value}" not a function`);return r}function S(n){return n&&n.type==="JSExpression"}function A(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function _e(n){return S(n)||A(n)}function qe(n){return _e(n)?n.value:JSON.stringify(n)}let C=null;const Je=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 we(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?x(n.headers,{},!0):void 0,o={url:n.url,method:n.method,settings:{...n.settings,headers:r}};return(a,i)=>(delete o.data,s.send(u.merge(o,i||{},{data:a})))}}function Se(n,e){const{metaQuery:t}=e;if(!t)return;const{code:s,queryCode:r}=n;return(o,a)=>{if(!t){console.warn("adapter.metaQuery is not defined!");return}return t(s,r,o,a)}}function be(n=[],e=[],t){const s={};for(const r of n)s[r.id]=we(r,t);for(const r of e)s[r.id]=Se(r,t);return s}async function je(n=[]){P&&(W(),n.forEach(e=>$e(P,e)))}function Ee(n){const e=A(n.mockTemplate)&&n.mockTemplate.value?D(n.mockTemplate,{},!0):void 0;return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(r){u.logger.warn("模拟数据模版异常",r)}return P.mock(s)}}function $e(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=u.pathToRegexp(`${t}(.*)`),o=u.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=x(s,{},!0);n.mock(r,i=>{const c=u.url.parse(i.url)||{},l=i.body instanceof FormData?u.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:l,params:c,query:m}),n.mock(a(i))})}}function W(){P&&(P._mocked={})}const Ve={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},Y=Symbol("access");class ze{options;data=null;mode=_.Raw;constructor(e){this.options=Object.assign({},Ve,e),this.loadData()}connect(e){const{mode:t,router:s,request:r}=e;this.mode=t,s&&this.mode===_.Raw&&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&&(u.storage.save(t,e,{type:"local",prefix:s}),r&&u.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,u.storage.remove(e,{type:"local",prefix:t}),s&&u.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):u.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return u.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this),e.provide(Y,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=>u.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?u.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=u.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!u.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===R){const t=e.params.id;return t&&this.can(t)}return!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),u.isFunction(r)?(r(),t(!1)):u.isString(r)?t(r):t(!1)}}t(!1),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}=this.options;return e.status===t||e.data.code===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 t?(await u.delay(150),await t(e,{title:"提示",type:"warning"}).catch(()=>!1)):!1}setRequest(e){e.useRequest(t=>(this.data?.token&&(t.headers[this.options.authKey]=this.data?.token),t)),e.useResponse(async t=>(await this.showUnauthorizedAlert(t),t),async t=>{const s=t.response||t||{};return await this.showUnauthorizedAlert(s),Promise.reject(t)})}}function Pe(){return d.inject(Y,null)}class Ce{__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: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=B){const s=t.getCurrentInstance();if(!s)return;this.__refs={},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.__refs={},this.$refs={},this.__contextRefs={},this.context={}})}__proxy(){this.__instance&&z.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){z.forEach(e=>{this[e]=null})}__parseFunction(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return D({type:s,value:r},this)}else return D(e,this)}__parseExpression(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return x({type:s,value:r},this)}else return x(e,this)}__ref(e=null,t){if(this.__mode!==_.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await u.delay(0);let r=s?.$vtjEl||s?.$el||s?._?.vnode?.el||s;if(!r){typeof t=="string"&&(delete this.$refs[t],e&&delete this.__refs[e]);return}if(r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,_.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=s),typeof t=="function")t(s);else if(t){const o=this.$refs[t];if(o&&s!==o){const a=new Set([].concat(o,s));this.$refs[t]=Array.from(a)}else this.$refs[t]=s}return s}}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function H(n){const{Vue:e=B,mode:t=_.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),c={$components:s,$libs:r,$apis:o},l=new Ce({mode:t,dsl:i.value,attrs:c}),m=e.defineComponent({name:i.value.name,props:{...Ge(i.value.props??[],l)},setup(p){l.$props=p,l.props=p,i.value.id&&G(n.window||window,i.value.id,i.value.css||""),l.state=We(e,i.value.state??{},l);const f=Ye(e,i.value.computed??{},l),g=Qe(i.value.methods??{},l),v=Xe(e,i.value.inject,l),h=ke(i.value.dataSources||{},l),b={...v,...f,...g,...h};return l.setup(b,e),Ze(e,i.value.watch??[],l),{vtj:l}},emits:Ke(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const p=i.value.nodes||[];return p.length===1?O(p[0],l,e,a):p.map(f=>O(f,l,e,a))},...et(i.value.lifeCycles??{},l)});return{renderer:e.markRaw(m),context:l}}function Ke(n=[]){return n.map(e=>u.isString(e)?e:e.name)}function Ge(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>ie[o]):void 0;return n.map(s=>u.isString(s)?{name:s}:{name:s.name,type:s.type,required:s.required,default:S(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 We(n,e,t){return n.reactive(Object.keys(e||{}).reduce((s,r)=>{let o=e[r];return S(o)?o=t.__parseExpression(o):A(o)&&(o=t.__parseFunction(o)),s[r]=o,s},{}))}function Ye(n,e,t){return Object.entries(e??{}).reduce((s,[r,o])=>(s[r]=n.computed(t.__parseFunction(o)),s),{})}function Qe(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}function Xe(n,e=[],t){return e.reduce((s,r)=>{const{name:o,from:a}=r||{};r.default;const i=S(a)?t.__parseExpression(a)||o:a??o,c=S(r.default)?t.__parseExpression(r.default):r.default??null;return s[o]=n.inject(i,c),s},{})}function ke(n,e){return Object.keys(n).reduce((t,s)=>{const r=n[s];if(r.type==="mock")t[s]=Ee(r);else if(r.ref){const o=e.$apis[r.ref],a=A(r.transform)?r.transform.value?e.__parseFunction(r.transform):void 0:r.transform;t[s]=async(...i)=>{const c=await o.apply(e,i);return a?a(c):c}}return t},{})}function Ze(n,e=[],t){e.forEach(s=>{n.watch(t.__parseExpression(s.source),t.__parseFunction(s.handler),{deep:s.deep,immediate:s.immediate})})}function et(n,e){return Object.entries(n??{}).reduce((t,[s,r])=>(t[s]=e.__parseFunction(r),t),{})}let V=[];const Re=n=>n;async function Q(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>L(i));if(r.length===0||!s)return null;const o=t.filter(i=>U(i));return o.length&&he(o,e),await me(r,s,e).catch(i=>(console.warn("loadScriptUrl error",r,s,i),null))}function N(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(V.forEach(r=>{delete s.window[r]}),V=[]),(r,o,a=B)=>!o||typeof o=="string"?r:o.type==="Schema"&&o.id?a.defineAsyncComponent(async()=>{const i=await e(o.id);return i&&(i.name=r),i?H({...s,Vue:a,dsl:i,mode:_.Runtime,loader:N(n)}).renderer:null}):o.type==="UrlSchema"&&o.url?a.defineAsyncComponent(async()=>{const i=await t(o.url);return i&&(i.name=r),i?H({...s,Vue:a,dsl:i,mode:_.Runtime,loader:N(n)}).renderer:null}):o.type==="Plugin"?(o.library&&V.push(o.library),a.defineAsyncComponent(async()=>{const i=await Q(o,s.window);return i||(console.warn("getPlugin result is null",o),null)})):r}function O(n,e,t=B,s=Re){if(!n||!n.name||n.invisible)return null;const r=t.getCurrentInstance()?.appContext,{id:o=null,directives:a=[]}=n,{vIf:i,vFor:c,vShow:l,vModels:m,vBind:p,vHtml:f,others:g}=st(a);if(i&&!nt(i,e))return null;const v=h=>{const b=h.$components,y=(()=>{if(n.name==="component")return rt(h,n.props?.is);if(n.name==="slot")return n.name;const E=s(n.name,n.from,t);return u.isString(E)?ve(E)||ye(E)?E:b[E]??r?.app?.component(E)??E:E})(),j=ot(o,n.props??{},h),De=it(t,n.events??{},h);if(n.name==="slot")return at(t,n,j,h,s);p&&Object.assign(j,h.__parseExpression(p.value)),l&&(j.style=Object.assign(j.style??{},lt(l,h))),f&&Object.assign(j,ut(f,h)),m.forEach(E=>{Object.assign(j,dt(t,E,h))});const He=pt(t,n.children??[],h,s,n);let J=t.createVNode(y,{...j,...De},He);const se=r?tt(r,g,h):[];return se.length&&(J=t.withDirectives(J,se)),J};return c?mt(c,v,e):v(e)}function tt(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 a=[o];return r.value&&a.push(t.__parseExpression(r.value)),r.arg&&a.push(r.arg),r.modifiers&&a.push(r.modifiers),a}).filter(r=>!!r)}function st(n=[]){const e=n.find(c=>u.camelCase(c.name)==="vIf"),t=n.find(c=>u.camelCase(c.name)==="vFor"),s=n.find(c=>u.camelCase(c.name)==="vShow"),r=n.find(c=>u.camelCase(c.name)==="vBind"),o=n.find(c=>u.camelCase(c.name)==="vHtml"),a=n.filter(c=>u.camelCase(c.name)==="vModel"),i=n.filter(c=>!oe.includes(u.camelCase(c.name)));return{vIf:e,vFor:t,vShow:s,vModels:a,vBind:r,others:i,vHtml:o}}function nt(n,e){return!!e.__parseExpression(n.value)}function rt(n,e){return e?S(e)?n.__parseExpression(e):e:"div"}function ot(n,e,t){const s=Object.keys(e||{}).reduce((r,o)=>{let a=e[o];return S(a)?a=t.__parseExpression(a):A(a)&&(a=t.__parseFunction(a)),r[o]=a,r},{});return s.ref=t.__ref(n,s.ref),s}function it(n,e,t){const s=["passive","capture","once"],r={capture:"Capture",once:"Once",passive:"OnceCapture"};return Object.keys(e||{}).reduce((o,a)=>{const i=e[a],c=X(i.modifiers),l=c.find(f=>s.includes(f)),m="on"+u.upperFirst(a)+(l&&r[l]||""),p=t.__parseFunction(i.handler);return p&&(o[m]=n.withModifiers(p,c)),o},{})}function X(n={},e=!1){const t=Object.keys(n);return e?t.map(s=>"."+s):t}function at(n,e,t,s,r){const{children:o}=e,a=ct(e,s),i=s.$slots?.[a.name];return i?i(t):o?u.isString(o)?n.createTextVNode(o):S(o)?n.createTextVNode(K(s.__parseExpression(o))):Array.isArray(o)?o.map(c=>O(c,s,n,r)):null:null}function ct(n,e){const{props:t}=n,s=t?.name||"default";return{name:S(s)?e.__parseExpression(s):s,params:[]}}function lt(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function ut(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function dt(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
|
9
9
|
${e.value.value} = v;
|
10
|
-
}`:"(v) => {}"},r=t.__parseFunction(s),o=X(S(e.modifiers)?t.__parseExpression(e.modifiers):e.modifiers),a=S(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&r?n.withModifiers(r,o):r}}function
|
10
|
+
}`:"(v) => {}"},r=t.__parseFunction(s),o=X(S(e.modifiers)?t.__parseExpression(e.modifiers):e.modifiers),a=S(e.arg)?t.__parseExpression(e.arg):e.arg||"modelValue";return{[a]:t.__parseExpression(e.value),[`onUpdate:${a}`]:o.length&&r?n.withModifiers(r,o):r}}function pt(n,e,t,s,r){if(!e)return null;if(u.isString(e))return{default:()=>e};if(S(e))return{default:()=>K(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=ft(e),a=i=>!i||!r?{}:r?.id&&Object.keys(i).length?{[`scope_${r.id}`]:i}:{};return Object.entries(o).reduce((i,[c,{nodes:l,params:m}])=>(i[c]=p=>{const f=m.length?u.pick(p??{},m):a(p);return l.map(g=>O(g,t.__clone(f),n,s))},i),{})}return null}function ft(n){const e={default:{params:[],nodes:[]}};for(const t of n){const s=ht(t.slot),r=s.name;e[r]?(e[r].nodes.push(t),e[r].params=e[r].params.concat(s.params)):e[r]={nodes:[t],params:s.params}}return e}function ht(n="default"){return u.isString(n)?{name:n,params:[]}:{params:[],...n}}function mt(n,e,t){const{value:s,iterator:r}=n,{item:o="item",index:a="index"}=r||{};let i=t.__parseExpression(s)||[];return Number.isInteger(i)&&(i=new Array(i).fill(!0).map((c,l)=>l+1)),Array.isArray(i)?i.map((c,l)=>e(t.__clone({[o]:c,[a]:l}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}function gt(n){return d.getCurrentScope()?(d.onScopeDispose(n),!0):!1}const xe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const vt=n=>n!=null,yt=()=>{};function _t(n){return d.getCurrentInstance()}function wt(n){return Array.isArray(n)?n:[n]}function St(...n){if(n.length!==1)return d.toRef(...n);const e=n[0];return typeof e=="function"?d.readonly(d.customRef(()=>({get:e,set:yt}))):d.ref(e)}function bt(n,e){_t()&&d.onBeforeUnmount(n,e)}const jt=xe?window:void 0,Et=xe?window.document:void 0;function $t(n){var e;const t=d.toValue(n);return(e=t?.$el)!=null?e:t}function Pt(){const n=d.ref(!1),e=d.getCurrentInstance();return e&&d.onMounted(()=>{n.value=!0},e),n}function Ct(n){const e=Pt();return d.computed(()=>(e.value,!!n()))}function kt(n,e,t={}){const{window:s=jt,...r}=t;let o;const a=Ct(()=>s&&"MutationObserver"in s),i=()=>{o&&(o.disconnect(),o=void 0)},c=d.computed(()=>{const f=d.toValue(n),g=wt(f).map($t).filter(vt);return new Set(g)}),l=d.watch(()=>c.value,f=>{i(),a.value&&f.size&&(o=new MutationObserver(e),f.forEach(g=>o.observe(g,r)))},{immediate:!0,flush:"post"}),m=()=>o?.takeRecords(),p=()=>{l(),i()};return gt(p),{isSupported:a,stop:p,takeRecords:m}}function Rt(n=null,e={}){var t,s,r;const{document:o=Et,restoreOnUnmount:a=p=>p}=e,i=(t=o?.title)!=null?t:"",c=St((s=n??o?.title)!=null?s:null),l=n&&typeof n=="function";function m(p){if(!("titleTemplate"in e))return p;const f=e.titleTemplate||"%s";return typeof f=="function"?f(p):d.toValue(f).replace(/%s/g,p)}return d.watch(c,(p,f)=>{p!==f&&o&&(o.title=m(typeof p=="string"?p:""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!l&&kt((r=o.head)==null?void 0:r.querySelector("title"),()=>{o&&o.title!==c.value&&(c.value=m(o.title))},{childList:!0}),bt(()=>{if(a){const p=a(i,c.value||"");p!=null&&o&&(o.title=p)}}),c}const ne=d.defineComponent({name:"VtjPageContainer",async setup(){const n=ee(),e=re.useRoute(),t=e.params.id,s=t?n.getPage(t):n.getHomepage(),r=s?await n.getRenderComponent(s.id):null,o=d.ref(Symbol());return s&&(Object.assign(e.meta,s.meta||{},{cache:s.cache}),Rt(s.title||"VTJ")),{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?d.h(n,{...e,key:t}):d.h("div","页面不存在")},activated(){this.meta.cache===!1&&(this.sid=Symbol())}}),xt={"data-l-h6o7ki7":"",class:"vtj-startup__wrapper"},At={"data-l-h6o7ki7":"",class:"vtj-startup"},Tt={"data-l-h6o7ki7":"",class:"vtj-startup__name"},Mt={"data-l-h6o7ki7":""},Ft={"data-l-h6o7ki7":"",class:"vtj-startup__tagline"},Ot={"data-l-h6o7ki7":"",class:"vtj-startup__actions"},Ae=d.defineComponent({__name:"Startup",props:{name:{default:"VTJ.PRO"},tagline:{default:"基于 Vue3 + TypeScript 快速打造高生产力的低代码研发平台"},actionText:{default:"开始设计"},link:{}},setup(n){((r,o)=>{let a=document.getElementById("h6o7ki7");a||(a=document.createElement("style"),a.id="h6o7ki7",document.head.appendChild(a),a.innerHTML=o)})("h6o7ki7",`
|
11
11
|
.vtj-startup[data-l-h6o7ki7]{
|
12
12
|
padding: 20px;
|
13
13
|
border-radius: 4px;
|
@@ -72,4 +72,4 @@
|
|
72
72
|
}
|
73
73
|
.vtj-startup__actions button[data-l-h6o7ki7]:hover{
|
74
74
|
opacity: 0.7;
|
75
|
-
}`);const t=n,s=()=>{if(typeof window<"u"){if(t.link){typeof t.link=="function"?t.link():window.location.href=t.link;return}let o=(window.__VTJ_LINK__||{}).href||window.location.pathname+"__vtj__/#/";window.location.href=o}};return(r,o)=>(p.openBlock(),p.createElementBlock("div",xt,[p.createElementVNode("div",Tt,[p.createElementVNode("h1",At,[p.createElementVNode("span",Mt,p.toDisplayString(t.name),1)]),p.createElementVNode("div",Ft,p.toDisplayString(t.tagline),1),p.createElementVNode("div",Ot,[p.createElementVNode("button",{"data-l-h6o7ki7":"",onClick:s},p.toDisplayString(t.actionText),1)])])]))}}),It=p.defineComponent({name:"VtjStartupContainer",render(){return p.h(Ae)}}),ee=Symbol("Provider");var Me=(n=>(n.Production="production",n.Development="development",n))(Me||{});class Fe extends $.Base{constructor(e){super(),this.options=e;const{service:t,mode:s=_.Raw,dependencies:r,materials:o,project:a={},adapter:i={},globals:c={},modules:l={},router:m=null,materialPath:d="./",nodeEnv:f="development"}=e;this.mode=s,this.modules=l,this.service=t,this.router=m,this.materialPath=d,this.nodeEnv=f,r&&(this.dependencies=r),o&&(this.materials=o),Object.assign(this.globals,c),Object.assign(this.adapter,i);const{access:g,request:v}=this.adapter;g&&g.connect({mode:s,router:m,request:v}),a&&s!==_.Design?this.load(a):this.project=a,P.setup({timeout:"50-500"})}mode;globals={};modules={};adapter={request:Ve,jsonp:u.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};nodeEnv="development";router=null;materialPath="./";urlDslCaches={};createMock(e){return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(r){u.logger.warn("模拟数据模版异常",r)}return P.mock(s)}}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:s=[],meta:r=[]}=this.project,o=window;o.CKEDITOR_VERSION=void 0,this.mode===_.Raw?await this.loadDependencies(o):await this.loadAssets(o),this.apis=je(s,r,this.adapter),W(),Ee(s),this.initRouter(),this.triggerReady()}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:a,nodeEnv:i}=this,{libraryExports:c,libraryMap:l,materials:m,materialExports:d,materialMapLibrary:f}=pe(t,a,i==="development");for(const g of c){const v=s[g],h=e[g];if(h)r[g]=h;else if(v)e[g]=r[g]=await v();else{const b=l[g]||[];for(const y of b)U(y)&&await he(g,u.url.append(y,{v:k})),L(y)&&await u.loadScript(u.url.append(y,{v:k}));r[g]=e[g]}}if(i==="development"){for(const v of m)await u.loadScript(u.url.append(v,{v:k}));const g=this.materials||{};for(const v of d){const h=e[f[v]],b=$.BUILT_IN_COMPONENTS[v];if(b)h&&b.forEach(y=>{o[y]=h[y]});else{const y=g[v]?(await g[v]()).default:e[v];y&&h&&(y.components||[]).forEach(j=>{o[j.name]=fe(j,h)})}}}}initRouter(){const{router:e,project:t,options:s,adapter:r}=this;if(!e)return;const{routeAppendTo:o,pageRouteName:a="page",routeMeta:i}=s,c=o?"":"/",l={path:`${c}${a}/:id`,name:R,component:re},m={path:c,name:M,component:t?.homepage?re:r.startupComponent||It,meta:i};e.hasRoute(R)&&e.removeRoute(R),e.hasRoute(M)&&e.removeRoute(M),o?(e.addRoute(o,l),e.addRoute(o,m)):(e.addRoute(l),e.addRoute(m))}install(e){const t=e.config.globalProperties.installed||{};for(const[s,r]of Object.entries(this.library))!t[s]&&ve(r)&&(e.use(r),t[s]=!0);this.options.install&&e.use(this.options.install),this.adapter.access&&e.use(this.adapter.access),e.provide(ee,this),e.config.globalProperties.installed=t,this.mode===_.Design&&(e.config.errorHandler=(s,r,o)=>{const a=r?.$options.name,i=typeof s=="string"?s:s?.message||s?.msg||"未知错误",c=`[ ${a} ] ${i} ${o}`;console.error("[VTJ Error]:",{err:s,instance:r,info:o},s?.stack),F.ElNotification.error({title:"未处理的异常:请在控制台查看详情",message:c})})}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 a of o){if(a.id===r)return a;if(a.children&&a.children.length){const i=s(r,a.children);if(i)return i}}};return s(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,this.project||void 0).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(s=>s.data).catch(()=>null))}createDslRenderer(e,t={}){const{library:s,components:r,mode:o,apis:a}=this,i={mode:o,Vue:s.Vue,components:r,libs:s,apis:a,window,...t},c=N({getDsl:async l=>await this.getDsl(l)||null,getDslByUrl:async l=>await this.getDslByUrl(l)||null,options:i});return H({...i,dsl:e,loader:c})}async getRenderComponent(e,t){const s=this.getFile(e);if(!s)return u.logger.warn(`Can not find file: ${e}`),null;t&&t(s);const r=`.vtj/vue/${e}.vue`,o=this.modules[r];if(o)return(await o())?.default;const a=await this.getDsl(s.id);return a?this.createDslRenderer(a).renderer:(u.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return p.defineAsyncComponent(async()=>{const s=await this.getDslByUrl(e);return s?(s.name=t||s.name,this.createDslRenderer(s).renderer):null})}definePluginComponent(e){return p.defineAsyncComponent(async()=>await Q(e,window))}}function Dt(n){const e=new Fe(n);return{provider:e,onReady:s=>e.ready(s)}}function te(n={}){const e=p.inject(ee);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&&F.ElNotification.warning({title:r?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const se=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||"未知错误"})}}}),Ht=(n="/__vtj__/api/:type.json")=>(e,t)=>se.send({url:n,method:"post",params:{type:e},data:{type:e,data:t}}),Nt=(n="/__vtj__/api/uploader.json")=>async(e,t)=>await se.send({url:n,method:"post",data:{files:e,projectId:t},settings:{type:"data"}}).then(s=>s&&s[0]?s[0]:null).catch(()=>null);class q{api;pluginCaches={};uploader;constructor(){this.api=Ht(),this.uploader=Nt()}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,s=t.filter(o=>ue(o))[0];if(!s)return null;const r=this.pluginCaches[s];return r||(this.pluginCaches[s]=se.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 w=new u.Storage({type:"local",expired:0,prefix:"__VTJ_"});class Bt extends q{init(e){const t=new $.ProjectModel(e),s=w.get(`project_${t.id}`),r=Object.assign(t.toDsl(),s||{});return w.save(`project_${t.id}`,r),Promise.resolve(r)}saveProject(e){const t=new $.ProjectModel(e);return w.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return w.save(`materials_${e.id}`,u.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return w.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=w.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return w.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return w.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=w.get(`history_${e}`);if(t){const r=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,r),w.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=w.get(`history_${e}`),s=new $.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=w.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return w.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{w.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class Oe extends q{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new $.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 $.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 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 $.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 I=null;function Ut(){return I||(I=new Oe,I)}class Lt extends q{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 Ie(n,e,t=[]){return t.map(s=>{const{id:r,title:o,icon:a,children:i,hidden:c}=s;return{id:r,title:o,icon:a,hidden:c,url:`${n}/${e}/${r}`,children:i&&i.length?Ie(n,e,i):void 0}})}function De(n,e){if(!e)return n;let t=[];for(const s of n)if(s.children&&s.children.length){const r=De(s.children,e);r.length&&(s.children=r,t.push(s))}else e.can(s.id.toString())&&t.push(s);return t}function qt(n){const{menuPathPrefix:e="",pageRouteName:t="page",disableMenusFilter:s=!1}=n||{},r=te(),o=oe.useRoute(),a=Ce(),i=p.ref(!1),c=p.ref(!1),l=r.project;p.watchEffect(()=>{const{name:f,params:g,meta:v}=o;if(f===R){const h=r.getPage(g.id);i.value=!h?.mask,c.value=!!h?.pure}else if(f===M){const h=r.getHomepage();i.value=!h?.mask,c.value=!!h?.pure}else i.value=!v.mask,c.value=!!v.pure});const m=Ie(e,t,l?.pages),d=l?.config;return{disabled:i,logo:d?.logo,themeSwitchable:d?.themeSwitchable,title:d?.title||l?.description||l?.name||"VTJ App",menus:s?m:De(m,a),pure:c}}exports.ACCESS_KEY=Y;exports.Access=Ke;exports.BUILD_IN_TAGS=le;exports.BUILT_IN_DIRECTIVES=ie;exports.BaseService=q;exports.CONTEXT_HOST=z;exports.Context=ke;exports.ContextMode=_;exports.DATA_TYPES=ae;exports.HOMEPAGE_ROUTE_NAME=M;exports.HTML_TAGS=ce;exports.JSCodeToString=Je;exports.LIFE_CYCLES_LIST=Ue;exports.LocalService=Lt;exports.MemoryService=Oe;exports.NodeEnv=Me;exports.PAGE_ROUTE_NAME=R;exports.Provider=Fe;exports.Startup=Ae;exports.StorageService=Bt;exports.VTJ_RENDERER_VERSION=k;exports.adoptedStyleSheets=G;exports.createAssetScripts=Le;exports.createAssetsCss=qe;exports.createDataSources=Re;exports.createLoader=N;exports.createMemoryService=Ut;exports.createMetaApi=be;exports.createMock=$e;exports.createProvider=Dt;exports.createRenderer=H;exports.createSchemaApi=Se;exports.createSchemaApis=je;exports.defaultLoader=xe;exports.fillBasePath=A;exports.getModifiers=X;exports.getPlugin=Q;exports.getRawComponent=fe;exports.isBuiltInTag=ye;exports.isCSSUrl=U;exports.isJSCode=we;exports.isJSExpression=S;exports.isJSFunction=T;exports.isJSON=ue;exports.isJSUrl=L;exports.isNativeTag=_e;exports.isVuePlugin=ve;exports.loadCss=he;exports.loadCssUrl=me;exports.loadScriptUrl=ge;exports.mockApi=Pe;exports.mockApis=Ee;exports.mockCleanup=W;exports.nodeRender=O;exports.parseDeps=pe;exports.parseExpression=x;exports.parseFunction=D;exports.providerKey=ee;exports.removeProdFlag=de;exports.toString=K;exports.useAccess=Ce;exports.useMask=qt;exports.useProvider=te;
|
75
|
+
}`);const t=n,s=()=>{if(typeof window<"u"){if(t.link){typeof t.link=="function"?t.link():window.location.href=t.link;return}let o=(window.__VTJ_LINK__||{}).href||window.location.pathname+"__vtj__/#/";window.location.href=o}};return(r,o)=>(d.openBlock(),d.createElementBlock("div",xt,[d.createElementVNode("div",At,[d.createElementVNode("h1",Tt,[d.createElementVNode("span",Mt,d.toDisplayString(t.name),1)]),d.createElementVNode("div",Ft,d.toDisplayString(t.tagline),1),d.createElementVNode("div",Ot,[d.createElementVNode("button",{"data-l-h6o7ki7":"",onClick:s},d.toDisplayString(t.actionText),1)])])]))}}),It=d.defineComponent({name:"VtjStartupContainer",render(){return d.h(Ae)}}),Z=Symbol("Provider");var Te=(n=>(n.Production="production",n.Development="development",n))(Te||{});class Me extends $.Base{constructor(e){super(),this.options=e;const{service:t,mode:s=_.Raw,dependencies:r,materials:o,project:a={},adapter:i={},globals:c={},modules:l={},router:m=null,materialPath:p="./",nodeEnv:f="development"}=e;this.mode=s,this.modules=l,this.service=t,this.router=m,this.materialPath=p,this.nodeEnv=f,r&&(this.dependencies=r),o&&(this.materials=o),Object.assign(this.globals,c),Object.assign(this.adapter,i);const{access:g,request:v}=this.adapter;g&&g.connect({mode:s,router:m,request:v}),a&&s!==_.Design?this.load(a):this.project=a,P.setup({timeout:"50-500"})}mode;globals={};modules={};adapter={request:Je,jsonp:u.jsonp};apis={};dependencies={};materials={};library={};service;project=null;components={};nodeEnv="development";router=null;materialPath="./";urlDslCaches={};createMock(e){return async(...t)=>{let s={};if(e)try{s=await e.apply(e,t)}catch(r){u.logger.warn("模拟数据模版异常",r)}return P.mock(s)}}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:s=[],meta:r=[]}=this.project,o=window;o.CKEDITOR_VERSION=void 0,this.mode===_.Raw?await this.loadDependencies(o):await this.loadAssets(o),this.apis=be(s,r,this.adapter),W(),je(s),this.initRouter(),this.triggerReady()}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:a,nodeEnv:i}=this,{libraryExports:c,libraryMap:l,materials:m,materialExports:p,materialMapLibrary:f}=de(t,a,i==="development");for(const g of c){const v=s[g],h=e[g];if(h)r[g]=h;else if(v)e[g]=r[g]=await v();else{const b=l[g]||[];for(const y of b)U(y)&&await fe(g,u.url.append(y,{v:k})),L(y)&&await u.loadScript(u.url.append(y,{v:k}));r[g]=e[g]}}if(i==="development"){for(const v of m)await u.loadScript(u.url.append(v,{v:k}));const g=this.materials||{};for(const v of p){const h=e[f[v]],b=$.BUILT_IN_COMPONENTS[v];if(b)h&&b.forEach(y=>{o[y]=h[y]});else{const y=g[v]?(await g[v]()).default:e[v];y&&h&&(y.components||[]).forEach(j=>{o[j.name]=pe(j,h)})}}}}initRouter(){const{router:e,project:t,options:s,adapter:r}=this;if(!e)return;const{routeAppendTo:o,pageRouteName:a="page",routeMeta:i}=s,c=o?"":"/",l={path:`${c}${a}/:id`,name:R,component:ne},m={path:c,name:M,component:t?.homepage?ne:r.startupComponent||It,meta:i};e.hasRoute(R)&&e.removeRoute(R),e.hasRoute(M)&&e.removeRoute(M),o?(e.addRoute(o,l),e.addRoute(o,m)):(e.addRoute(l),e.addRoute(m))}install(e){const t=e.config.globalProperties.installed||{};for(const[s,r]of Object.entries(this.library))!t[s]&&ge(r)&&(e.use(r),t[s]=!0);this.options.install&&e.use(this.options.install),this.adapter.access&&e.use(this.adapter.access),e.provide(Z,this),e.config.globalProperties.installed=t,this.mode===_.Design&&(e.config.errorHandler=(s,r,o)=>{const a=r?.$options.name,i=typeof s=="string"?s:s?.message||s?.msg||"未知错误",c=`[ ${a} ] ${i} ${o}`;console.error("[VTJ Error]:",{err:s,instance:r,info:o},s?.stack),F.ElNotification.error({title:"未处理的异常:请在控制台查看详情",message:c})})}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 a of o){if(a.id===r)return a;if(a.children&&a.children.length){const i=s(r,a.children);if(i)return i}}};return s(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,this.project||void 0).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(s=>s.data).catch(()=>null))}createDslRenderer(e,t={}){const{library:s,components:r,mode:o,apis:a}=this,i={mode:o,Vue:s.Vue,components:r,libs:s,apis:a,window,...t},c=N({getDsl:async l=>await this.getDsl(l)||null,getDslByUrl:async l=>await this.getDslByUrl(l)||null,options:i});return H({...i,dsl:e,loader:c})}async getRenderComponent(e,t){const s=this.getFile(e);if(!s)return u.logger.warn(`Can not find file: ${e}`),null;t&&t(s);const r=`.vtj/vue/${e}.vue`,o=this.modules[r];if(o)return(await o())?.default;const a=await this.getDsl(s.id);return a?this.createDslRenderer(a).renderer:(u.logger.warn(`Can not find dsl: ${e}`),null)}defineUrlSchemaComponent(e,t){return d.defineAsyncComponent(async()=>{const s=await this.getDslByUrl(e);return s?(s.name=t||s.name,this.createDslRenderer(s).renderer):null})}definePluginComponent(e){return d.defineAsyncComponent(async()=>await Q(e,window))}}function Dt(n){const e=new Me(n);return{provider:e,onReady:s=>e.ready(s)}}function ee(n={}){const e=d.inject(Z);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&&F.ElNotification.warning({title:r?.name,message:"当前组件源码版本与运行时版本不一致,请重新发布组件"})})()}return e}const te=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||"未知错误"})}}}),Ht=(n="/__vtj__/api/:type.json")=>(e,t)=>te.send({url:n,method:"post",params:{type:e},data:{type:e,data:t}}),Nt=(n="/__vtj__/api/uploader.json")=>async(e,t)=>await te.send({url:n,method:"post",data:{files:e,projectId:t},settings:{type:"data"}}).then(s=>s&&s[0]?s[0]:null).catch(()=>null);class q{api;pluginCaches={};uploader;constructor(){this.api=Ht(),this.uploader=Nt()}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,s=t.filter(o=>le(o))[0];if(!s)return null;const r=this.pluginCaches[s];return r||(this.pluginCaches[s]=te.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 w=new u.Storage({type:"local",expired:0,prefix:"__VTJ_"});class Bt extends q{init(e){const t=new $.ProjectModel(e),s=w.get(`project_${t.id}`),r=Object.assign(t.toDsl(),s||{});return w.save(`project_${t.id}`,r),Promise.resolve(r)}saveProject(e){const t=new $.ProjectModel(e);return w.save(`project_${t.id}`,t.toDsl()),Promise.resolve(!0)}saveMaterials(e,t){return w.save(`materials_${e.id}`,u.mapToObject(t)),Promise.resolve(!0)}saveFile(e){return w.save(`file_${e.id}`,e),Promise.resolve(!0)}getFile(e){const t=w.get(`file_${e}`);return t?Promise.resolve(t):Promise.reject(null)}removeFile(e){return w.remove(`file_${e}`),Promise.resolve(!0)}saveHistory(e){return w.save(`history_${e.id}`,e),Promise.resolve(!0)}removeHistory(e){const t=w.get(`history_${e}`);if(t){const r=(t.items||[]).map(o=>o.id);this.removeHistoryItem(e,r),w.remove(`history_${e}`)}return Promise.resolve(!0)}getHistory(e){const t=w.get(`history_${e}`),s=new $.HistoryModel(t||{id:e});return Promise.resolve(s.toDsl())}getHistoryItem(e,t){const s=w.get(`history_${e}_${t}`);return Promise.resolve(s)}saveHistoryItem(e,t){return w.save(`history_${e}_${t.id}`,t),Promise.resolve(!0)}removeHistoryItem(e,t){return t.forEach(s=>{w.remove(`history_${e}_${s}`)}),Promise.resolve(!0)}}class Fe extends q{projects={};materials={};files={};histories={};historyItems={};init(e){const t=new $.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 $.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 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 $.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 I=null;function Ut(){return I||(I=new Fe,I)}class Lt extends q{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 Oe(n,e,t=[]){return t.map(s=>{const{id:r,title:o,icon:a,children:i,hidden:c}=s;return{id:r,title:o,icon:a,hidden:c,url:`${n}/${e}/${r}`,children:i&&i.length?Oe(n,e,i):void 0}})}function Ie(n,e){if(!e)return n;let t=[];for(const s of n)if(s.children&&s.children.length){const r=Ie(s.children,e);r.length&&(s.children=r,t.push(s))}else e.can(s.id.toString())&&t.push(s);return t}function qt(n){const{menuPathPrefix:e="",pageRouteName:t="page",disableMenusFilter:s=!1}=n||{},r=ee(),o=re.useRoute(),a=Pe(),i=d.ref(!1),c=d.ref(!1),l=r.project;d.watchEffect(()=>{const{name:f,params:g,meta:v}=o;if(f===R){const h=r.getPage(g.id);i.value=!h?.mask,c.value=!!h?.pure}else if(f===M){const h=r.getHomepage();i.value=!h?.mask,c.value=!!h?.pure}else i.value=!v.mask,c.value=!!v.pure});const m=Oe(e,t,l?.pages),p=l?.config;return{disabled:i,logo:p?.logo,themeSwitchable:p?.themeSwitchable,title:p?.title||l?.description||l?.name||"VTJ App",menus:s?m:Ie(m,a),pure:c}}exports.ACCESS_KEY=Y;exports.Access=ze;exports.BUILD_IN_TAGS=ce;exports.BUILT_IN_DIRECTIVES=oe;exports.BaseService=q;exports.CONTEXT_HOST=z;exports.Context=Ce;exports.ContextMode=_;exports.DATA_TYPES=ie;exports.HOMEPAGE_ROUTE_NAME=M;exports.HTML_TAGS=ae;exports.JSCodeToString=qe;exports.LIFE_CYCLES_LIST=Be;exports.LocalService=Lt;exports.MemoryService=Fe;exports.NodeEnv=Te;exports.PAGE_ROUTE_NAME=R;exports.Provider=Me;exports.Startup=Ae;exports.StorageService=Bt;exports.VTJ_RENDERER_VERSION=k;exports.adoptedStyleSheets=G;exports.createAssetScripts=Ue;exports.createAssetsCss=Le;exports.createDataSources=ke;exports.createLoader=N;exports.createMemoryService=Ut;exports.createMetaApi=Se;exports.createMock=Ee;exports.createProvider=Dt;exports.createRenderer=H;exports.createSchemaApi=we;exports.createSchemaApis=be;exports.defaultLoader=Re;exports.fillBasePath=T;exports.getModifiers=X;exports.getPlugin=Q;exports.getRawComponent=pe;exports.isBuiltInTag=ve;exports.isCSSUrl=U;exports.isJSCode=_e;exports.isJSExpression=S;exports.isJSFunction=A;exports.isJSON=le;exports.isJSUrl=L;exports.isNativeTag=ye;exports.isVuePlugin=ge;exports.loadCss=fe;exports.loadCssUrl=he;exports.loadScriptUrl=me;exports.mockApi=$e;exports.mockApis=je;exports.mockCleanup=W;exports.nodeRender=O;exports.parseDeps=de;exports.parseExpression=x;exports.parseFunction=D;exports.providerKey=Z;exports.removeProdFlag=ue;exports.toString=K;exports.useAccess=Pe;exports.useMask=qt;exports.useProvider=ee;
|
package/dist/index.mjs
CHANGED
@@ -1,18 +1,18 @@
|
|
1
|
-
import { Base as
|
1
|
+
import { Base as Ae, BUILT_IN_COMPONENTS as Te, ProjectModel as O, HistoryModel as de } from "@vtj/core";
|
2
2
|
import { isUrl as Ie, url as P, dedupArray as Me, isString as j, isFunction as K, logger as x, createRequest as De, merge as He, pathToRegexp as Oe, pathToRegexpMatch as Be, formDataToJson as Ne, storage as q, cookie as J, toArray as ie, unRSA as ae, delay as fe, camelCase as $, upperFirst as Ue, pick as Le, jsonp as qe, loadScript as ce, Request as Je, Storage as Ve, mapToObject as X } from "@vtj/utils";
|
3
3
|
import * as N from "vue";
|
4
|
-
import { inject as he, toRef as ze, readonly as Ke, customRef as We, ref as
|
5
|
-
import { ElNotification as U, ElLoading as
|
4
|
+
import { inject as he, toRef as ze, readonly as Ke, customRef as We, ref as A, onBeforeUnmount as Ge, getCurrentScope as Ye, onScopeDispose as Qe, getCurrentInstance as me, watch as ge, computed as ve, toValue as Z, onMounted as Xe, defineComponent as ee, h as W, openBlock as Ze, createElementBlock as et, createElementVNode as k, toDisplayString as V, defineAsyncComponent as le, watchEffect as tt } from "vue";
|
5
|
+
import { ElNotification as U, ElLoading as st } from "element-plus";
|
6
6
|
import E from "mockjs";
|
7
7
|
import { useRoute as ye } from "vue-router";
|
8
8
|
/**!
|
9
|
-
* Copyright (c)
|
9
|
+
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
10
10
|
* @name @vtj/renderer
|
11
11
|
* @author CHC chenhuachun1549@dingtalk.com
|
12
|
-
* @version 0.9.
|
12
|
+
* @version 0.9.5
|
13
13
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
14
14
|
*/
|
15
|
-
const C = "0.9.
|
15
|
+
const C = "0.9.5";
|
16
16
|
var y = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(y || {});
|
17
17
|
const ue = [
|
18
18
|
"$el",
|
@@ -26,7 +26,7 @@ const ue = [
|
|
26
26
|
"$props",
|
27
27
|
"$options",
|
28
28
|
"$forceUpdate"
|
29
|
-
],
|
29
|
+
], As = [
|
30
30
|
"beforeCreate",
|
31
31
|
"created",
|
32
32
|
"beforeMount",
|
@@ -40,14 +40,14 @@ const ue = [
|
|
40
40
|
"renderTriggered",
|
41
41
|
"activated",
|
42
42
|
"deactivated"
|
43
|
-
],
|
43
|
+
], nt = [
|
44
44
|
"vIf",
|
45
45
|
"vShow",
|
46
46
|
"vModel",
|
47
47
|
"vFor",
|
48
48
|
"vBind",
|
49
49
|
"vHtml"
|
50
|
-
],
|
50
|
+
], rt = {
|
51
51
|
String,
|
52
52
|
Number,
|
53
53
|
Boolean,
|
@@ -55,22 +55,22 @@ const ue = [
|
|
55
55
|
Object,
|
56
56
|
Function,
|
57
57
|
Date
|
58
|
-
}, F = "VtjPage", H = "VtjHomepage",
|
58
|
+
}, F = "VtjPage", H = "VtjHomepage", ot = "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".split(
|
59
59
|
","
|
60
|
-
),
|
60
|
+
), it = "component,slot".split(",");
|
61
61
|
function M(n, e) {
|
62
62
|
return n.map((t) => Ie(t) || t.startsWith("/") ? t : `${e}${t}`);
|
63
63
|
}
|
64
|
-
function
|
64
|
+
function te(n) {
|
65
65
|
return /\.css$/.test(n);
|
66
66
|
}
|
67
|
-
function
|
67
|
+
function se(n) {
|
68
68
|
return /\.js$/.test(n);
|
69
69
|
}
|
70
|
-
function
|
70
|
+
function at(n) {
|
71
71
|
return /\.json$/.test(n);
|
72
72
|
}
|
73
|
-
function
|
73
|
+
function Ts(n) {
|
74
74
|
return n.map(
|
75
75
|
(e) => `<script src="${P.append(e, { v: C })}"><\/script>`
|
76
76
|
).join("");
|
@@ -80,15 +80,15 @@ function Is(n = []) {
|
|
80
80
|
(e) => `<link rel="stylesheet" href="${P.append(e, { v: C })}" />`
|
81
81
|
).join("");
|
82
82
|
}
|
83
|
-
function
|
83
|
+
function ct(n, e = !1) {
|
84
84
|
return e && n.endsWith(".prod.js") ? n.replace(".prod.js", ".js") : n;
|
85
85
|
}
|
86
|
-
function
|
86
|
+
function lt(n, e, t = !1) {
|
87
87
|
const s = n.filter((p) => !!p.enabled), r = [], o = [], a = [], i = [], c = {}, l = {}, f = [], u = {};
|
88
88
|
return s.forEach(
|
89
89
|
({ urls: p, assetsUrl: h, library: m, assetsLibrary: d, localeLibrary: w }) => {
|
90
90
|
p?.forEach((g) => {
|
91
|
-
|
91
|
+
se(g) && r.push(ct(g, t)), te(g) && o.push(g);
|
92
92
|
}), m && (i.push(m), c[m] = M(p || [], e), w && (l[m] = w)), h && a.push(h), d && f.push(d), m && d && (u[d] = m);
|
93
93
|
}
|
94
94
|
), {
|
@@ -102,7 +102,7 @@ function ut(n, e, t = !1) {
|
|
102
102
|
libraryLocaleMap: l
|
103
103
|
};
|
104
104
|
}
|
105
|
-
function
|
105
|
+
function ut(n, e) {
|
106
106
|
const { name: t, parent: s, alias: r } = n;
|
107
107
|
return s ? e[s]?.[r || t] : e[r || t];
|
108
108
|
}
|
@@ -124,11 +124,11 @@ function we(n, e, t) {
|
|
124
124
|
o ? o.innerHTML = t : (o = r.createElement("style"), o.id = e, o.innerHTML = t, r.head.appendChild(o));
|
125
125
|
}
|
126
126
|
}
|
127
|
-
async function
|
127
|
+
async function pt(n, e) {
|
128
128
|
const t = await window.fetch(e).then((s) => s.text()).catch(() => "");
|
129
129
|
t && we(window, n, t);
|
130
130
|
}
|
131
|
-
function
|
131
|
+
function dt(n, e = window) {
|
132
132
|
const t = e.document, s = e.document.head;
|
133
133
|
for (const r of n)
|
134
134
|
if (!t.getElementById(r)) {
|
@@ -136,7 +136,7 @@ function ft(n, e = window) {
|
|
136
136
|
a.rel = "stylesheet", a.id = r, a.href = r, s.appendChild(a);
|
137
137
|
}
|
138
138
|
}
|
139
|
-
async function
|
139
|
+
async function ft(n, e, t = window) {
|
140
140
|
const s = t.document, r = t.document.head;
|
141
141
|
let o = t[e];
|
142
142
|
return o ? o.default || o : new Promise((a, i) => {
|
@@ -150,16 +150,16 @@ async function ht(n, e, t = window) {
|
|
150
150
|
}
|
151
151
|
});
|
152
152
|
}
|
153
|
-
function
|
153
|
+
function ht(n) {
|
154
154
|
return K(n) || K(n?.install);
|
155
155
|
}
|
156
|
-
function
|
157
|
-
return at.includes(n);
|
158
|
-
}
|
159
|
-
function vt(n) {
|
156
|
+
function mt(n) {
|
160
157
|
return it.includes(n);
|
161
158
|
}
|
162
|
-
function
|
159
|
+
function gt(n) {
|
160
|
+
return ot.includes(n);
|
161
|
+
}
|
162
|
+
function T(n, e, t = !1, s = !1) {
|
163
163
|
try {
|
164
164
|
const r = ['"use strict";', "var __self = arguments[0];"];
|
165
165
|
r.push("return ");
|
@@ -174,7 +174,7 @@ function A(n, e, t = !1, s = !1) {
|
|
174
174
|
}
|
175
175
|
}
|
176
176
|
function G(n, e, t = !1, s = !1) {
|
177
|
-
const r =
|
177
|
+
const r = T(n, e, t, s);
|
178
178
|
if (typeof r != "function" && (x.error(
|
179
179
|
"parseFunction.error",
|
180
180
|
"not a function",
|
@@ -190,14 +190,14 @@ function _(n) {
|
|
190
190
|
function I(n) {
|
191
191
|
return typeof n == "object" && n && n.type === "JSFunction";
|
192
192
|
}
|
193
|
-
function
|
193
|
+
function vt(n) {
|
194
194
|
return _(n) || I(n);
|
195
195
|
}
|
196
196
|
function Ms(n) {
|
197
|
-
return
|
197
|
+
return vt(n) ? n.value : JSON.stringify(n);
|
198
198
|
}
|
199
199
|
let R = null;
|
200
|
-
const
|
200
|
+
const yt = De({
|
201
201
|
settings: {
|
202
202
|
type: "form",
|
203
203
|
validSuccess: !0,
|
@@ -211,7 +211,7 @@ const _t = De({
|
|
211
211
|
});
|
212
212
|
},
|
213
213
|
showLoading: () => {
|
214
|
-
R && R.close(), R =
|
214
|
+
R && R.close(), R = st.service({
|
215
215
|
lock: !0,
|
216
216
|
text: "Loading",
|
217
217
|
background: "rgba(0, 0, 0, 0.05)"
|
@@ -222,7 +222,7 @@ const _t = De({
|
|
222
222
|
}
|
223
223
|
}
|
224
224
|
});
|
225
|
-
function
|
225
|
+
function _t(n, e) {
|
226
226
|
const { jsonp: t, request: s } = e;
|
227
227
|
if (n.method === "jsonp")
|
228
228
|
return (r = {}) => t(n.url, {
|
@@ -230,7 +230,7 @@ function wt(n, e) {
|
|
230
230
|
query: r
|
231
231
|
});
|
232
232
|
{
|
233
|
-
const r = n.headers ?
|
233
|
+
const r = n.headers ? T(n.headers, {}, !0) : void 0, o = {
|
234
234
|
url: n.url,
|
235
235
|
method: n.method,
|
236
236
|
settings: {
|
@@ -241,7 +241,7 @@ function wt(n, e) {
|
|
241
241
|
return (a, i) => (delete o.data, s.send(He(o, i || {}, { data: a })));
|
242
242
|
}
|
243
243
|
}
|
244
|
-
function
|
244
|
+
function wt(n, e) {
|
245
245
|
const { metaQuery: t } = e;
|
246
246
|
if (!t) return;
|
247
247
|
const { code: s, queryCode: r } = n;
|
@@ -253,18 +253,18 @@ function St(n, e) {
|
|
253
253
|
return t(s, r, o, a);
|
254
254
|
};
|
255
255
|
}
|
256
|
-
function
|
256
|
+
function St(n = [], e = [], t) {
|
257
257
|
const s = {};
|
258
258
|
for (const r of n)
|
259
|
-
s[r.id] =
|
259
|
+
s[r.id] = _t(r, t);
|
260
260
|
for (const r of e)
|
261
|
-
s[r.id] =
|
261
|
+
s[r.id] = wt(r, t);
|
262
262
|
return s;
|
263
263
|
}
|
264
|
-
async function
|
265
|
-
E && (Se(), n.forEach((e) =>
|
264
|
+
async function bt(n = []) {
|
265
|
+
E && (Se(), n.forEach((e) => $t(E, e)));
|
266
266
|
}
|
267
|
-
function
|
267
|
+
function jt(n) {
|
268
268
|
const e = I(n.mockTemplate) && n.mockTemplate.value ? G(n.mockTemplate, {}, !0) : void 0;
|
269
269
|
return async (...t) => {
|
270
270
|
let s = {};
|
@@ -277,11 +277,11 @@ function $t(n) {
|
|
277
277
|
return E.mock(s);
|
278
278
|
};
|
279
279
|
}
|
280
|
-
function
|
280
|
+
function $t(n, e) {
|
281
281
|
if (!e.mock) return;
|
282
282
|
const { url: t, mockTemplate: s } = e;
|
283
283
|
if (t && s) {
|
284
|
-
const r = Oe(`${t}(.*)`), o = Be(t, { decode: decodeURIComponent }), a =
|
284
|
+
const r = Oe(`${t}(.*)`), o = Be(t, { decode: decodeURIComponent }), a = T(s, {}, !0);
|
285
285
|
n.mock(r, (i) => {
|
286
286
|
const c = P.parse(i.url) || {}, l = i.body instanceof FormData ? Ne(i.body) : i.body, f = o(i.url)?.params;
|
287
287
|
return Object.assign(i, { data: l, params: c, query: f }), n.mock(a(i));
|
@@ -291,7 +291,7 @@ function Et(n, e) {
|
|
291
291
|
function Se() {
|
292
292
|
E && (E._mocked = {});
|
293
293
|
}
|
294
|
-
const
|
294
|
+
const Et = {
|
295
295
|
session: !1,
|
296
296
|
authKey: "Authorization",
|
297
297
|
storageKey: "ACCESS_STORAGE",
|
@@ -309,7 +309,7 @@ class Ds {
|
|
309
309
|
data = null;
|
310
310
|
mode = y.Raw;
|
311
311
|
constructor(e) {
|
312
|
-
this.options = Object.assign({},
|
312
|
+
this.options = Object.assign({}, Et, e), this.loadData();
|
313
313
|
}
|
314
314
|
connect(e) {
|
315
315
|
const { mode: t, router: s, request: r } = e;
|
@@ -445,10 +445,10 @@ class Ds {
|
|
445
445
|
);
|
446
446
|
}
|
447
447
|
}
|
448
|
-
function
|
448
|
+
function kt() {
|
449
449
|
return he(be, null);
|
450
450
|
}
|
451
|
-
class
|
451
|
+
class Rt {
|
452
452
|
__id = null;
|
453
453
|
__mode;
|
454
454
|
__instance = null;
|
@@ -512,9 +512,9 @@ class Pt {
|
|
512
512
|
if (e)
|
513
513
|
if (this.__mode === y.Runtime) {
|
514
514
|
const { id: t, type: s } = e, r = t ? this.__transform[t] ?? e.value : e.value;
|
515
|
-
return
|
515
|
+
return T({ type: s, value: r }, this);
|
516
516
|
} else
|
517
|
-
return
|
517
|
+
return T(e, this);
|
518
518
|
}
|
519
519
|
__ref(e = null, t) {
|
520
520
|
if (this.__mode !== y.VNode)
|
@@ -558,22 +558,22 @@ function Y(n) {
|
|
558
558
|
$components: s,
|
559
559
|
$libs: r,
|
560
560
|
$apis: o
|
561
|
-
}, l = new
|
561
|
+
}, l = new Rt({
|
562
562
|
mode: t,
|
563
563
|
dsl: i.value,
|
564
564
|
attrs: c
|
565
565
|
}), f = e.defineComponent({
|
566
566
|
name: i.value.name,
|
567
567
|
props: {
|
568
|
-
...
|
568
|
+
...xt(i.value.props ?? [], l)
|
569
569
|
},
|
570
570
|
setup(u) {
|
571
571
|
l.$props = u, l.props = u, i.value.id && we(
|
572
572
|
n.window || window,
|
573
573
|
i.value.id,
|
574
574
|
i.value.css || ""
|
575
|
-
), l.state =
|
576
|
-
const p =
|
575
|
+
), l.state = Ct(e, i.value.state ?? {}, l);
|
576
|
+
const p = Ft(e, i.value.computed ?? {}, l), h = At(i.value.methods ?? {}, l), m = Tt(e, i.value.inject, l), d = It(
|
577
577
|
i.value.dataSources || {},
|
578
578
|
l
|
579
579
|
), w = {
|
@@ -582,29 +582,29 @@ function Y(n) {
|
|
582
582
|
...h,
|
583
583
|
...d
|
584
584
|
};
|
585
|
-
return l.setup(w, e),
|
585
|
+
return l.setup(w, e), Mt(e, i.value.watch ?? [], l), {
|
586
586
|
vtj: l
|
587
587
|
};
|
588
588
|
},
|
589
|
-
emits:
|
589
|
+
emits: Pt(i.value.emits),
|
590
590
|
expose: ["vtj"],
|
591
591
|
render() {
|
592
592
|
if (!i.value.nodes) return null;
|
593
593
|
const u = i.value.nodes || [];
|
594
594
|
return u.length === 1 ? B(u[0], l, e, a) : u.map((p) => B(p, l, e, a));
|
595
595
|
},
|
596
|
-
...
|
596
|
+
...Dt(i.value.lifeCycles ?? {}, l)
|
597
597
|
});
|
598
598
|
return {
|
599
599
|
renderer: e.markRaw(f),
|
600
600
|
context: l
|
601
601
|
};
|
602
602
|
}
|
603
|
-
function
|
603
|
+
function Pt(n = []) {
|
604
604
|
return n.map((e) => j(e) ? e : e.name);
|
605
605
|
}
|
606
|
-
function
|
607
|
-
const t = (s) => s ? (Array.isArray(s) ? s : [s]).map((o) =>
|
606
|
+
function xt(n = [], e) {
|
607
|
+
const t = (s) => s ? (Array.isArray(s) ? s : [s]).map((o) => rt[o]) : void 0;
|
608
608
|
return n.map((s) => j(s) ? {
|
609
609
|
name: s
|
610
610
|
} : {
|
@@ -621,7 +621,7 @@ function Ct(n = [], e) {
|
|
621
621
|
{}
|
622
622
|
);
|
623
623
|
}
|
624
|
-
function
|
624
|
+
function Ct(n, e, t) {
|
625
625
|
return n.reactive(
|
626
626
|
Object.keys(e || {}).reduce(
|
627
627
|
(s, r) => {
|
@@ -632,7 +632,7 @@ function Ft(n, e, t) {
|
|
632
632
|
)
|
633
633
|
);
|
634
634
|
}
|
635
|
-
function
|
635
|
+
function Ft(n, e, t) {
|
636
636
|
return Object.entries(e ?? {}).reduce(
|
637
637
|
(s, [r, o]) => (s[r] = n.computed(t.__parseFunction(o)), s),
|
638
638
|
{}
|
@@ -644,7 +644,7 @@ function At(n, e) {
|
|
644
644
|
{}
|
645
645
|
);
|
646
646
|
}
|
647
|
-
function
|
647
|
+
function Tt(n, e = [], t) {
|
648
648
|
return e.reduce(
|
649
649
|
(s, r) => {
|
650
650
|
const { name: o, from: a } = r || {};
|
@@ -655,12 +655,12 @@ function It(n, e = [], t) {
|
|
655
655
|
{}
|
656
656
|
);
|
657
657
|
}
|
658
|
-
function
|
658
|
+
function It(n, e) {
|
659
659
|
return Object.keys(n).reduce(
|
660
660
|
(t, s) => {
|
661
661
|
const r = n[s];
|
662
662
|
if (r.type === "mock")
|
663
|
-
t[s] =
|
663
|
+
t[s] = jt(r);
|
664
664
|
else if (r.ref) {
|
665
665
|
const o = e.$apis[r.ref], a = I(r.transform) ? r.transform.value ? e.__parseFunction(r.transform) : void 0 : r.transform;
|
666
666
|
t[s] = async (...i) => {
|
@@ -673,7 +673,7 @@ function Mt(n, e) {
|
|
673
673
|
{}
|
674
674
|
);
|
675
675
|
}
|
676
|
-
function
|
676
|
+
function Mt(n, e = [], t) {
|
677
677
|
e.forEach((s) => {
|
678
678
|
n.watch(
|
679
679
|
t.__parseExpression(s.source),
|
@@ -685,19 +685,19 @@ function Dt(n, e = [], t) {
|
|
685
685
|
);
|
686
686
|
});
|
687
687
|
}
|
688
|
-
function
|
688
|
+
function Dt(n, e) {
|
689
689
|
return Object.entries(n ?? {}).reduce(
|
690
690
|
(t, [s, r]) => (t[s] = e.__parseFunction(r), t),
|
691
691
|
{}
|
692
692
|
);
|
693
693
|
}
|
694
694
|
let z = [];
|
695
|
-
const
|
695
|
+
const Ht = (n) => n;
|
696
696
|
async function je(n, e = window) {
|
697
|
-
const { urls: t = [], library: s } = n, r = t.filter((i) =>
|
697
|
+
const { urls: t = [], library: s } = n, r = t.filter((i) => se(i));
|
698
698
|
if (r.length === 0 || !s) return null;
|
699
|
-
const o = t.filter((i) =>
|
700
|
-
return o.length &&
|
699
|
+
const o = t.filter((i) => te(i));
|
700
|
+
return o.length && dt(o, e), await ft(r, s, e).catch(
|
701
701
|
(i) => (console.warn("loadScriptUrl error", r, s, i), null)
|
702
702
|
);
|
703
703
|
}
|
@@ -728,28 +728,28 @@ function Q(n) {
|
|
728
728
|
return i || (console.warn("getPlugin result is null", o), null);
|
729
729
|
})) : r;
|
730
730
|
}
|
731
|
-
function B(n, e, t = N, s =
|
731
|
+
function B(n, e, t = N, s = Ht) {
|
732
732
|
if (!n || !n.name || n.invisible) return null;
|
733
|
-
const r = t.getCurrentInstance()?.appContext, { id: o = null, directives: a = [] } = n, { vIf: i, vFor: c, vShow: l, vModels: f, vBind: u, vHtml: p, others: h } =
|
734
|
-
if (i && !
|
733
|
+
const r = t.getCurrentInstance()?.appContext, { id: o = null, directives: a = [] } = n, { vIf: i, vFor: c, vShow: l, vModels: f, vBind: u, vHtml: p, others: h } = Bt(a);
|
734
|
+
if (i && !Nt(i, e))
|
735
735
|
return null;
|
736
736
|
const m = (d) => {
|
737
737
|
const w = d.$components, g = (() => {
|
738
738
|
if (n.name === "component")
|
739
|
-
return
|
739
|
+
return Ut(d, n.props?.is);
|
740
740
|
if (n.name === "slot") return n.name;
|
741
741
|
const b = s(n.name, n.from, t);
|
742
|
-
return j(b) ?
|
743
|
-
})(), S =
|
742
|
+
return j(b) ? mt(b) || gt(b) ? b : w[b] ?? r?.app?.component(b) ?? b : b;
|
743
|
+
})(), S = Lt(o, n.props ?? {}, d), Ce = qt(t, n.events ?? {}, d);
|
744
744
|
if (n.name === "slot")
|
745
|
-
return
|
745
|
+
return Jt(t, n, S, d, s);
|
746
746
|
u && Object.assign(S, d.__parseExpression(u.value)), l && (S.style = Object.assign(
|
747
747
|
S.style ?? {},
|
748
|
-
|
749
|
-
)), p && Object.assign(S,
|
750
|
-
Object.assign(S,
|
748
|
+
zt(l, d)
|
749
|
+
)), p && Object.assign(S, Kt(p, d)), f.forEach((b) => {
|
750
|
+
Object.assign(S, Wt(t, b, d));
|
751
751
|
});
|
752
|
-
const Fe =
|
752
|
+
const Fe = Gt(
|
753
753
|
t,
|
754
754
|
n.children ?? [],
|
755
755
|
d,
|
@@ -757,12 +757,12 @@ function B(n, e, t = N, s = Ot) {
|
|
757
757
|
n
|
758
758
|
);
|
759
759
|
let L = t.createVNode(g, { ...S, ...Ce }, Fe);
|
760
|
-
const oe = r ?
|
760
|
+
const oe = r ? Ot(r, h, d) : [];
|
761
761
|
return oe.length && (L = t.withDirectives(L, oe)), L;
|
762
762
|
};
|
763
|
-
return c ?
|
763
|
+
return c ? Xt(c, m, e) : m(e);
|
764
764
|
}
|
765
|
-
function
|
765
|
+
function Ot(n, e, t) {
|
766
766
|
const s = n.app;
|
767
767
|
return e.map((r) => {
|
768
768
|
const o = typeof r.name == "string" ? s.directive(r.name) : t.__parseExpression(r.name);
|
@@ -771,11 +771,11 @@ function Bt(n, e, t) {
|
|
771
771
|
return r.value && a.push(t.__parseExpression(r.value)), r.arg && a.push(r.arg), r.modifiers && a.push(r.modifiers), a;
|
772
772
|
}).filter((r) => !!r);
|
773
773
|
}
|
774
|
-
function
|
774
|
+
function Bt(n = []) {
|
775
775
|
const e = n.find((c) => $(c.name) === "vIf"), t = n.find((c) => $(c.name) === "vFor"), s = n.find((c) => $(c.name) === "vShow"), r = n.find((c) => $(c.name) === "vBind"), o = n.find((c) => $(c.name) === "vHtml"), a = n.filter(
|
776
776
|
(c) => $(c.name) === "vModel"
|
777
777
|
), i = n.filter(
|
778
|
-
(c) => !
|
778
|
+
(c) => !nt.includes($(c.name))
|
779
779
|
);
|
780
780
|
return {
|
781
781
|
vIf: e,
|
@@ -787,13 +787,13 @@ function Nt(n = []) {
|
|
787
787
|
vHtml: o
|
788
788
|
};
|
789
789
|
}
|
790
|
-
function
|
790
|
+
function Nt(n, e) {
|
791
791
|
return !!e.__parseExpression(n.value);
|
792
792
|
}
|
793
|
-
function
|
793
|
+
function Ut(n, e) {
|
794
794
|
return e ? _(e) ? n.__parseExpression(e) : e : "div";
|
795
795
|
}
|
796
|
-
function
|
796
|
+
function Lt(n, e, t) {
|
797
797
|
const s = Object.keys(e || {}).reduce(
|
798
798
|
(r, o) => {
|
799
799
|
let a = e[o];
|
@@ -803,7 +803,7 @@ function qt(n, e, t) {
|
|
803
803
|
);
|
804
804
|
return s.ref = t.__ref(n, s.ref), s;
|
805
805
|
}
|
806
|
-
function
|
806
|
+
function qt(n, e, t) {
|
807
807
|
const s = ["passive", "capture", "once"], r = {
|
808
808
|
capture: "Capture",
|
809
809
|
once: "Once",
|
@@ -821,32 +821,32 @@ function $e(n = {}, e = !1) {
|
|
821
821
|
const t = Object.keys(n);
|
822
822
|
return e ? t.map((s) => "." + s) : t;
|
823
823
|
}
|
824
|
-
function
|
825
|
-
const { children: o } = e, a =
|
824
|
+
function Jt(n, e, t, s, r) {
|
825
|
+
const { children: o } = e, a = Vt(e, s), i = s.$slots?.[a.name];
|
826
826
|
return i ? i(t) : o ? j(o) ? n.createTextVNode(o) : _(o) ? n.createTextVNode(
|
827
827
|
_e(s.__parseExpression(o))
|
828
828
|
) : Array.isArray(o) ? o.map(
|
829
829
|
(c) => B(c, s, n, r)
|
830
830
|
) : null : null;
|
831
831
|
}
|
832
|
-
function
|
832
|
+
function Vt(n, e) {
|
833
833
|
const { props: t } = n, s = t?.name || "default";
|
834
834
|
return {
|
835
835
|
name: _(s) ? e.__parseExpression(s) : s,
|
836
836
|
params: []
|
837
837
|
};
|
838
838
|
}
|
839
|
-
function
|
839
|
+
function zt(n, e) {
|
840
840
|
return e.__parseExpression(n.value) ? {} : {
|
841
841
|
display: "none"
|
842
842
|
};
|
843
843
|
}
|
844
|
-
function
|
844
|
+
function Kt(n, e) {
|
845
845
|
return {
|
846
846
|
innerHTML: e.__parseExpression(n.value) || ""
|
847
847
|
};
|
848
848
|
}
|
849
|
-
function
|
849
|
+
function Wt(n, e, t) {
|
850
850
|
const s = {
|
851
851
|
type: "JSFunction",
|
852
852
|
value: e.value?.value ? `(v) => {
|
@@ -860,7 +860,7 @@ function Gt(n, e, t) {
|
|
860
860
|
[`onUpdate:${a}`]: o.length && r ? n.withModifiers(r, o) : r
|
861
861
|
};
|
862
862
|
}
|
863
|
-
function
|
863
|
+
function Gt(n, e, t, s, r) {
|
864
864
|
if (!e) return null;
|
865
865
|
if (j(e))
|
866
866
|
return { default: () => e };
|
@@ -869,7 +869,7 @@ function Yt(n, e, t, s, r) {
|
|
869
869
|
default: () => _e(t.__parseExpression(e))
|
870
870
|
};
|
871
871
|
if (Array.isArray(e) && e.length > 0) {
|
872
|
-
const o =
|
872
|
+
const o = Yt(e), a = (i) => !i || !r ? {} : r?.id && Object.keys(i).length ? {
|
873
873
|
[`scope_${r.id}`]: i
|
874
874
|
} : {};
|
875
875
|
return Object.entries(o).reduce((i, [c, { nodes: l, params: f }]) => (i[c] = (u) => {
|
@@ -881,7 +881,7 @@ function Yt(n, e, t, s, r) {
|
|
881
881
|
}
|
882
882
|
return null;
|
883
883
|
}
|
884
|
-
function
|
884
|
+
function Yt(n) {
|
885
885
|
const e = {
|
886
886
|
default: {
|
887
887
|
params: [],
|
@@ -889,7 +889,7 @@ function Qt(n) {
|
|
889
889
|
}
|
890
890
|
};
|
891
891
|
for (const t of n) {
|
892
|
-
const s =
|
892
|
+
const s = Qt(t.slot), r = s.name;
|
893
893
|
e[r] ? (e[r].nodes.push(t), e[r].params = e[r].params.concat(s.params)) : e[r] = {
|
894
894
|
nodes: [t],
|
895
895
|
params: s.params
|
@@ -897,45 +897,45 @@ function Qt(n) {
|
|
897
897
|
}
|
898
898
|
return e;
|
899
899
|
}
|
900
|
-
function
|
900
|
+
function Qt(n = "default") {
|
901
901
|
return j(n) ? { name: n, params: [] } : { params: [], ...n };
|
902
902
|
}
|
903
|
-
function
|
903
|
+
function Xt(n, e, t) {
|
904
904
|
const { value: s, iterator: r } = n, { item: o = "item", index: a = "index" } = r || {};
|
905
905
|
let i = t.__parseExpression(s) || [];
|
906
906
|
return Number.isInteger(i) && (i = new Array(i).fill(!0).map((c, l) => l + 1)), Array.isArray(i) ? i.map((c, l) => e(t.__clone({ [o]: c, [a]: l }))) : (console.warn("[vForRender]:", `${s?.value} is not a Arrary`), []);
|
907
907
|
}
|
908
|
-
function
|
908
|
+
function Zt(n) {
|
909
909
|
return Ye() ? (Qe(n), !0) : !1;
|
910
910
|
}
|
911
|
-
function se(n) {
|
912
|
-
return typeof n == "function" ? n() : Xe(n);
|
913
|
-
}
|
914
911
|
const Ee = typeof window < "u" && typeof document < "u";
|
915
912
|
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
916
|
-
const
|
913
|
+
const es = (n) => n != null, ts = () => {
|
917
914
|
};
|
918
|
-
function
|
915
|
+
function ss(n) {
|
919
916
|
return me();
|
920
917
|
}
|
918
|
+
function ns(n) {
|
919
|
+
return Array.isArray(n) ? n : [n];
|
920
|
+
}
|
921
921
|
function rs(...n) {
|
922
922
|
if (n.length !== 1)
|
923
923
|
return ze(...n);
|
924
924
|
const e = n[0];
|
925
|
-
return typeof e == "function" ? Ke(We(() => ({ get: e, set:
|
925
|
+
return typeof e == "function" ? Ke(We(() => ({ get: e, set: ts }))) : A(e);
|
926
926
|
}
|
927
927
|
function os(n, e) {
|
928
|
-
|
928
|
+
ss() && Ge(n, e);
|
929
929
|
}
|
930
930
|
const is = Ee ? window : void 0, as = Ee ? window.document : void 0;
|
931
931
|
function cs(n) {
|
932
932
|
var e;
|
933
|
-
const t =
|
933
|
+
const t = Z(n);
|
934
934
|
return (e = t?.$el) != null ? e : t;
|
935
935
|
}
|
936
936
|
function ls() {
|
937
|
-
const n =
|
938
|
-
return e &&
|
937
|
+
const n = A(!1), e = me();
|
938
|
+
return e && Xe(() => {
|
939
939
|
n.value = !0;
|
940
940
|
}, e), n;
|
941
941
|
}
|
@@ -949,7 +949,7 @@ function ps(n, e, t = {}) {
|
|
949
949
|
const a = us(() => s && "MutationObserver" in s), i = () => {
|
950
950
|
o && (o.disconnect(), o = void 0);
|
951
951
|
}, c = ve(() => {
|
952
|
-
const p =
|
952
|
+
const p = Z(n), h = ns(p).map(cs).filter(es);
|
953
953
|
return new Set(h);
|
954
954
|
}), l = ge(
|
955
955
|
() => c.value,
|
@@ -960,7 +960,7 @@ function ps(n, e, t = {}) {
|
|
960
960
|
), f = () => o?.takeRecords(), u = () => {
|
961
961
|
l(), i();
|
962
962
|
};
|
963
|
-
return
|
963
|
+
return Zt(u), {
|
964
964
|
isSupported: a,
|
965
965
|
stop: u,
|
966
966
|
takeRecords: f
|
@@ -976,7 +976,7 @@ function ds(n = null, e = {}) {
|
|
976
976
|
if (!("titleTemplate" in e))
|
977
977
|
return u;
|
978
978
|
const p = e.titleTemplate || "%s";
|
979
|
-
return typeof p == "function" ? p(u) :
|
979
|
+
return typeof p == "function" ? p(u) : Z(p).replace(/%s/g, u);
|
980
980
|
}
|
981
981
|
return ge(
|
982
982
|
c,
|
@@ -997,10 +997,10 @@ function ds(n = null, e = {}) {
|
|
997
997
|
}
|
998
998
|
}), c;
|
999
999
|
}
|
1000
|
-
const pe =
|
1000
|
+
const pe = ee({
|
1001
1001
|
name: "VtjPageContainer",
|
1002
1002
|
async setup() {
|
1003
|
-
const n = Re(), e = ye(), t = e.params.id, s = t ? n.getPage(t) : n.getHomepage(), r = s ? await n.getRenderComponent(s.id) : null, o =
|
1003
|
+
const n = Re(), e = ye(), t = e.params.id, s = t ? n.getPage(t) : n.getHomepage(), r = s ? await n.getRenderComponent(s.id) : null, o = A(Symbol());
|
1004
1004
|
return s && (Object.assign(e.meta, s.meta || {}, { cache: s.cache }), ds(s.title || "VTJ")), {
|
1005
1005
|
provider: n,
|
1006
1006
|
component: r,
|
@@ -1033,7 +1033,7 @@ const pe = Z({
|
|
1033
1033
|
}, ys = {
|
1034
1034
|
"data-l-h6o7ki7": "",
|
1035
1035
|
class: "vtj-startup__actions"
|
1036
|
-
}, _s = /* @__PURE__ */
|
1036
|
+
}, _s = /* @__PURE__ */ ee({
|
1037
1037
|
__name: "Startup",
|
1038
1038
|
props: {
|
1039
1039
|
name: { default: "VTJ.PRO" },
|
@@ -1121,7 +1121,7 @@ const pe = Z({
|
|
1121
1121
|
window.location.href = o;
|
1122
1122
|
}
|
1123
1123
|
};
|
1124
|
-
return (r, o) => (
|
1124
|
+
return (r, o) => (Ze(), et("div", fs, [
|
1125
1125
|
k("div", hs, [
|
1126
1126
|
k("h1", ms, [
|
1127
1127
|
k("span", gs, V(t.name), 1)
|
@@ -1136,14 +1136,14 @@ const pe = Z({
|
|
1136
1136
|
])
|
1137
1137
|
]));
|
1138
1138
|
}
|
1139
|
-
}), ws =
|
1139
|
+
}), ws = ee({
|
1140
1140
|
name: "VtjStartupContainer",
|
1141
1141
|
render() {
|
1142
1142
|
return W(_s);
|
1143
1143
|
}
|
1144
1144
|
}), ke = Symbol("Provider");
|
1145
1145
|
var Ss = /* @__PURE__ */ ((n) => (n.Production = "production", n.Development = "development", n))(Ss || {});
|
1146
|
-
class bs extends
|
1146
|
+
class bs extends Ae {
|
1147
1147
|
constructor(e) {
|
1148
1148
|
super(), this.options = e;
|
1149
1149
|
const {
|
@@ -1169,7 +1169,7 @@ class bs extends Te {
|
|
1169
1169
|
mode;
|
1170
1170
|
globals = {};
|
1171
1171
|
modules = {};
|
1172
|
-
adapter = { request:
|
1172
|
+
adapter = { request: yt, jsonp: qe };
|
1173
1173
|
apis = {};
|
1174
1174
|
// public createMock: typeof createMock = createMock;
|
1175
1175
|
dependencies = {};
|
@@ -1199,7 +1199,7 @@ class bs extends Te {
|
|
1199
1199
|
if (this.project = t ? await t() : await this.service.init(e), !this.project)
|
1200
1200
|
throw new Error("project is null");
|
1201
1201
|
const { apis: s = [], meta: r = [] } = this.project, o = window;
|
1202
|
-
o.CKEDITOR_VERSION = void 0, this.mode === y.Raw ? await this.loadDependencies(o) : await this.loadAssets(o), this.apis =
|
1202
|
+
o.CKEDITOR_VERSION = void 0, this.mode === y.Raw ? await this.loadDependencies(o) : await this.loadAssets(o), this.apis = St(s, r, this.adapter), Se(), bt(s), this.initRouter(), this.triggerReady();
|
1203
1203
|
}
|
1204
1204
|
async loadDependencies(e) {
|
1205
1205
|
const t = Object.entries(this.dependencies);
|
@@ -1213,7 +1213,7 @@ class bs extends Te {
|
|
1213
1213
|
materials: f,
|
1214
1214
|
materialExports: u,
|
1215
1215
|
materialMapLibrary: p
|
1216
|
-
} =
|
1216
|
+
} = lt(
|
1217
1217
|
t,
|
1218
1218
|
a,
|
1219
1219
|
i === "development"
|
@@ -1228,7 +1228,7 @@ class bs extends Te {
|
|
1228
1228
|
else {
|
1229
1229
|
const w = l[h] || [];
|
1230
1230
|
for (const g of w)
|
1231
|
-
|
1231
|
+
te(g) && await pt(h, P.append(g, { v: C })), se(g) && await ce(P.append(g, { v: C }));
|
1232
1232
|
r[h] = e[h];
|
1233
1233
|
}
|
1234
1234
|
}
|
@@ -1237,7 +1237,7 @@ class bs extends Te {
|
|
1237
1237
|
await ce(P.append(m, { v: C }));
|
1238
1238
|
const h = this.materials || {};
|
1239
1239
|
for (const m of u) {
|
1240
|
-
const d = e[p[m]], w =
|
1240
|
+
const d = e[p[m]], w = Te[m];
|
1241
1241
|
if (w)
|
1242
1242
|
d && w.forEach((g) => {
|
1243
1243
|
o[g] = d[g];
|
@@ -1245,7 +1245,7 @@ class bs extends Te {
|
|
1245
1245
|
else {
|
1246
1246
|
const g = h[m] ? (await h[m]()).default : e[m];
|
1247
1247
|
g && d && (g.components || []).forEach((S) => {
|
1248
|
-
o[S.name] =
|
1248
|
+
o[S.name] = ut(S, d);
|
1249
1249
|
});
|
1250
1250
|
}
|
1251
1251
|
}
|
@@ -1269,7 +1269,7 @@ class bs extends Te {
|
|
1269
1269
|
install(e) {
|
1270
1270
|
const t = e.config.globalProperties.installed || {};
|
1271
1271
|
for (const [s, r] of Object.entries(this.library))
|
1272
|
-
!t[s] &&
|
1272
|
+
!t[s] && ht(r) && (e.use(r), t[s] = !0);
|
1273
1273
|
this.options.install && e.use(this.options.install), this.adapter.access && e.use(this.adapter.access), e.provide(ke, this), e.config.globalProperties.installed = t, this.mode === y.Design && (e.config.errorHandler = (s, r, o) => {
|
1274
1274
|
const a = r?.$options.name, i = typeof s == "string" ? s : s?.message || s?.msg || "未知错误", c = `[ ${a} ] ${i} ${o}`;
|
1275
1275
|
console.error(
|
@@ -1497,7 +1497,7 @@ class re {
|
|
1497
1497
|
return await this.api("clearStaticFiles", e).catch(() => "");
|
1498
1498
|
}
|
1499
1499
|
async getPluginMaterial(e) {
|
1500
|
-
const { urls: t = [] } = e, s = t.filter((o) =>
|
1500
|
+
const { urls: t = [] } = e, s = t.filter((o) => at(o))[0];
|
1501
1501
|
if (!s) return null;
|
1502
1502
|
const r = this.pluginCaches[s];
|
1503
1503
|
return r || (this.pluginCaches[s] = ne.send({
|
@@ -1713,8 +1713,8 @@ function Us(n) {
|
|
1713
1713
|
menuPathPrefix: e = "",
|
1714
1714
|
pageRouteName: t = "page",
|
1715
1715
|
disableMenusFilter: s = !1
|
1716
|
-
} = n || {}, r = Re(), o = ye(), a =
|
1717
|
-
|
1716
|
+
} = n || {}, r = Re(), o = ye(), a = kt(), i = A(!1), c = A(!1), l = r.project;
|
1717
|
+
tt(() => {
|
1718
1718
|
const { name: p, params: h, meta: m } = o;
|
1719
1719
|
if (p === F) {
|
1720
1720
|
const d = r.getPage(h.id);
|
@@ -1742,17 +1742,17 @@ function Us(n) {
|
|
1742
1742
|
export {
|
1743
1743
|
be as ACCESS_KEY,
|
1744
1744
|
Ds as Access,
|
1745
|
-
|
1746
|
-
|
1745
|
+
it as BUILD_IN_TAGS,
|
1746
|
+
nt as BUILT_IN_DIRECTIVES,
|
1747
1747
|
re as BaseService,
|
1748
1748
|
ue as CONTEXT_HOST,
|
1749
|
-
|
1749
|
+
Rt as Context,
|
1750
1750
|
y as ContextMode,
|
1751
|
-
|
1751
|
+
rt as DATA_TYPES,
|
1752
1752
|
H as HOMEPAGE_ROUTE_NAME,
|
1753
|
-
|
1753
|
+
ot as HTML_TAGS,
|
1754
1754
|
Ms as JSCodeToString,
|
1755
|
-
|
1755
|
+
As as LIFE_CYCLES_LIST,
|
1756
1756
|
Ns as LocalService,
|
1757
1757
|
Es as MemoryService,
|
1758
1758
|
Ss as NodeEnv,
|
@@ -1762,45 +1762,45 @@ export {
|
|
1762
1762
|
Os as StorageService,
|
1763
1763
|
C as VTJ_RENDERER_VERSION,
|
1764
1764
|
we as adoptedStyleSheets,
|
1765
|
-
|
1765
|
+
Ts as createAssetScripts,
|
1766
1766
|
Is as createAssetsCss,
|
1767
|
-
|
1767
|
+
It as createDataSources,
|
1768
1768
|
Q as createLoader,
|
1769
1769
|
Bs as createMemoryService,
|
1770
|
-
|
1771
|
-
|
1770
|
+
wt as createMetaApi,
|
1771
|
+
jt as createMock,
|
1772
1772
|
Hs as createProvider,
|
1773
1773
|
Y as createRenderer,
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1774
|
+
_t as createSchemaApi,
|
1775
|
+
St as createSchemaApis,
|
1776
|
+
Ht as defaultLoader,
|
1777
1777
|
M as fillBasePath,
|
1778
1778
|
$e as getModifiers,
|
1779
1779
|
je as getPlugin,
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1780
|
+
ut as getRawComponent,
|
1781
|
+
mt as isBuiltInTag,
|
1782
|
+
te as isCSSUrl,
|
1783
|
+
vt as isJSCode,
|
1784
1784
|
_ as isJSExpression,
|
1785
1785
|
I as isJSFunction,
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1786
|
+
at as isJSON,
|
1787
|
+
se as isJSUrl,
|
1788
|
+
gt as isNativeTag,
|
1789
|
+
ht as isVuePlugin,
|
1790
|
+
pt as loadCss,
|
1791
|
+
dt as loadCssUrl,
|
1792
|
+
ft as loadScriptUrl,
|
1793
|
+
$t as mockApi,
|
1794
|
+
bt as mockApis,
|
1795
1795
|
Se as mockCleanup,
|
1796
1796
|
B as nodeRender,
|
1797
|
-
|
1798
|
-
|
1797
|
+
lt as parseDeps,
|
1798
|
+
T as parseExpression,
|
1799
1799
|
G as parseFunction,
|
1800
1800
|
ke as providerKey,
|
1801
|
-
|
1801
|
+
ct as removeProdFlag,
|
1802
1802
|
_e as toString,
|
1803
|
-
|
1803
|
+
kt as useAccess,
|
1804
1804
|
Us as useMask,
|
1805
1805
|
Re as useProvider
|
1806
1806
|
};
|
package/package.json
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vtj/renderer",
|
3
3
|
"private": false,
|
4
|
-
"version": "0.9.
|
4
|
+
"version": "0.9.5",
|
5
5
|
"type": "module",
|
6
6
|
"dependencies": {
|
7
7
|
"mockjs": "~1.1.0",
|
8
|
-
"@vtj/core": "~0.9.
|
9
|
-
"@vtj/utils": "~0.9.
|
8
|
+
"@vtj/core": "~0.9.5",
|
9
|
+
"@vtj/utils": "~0.9.5"
|
10
10
|
},
|
11
11
|
"devDependencies": {
|
12
12
|
"vue": "~3.5.5",
|
13
13
|
"vue-router": "~4.5.0",
|
14
|
-
"@vtj/
|
15
|
-
"@vtj/icons": "~0.9.
|
16
|
-
"@vtj/
|
14
|
+
"@vtj/ui": "~0.9.5",
|
15
|
+
"@vtj/icons": "~0.9.5",
|
16
|
+
"@vtj/cli": "~0.9.3"
|
17
17
|
},
|
18
18
|
"exports": {
|
19
19
|
".": {
|
@@ -9,5 +9,5 @@ declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsM
|
|
9
9
|
name: string;
|
10
10
|
tagline: string;
|
11
11
|
actionText: string;
|
12
|
-
}, {}, {}, {}, string, ComponentProvideOptions, false, {},
|
12
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
13
13
|
export default _default;
|
package/types/version.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/**!
|
2
|
-
* Copyright (c)
|
2
|
+
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.9.
|
5
|
+
* @version 0.9.4
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
7
|
*/
|
8
|
-
export declare const version = "0.9.
|
8
|
+
export declare const version = "0.9.4";
|