@vtj/renderer 0.10.8 → 0.10.9
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 +3 -3
- package/dist/index.mjs +3 -3
- package/package.json +5 -5
- package/types/version.d.ts +2 -2
package/dist/index.cjs
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.10.
|
5
|
+
* @version 0.10.9
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
|
-
*/const z="0.10.
|
8
|
-
`)+o;const a=`with(${t?"{}":"$scope || {}"}) { ${o} }`;return new Function("$scope",a)(e)}catch(r){if(l.logger.error("parseExpression.error",r,n,e?.__self??e),s)throw r}}function O(n,e,t=!1,s=!1){const r=C(n,e,t,s);if(typeof r!="function"&&(l.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 x(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function ye(n){return S(n)||x(n)}function Je(n){return ye(n)?n.value:JSON.stringify(n)}const Ve={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},W=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&&(l.storage.save(t,e,{type:"local",prefix:s}),r&&l.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,l.storage.remove(e,{type:"local",prefix:t}),s&&l.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):l.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return l.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this,e.provide(W,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=>l.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?l.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=l.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!l.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===P){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),l.isFunction(r)?(r(),t(!1)):l.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 l.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 _e(){return d.inject(W,null)}function Ke(n={}){const{notify:e,loading:t,settings:s={}}=n;let r=null;return{request:l.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:a=>a.data?.code===0||!!a.data?.success,failMessage:!0,showError:a=>{e&&e(a||"未知错误")},showLoading:()=>{r&&r.close(),t&&(r=t())},hideLoading:()=>{r&&(r.close(),r=null)},...s}}),jsonp:l.jsonp,notify:e,loading:t}}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?C(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(l.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=[],e=window){const t=R(e);t&&(Y(e),n.forEach(s=>ke(t,s)))}function Ee(n,e=window){const t=x(n.mockTemplate)&&n.mockTemplate.value?O(n.mockTemplate,{},!0):void 0,s=R(e);return async(...r)=>{let o={};if(t)try{o=await t.apply(t,r)}catch(a){l.logger.warn("模拟数据模版异常",a)}return s?.mock(o)}}function ke(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=l.pathToRegexp(`${t}(.*)`),o=l.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=C(s,{},!0);n.mock(r,i=>{const c=l.url.parse(i.url)||{},u=i.body instanceof FormData?l.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:u,params:c,query:m}),n.mock(a(i))})}}function Y(n=window){const e=R(n);e&&(e._mocked={})}class $e{__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=H){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.__reset()})}__proxy(){this.__instance&&J.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){J.forEach(e=>{this[e]=null}),this.__reset()}__reset(){this.__refs={},this.$refs={},this.__contextRefs={},this.context={}}__parseFunction(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return O({type:s,value:r},this)}else return O(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 C({type:s,value:r},this)}else return C(e,this)}__ref(e=null,t){if(this.__mode!==_.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await l.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}return r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,_.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=this.__getRefEl(this.__refs,e,s)),typeof t=="function"?t(s):t&&(this.$refs[t]=this.__getRefEl(this.$refs,t,s)),s}}__getRefEl(e,t,s){const r=e[t];if(r&&s!==r){const o=new Set([].concat(r,s));return Array.from(o)}else return s}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function I(n){const{Vue:e=H,mode:t=_.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),c={$components:s,$libs:r,$apis:o},u=new $e({mode:t,dsl:i.value,attrs:c}),m=e.defineComponent({name:i.value.name,props:{...We(i.value.props??[],u)},setup(p){u.$props=p,u.props=p,i.value.id&&G(n.window||window,i.value.id,i.value.css||""),u.state=Ye(e,i.value.state??{},u);const f=Qe(e,i.value.computed??{},u),g=Xe(i.value.methods??{},u),v=Ze(e,i.value.inject,u),h=Pe(i.value.dataSources||{},u),b={...v,...f,...g,...h};return u.setup(b,e),et(e,i.value.watch??[],u),{vtj:u}},emits:Ge(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const p=i.value.nodes||[];return p.length===1?T(p[0],u,e,a):p.map(f=>T(f,u,e,a))},...tt(i.value.lifeCycles??{},u)});return{renderer:e.markRaw(m),context:u}}function Ge(n=[]){return n.map(e=>l.isString(e)?e:e.name)}function We(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>oe[o]):void 0;return n.map(s=>l.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):x(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 Pe(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=x(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 q=[],$={};const Re=n=>n;async function Q(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>B(i));if(r.length===0||!s)return null;const o=t.filter(i=>N(i));return o.length&&fe(o,e),await he(r,s,e).catch(i=>(console.warn("loadScriptUrl error",r,s,i),null))}function D(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(q.forEach(r=>{delete s.window[r]}),q=[]),(r,o,a=H)=>{if(!o||typeof o=="string")return r;if(o.type==="Schema"&&o.id){let i=$[o.id];return i||(i=$[o.id]=a.defineAsyncComponent(async()=>{const c=await e(o.id);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="UrlSchema"&&o.url){let i=$[o.url];return i||(i=$[o.url]=a.defineAsyncComponent(async()=>{const c=await t(o.url);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="Plugin"){let i=o.library?$[o.library]:null;return i||(o.library&&q.push(o.library),i=$[o.library||Symbol()]=a.defineAsyncComponent(async()=>{const c=await Q(o,s.window);return c||(console.warn("getPlugin result is null",o),null)}),i)}return r}}function st(){$={}}function T(n,e,t=H,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:u,vModels:m,vBind:p,vHtml:f,others:g}=rt(a);if(i&&!ot(i,e))return null;const v=h=>{const b=h.$components,y=(()=>{if(n.name==="component")return it(h,n.props?.is);if(n.name==="slot")return n.name;const E=s(n.name,n.from,t);return l.isString(E)?ge(E)||ve(E)?E:b[E]??r?.app?.component(E)??E:E})(),j=at(o,n.props??{},h),He=ct(t,n.events??{},h);if(n.name==="slot")return lt(t,n,j,h,s);p&&Object.assign(j,h.__parseExpression(p.value)),u&&(j.style=Object.assign(j.style??{},dt(u,h))),f&&Object.assign(j,pt(f,h)),m.forEach(E=>{Object.assign(j,ft(t,E,h))});const Ne=ht(t,n.children??[],h,s,n);let L=t.createVNode(y,{...j,...He},Ne);const te=r?nt(r,g,h):[];return te.length&&(L=t.withDirectives(L,te)),L};return c?vt(c,v,e):v(e)}function nt(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 rt(n=[]){const e=n.find(c=>l.camelCase(c.name)==="vIf"),t=n.find(c=>l.camelCase(c.name)==="vFor"),s=n.find(c=>l.camelCase(c.name)==="vShow"),r=n.find(c=>l.camelCase(c.name)==="vBind"),o=n.find(c=>l.camelCase(c.name)==="vHtml"),a=n.filter(c=>l.camelCase(c.name)==="vModel"),i=n.filter(c=>!re.includes(l.camelCase(c.name)));return{vIf:e,vFor:t,vShow:s,vModels:a,vBind:r,others:i,vHtml:o}}function ot(n,e){return!!e.__parseExpression(n.value)}function it(n,e){return e?S(e)?n.__parseExpression(e):e:"div"}function at(n,e,t){const s=V(e,t);return s.ref=t.__ref(n,s.ref),s}function V(n,e){return S(n)?e.__parseExpression(n):x(n)?e.__parseFunction(n):Array.isArray(n)?n.map(t=>V(t,e)):typeof n=="object"?Object.keys(n||{}).reduce((t,s)=>{let r=n[s];return t[s]=V(r,e),t},{}):n}function ct(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),u=c.find(f=>s.includes(f)),m="on"+l.upperFirst(a)+(u&&r[u]||""),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 lt(n,e,t,s,r){const{children:o}=e,a=ut(e,s),i=s.$slots?.[a.name];return i?i(t):o?l.isString(o)?n.createTextVNode(o):S(o)?n.createTextVNode(K(s.__parseExpression(o))):Array.isArray(o)?o.map(c=>T(c,s,n,r)):null:null}function ut(n,e){const{props:t}=n,s=t?.name||"default";return{name:S(s)?e.__parseExpression(s):s,params:[]}}function dt(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function pt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function ft(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
|
7
|
+
*/const z="0.10.9";var _=(n=>(n.Runtime="Runtime",n.Design="Design",n.Raw="Raw",n.VNode="VNode",n))(_||{});const J=["$el","$emit","$nextTick","$parent","$root","$attrs","$slots","$watch","$props","$options","$forceUpdate"],Ue=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated"],re=["vIf","vShow","vModel","vFor","vBind","vHtml"],oe={String,Number,Boolean,Array,Object,Function,Date},P="VtjPage",A="VtjHomepage",ie="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(","),ae="component,slot".split(",");function M(n,e){return n.map(t=>l.isUrl(t)||t.startsWith("/")?t:`${e}${t}`)}function N(n){return/\.css$/.test(n)}function B(n){return/\.js$/.test(n)}function ce(n){return/\.json$/.test(n)}function Le(n){return n.map(e=>`<script src="${l.url.append(e,{v:z})}"><\/script>`).join("")}function qe(n=[]){return n.map(e=>`<link rel="stylesheet" href="${l.url.append(e,{v:z})}" />`).join("")}function le(n,e=!1){return e&&n.endsWith(".prod.js")?n.replace(".prod.js",".js"):n}function ue(n,e,t=!1){const s=n.filter(f=>!!f.enabled),r=[],o=[],a=[],i=[],c={},u={},m=[],p={};return s.forEach(({urls:f,assetsUrl:g,library:v,assetsLibrary:h,localeLibrary:b})=>{f?.forEach(y=>{B(y)&&r.push(le(y,t)),N(y)&&o.push(y)}),v&&(i.push(v),c[v]=M(f||[],e),b&&(u[v]=b)),g&&a.push(g),h&&m.push(h),v&&h&&(p[h]=v)}),{scripts:M(r,e),css:M(o,e),materials:M(a,e),libraryExports:i,materialExports:l.dedupArray(m),materialMapLibrary:p,libraryMap:c,libraryLocaleMap:u}}function de(n,e){const{name:t,parent:s,alias:r}=n;return s?e[s]?.[r||t]:e[r||t]}function K(n){return l.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 pe(n,e){const t=await window.fetch(e).then(s=>s.text()).catch(()=>"");t&&G(window,n,t)}function fe(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 he(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 u=s.createElement("script");u.src=c,u.onload=()=>{o=t[e],o?a(o.default||o):i(null)},u.onerror=m=>{i(m)},r.appendChild(u)}})}function me(n){return l.isFunction(n)||l.isFunction(n?.install)}function ge(n){return ae.includes(n)}function ve(n){return ie.includes(n)}function R(n=window){const e=window.Mock;if(e)return e;const t=n.Mock;if(t)return window.Mock=t,t}function C(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(l.logger.error("parseExpression.error",r,n,e?.__self??e),s)throw r}}function O(n,e,t=!1,s=!1){const r=C(n,e,t,s);if(typeof r!="function"&&(l.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 x(n){return typeof n=="object"&&n&&n.type==="JSFunction"}function ye(n){return S(n)||x(n)}function Je(n){return ye(n)?n.value:JSON.stringify(n)}const Ve={session:!1,authKey:"Authorization",storageKey:"ACCESS_STORAGE",storagePrefix:"__VTJ_",unauthorized:void 0,auth:"/#/login",redirectParam:"r",unauthorizedCode:401,unauthorizedMessage:"登录已经失效,请重新登录!",noPermissionMessage:"无权限访问该页面",appName:""},W=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&&(l.storage.save(t,e,{type:"local",prefix:s}),r&&l.cookie.set(o,this.data.token))}clear(){const{storageKey:e,storagePrefix:t,session:s,authKey:r}=this.options;this.data=null,l.storage.remove(e,{type:"local",prefix:t}),s&&l.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):l.toArray(e).every(o=>s[o]||s[t+"."+o])}some(e){const{appName:t}=this.options,{permissions:s={}}=this.data||{};return l.toArray(e).some(o=>s[o]||s[t+"."+o])}install(e){e.config.globalProperties.$access||(e.config.globalProperties.$access=this,e.provide(W,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=>l.unRSA(r,t));this.data=JSON.parse(s.join(""));return}if(typeof e=="string")try{const s=t?l.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=l.storage.get(e,{type:"local",prefix:t});this.setData(s||null)}isLogined(){const{session:e,authKey:t}=this.options;return e&&t?!!l.cookie.get(t):!!this.getToken()}hasRoutePermission(e){if(e.name===P){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),l.isFunction(r)?(r(),t(!1)):l.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 l.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 _e(){return d.inject(W,null)}function Ke(n={}){const{notify:e,loading:t,settings:s={}}=n;let r=null;return{request:l.createRequest({settings:{type:"form",validSuccess:!0,originResponse:!1,loading:!0,validate:a=>a.data?.code===0||!!a.data?.success,failMessage:!0,showError:a=>{e&&e(a||"未知错误")},showLoading:()=>{r&&r.close(),t&&(r=t())},hideLoading:()=>{r&&(r.close(),r=null)},...s}}),jsonp:l.jsonp,notify:e,loading:t}}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?C(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(l.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=[],e=window){const t=R(e);t&&(Y(e),n.forEach(s=>ke(t,s)))}function Ee(n,e=window){const t=x(n.mockTemplate)&&n.mockTemplate.value?O(n.mockTemplate,{},!0):void 0,s=R(e);return async(...r)=>{let o={};if(t)try{o=await t.apply(t,r)}catch(a){l.logger.warn("模拟数据模版异常",a)}return s?.mock(o)}}function ke(n,e){if(!e.mock)return;const{url:t,mockTemplate:s}=e;if(t&&s){const r=l.pathToRegexp(`${t}(.*)`),o=l.pathToRegexpMatch(t,{decode:decodeURIComponent}),a=C(s,{},!0);n.mock(r,i=>{const c=l.url.parse(i.url)||{},u=i.body instanceof FormData?l.formDataToJson(i.body):i.body,m=o(i.url)?.params;return Object.assign(i,{data:u,params:c,query:m}),n.mock(a(i))})}}function Y(n=window){const e=R(n);e&&(e._mocked={})}class $e{__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=H){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.__reset()})}__proxy(){this.__instance&&J.forEach(e=>{this[e]=this.__instance?.[e]})}__cleanup(){J.forEach(e=>{this[e]=null}),this.__reset()}__reset(){this.__refs={},this.$refs={},this.__contextRefs={},this.context={}}__parseFunction(e){if(e)if(this.__mode===_.Runtime){const{id:t,type:s}=e,r=t?this.__transform[t]??e.value:e.value;return O({type:s,value:r},this)}else return O(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 C({type:s,value:r},this)}else return C(e,this)}__ref(e=null,t){if(this.__mode!==_.VNode)return e&&e!==this.__id&&(this.__contextRefs[e]=this),async s=>{await l.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}return r.nodeType===3&&r.nextSibling&&(r=r.nextSibling),r.__vtj__=e,_.Design===this.__mode&&(r.__context__=this,r.draggable=!0),e&&(this.__refs[e]=this.__getRefEl(this.__refs,e,s)),typeof t=="function"?t(s):t&&(this.$refs[t]=this.__getRefEl(this.$refs,t,s)),s}}__getRefEl(e,t,s){const r=e[t];if(r&&s!==r){const o=new Set([].concat(r,s));return Array.from(o)}else return s}__clone(e={}){const t={...this.context,...e},s={...t,context:t};return s.context.__proto__=this.context,s.__proto__=this,s}}function I(n){const{Vue:e=H,mode:t=_.Runtime,components:s={},libs:r={},apis:o={},loader:a}=n,i=e.computed(()=>n.dsl),c={$components:s,$libs:r,$apis:o},u=new $e({mode:t,dsl:i.value,attrs:c}),m=e.defineComponent({name:i.value.name,props:{...We(i.value.props??[],u)},setup(p){u.$props=p,u.props=p,i.value.id&&G(n.window||window,i.value.id,i.value.css||""),u.state=Ye(e,i.value.state??{},u);const f=Qe(e,i.value.computed??{},u),g=Xe(i.value.methods??{},u),v=Ze(e,i.value.inject,u),h=Pe(i.value.dataSources||{},u),b={...v,...f,...g,...h};return u.setup(b,e),et(e,i.value.watch??[],u),{vtj:u}},emits:Ge(i.value.emits),expose:["vtj"],render(){if(!i.value.nodes)return null;const p=i.value.nodes||[];return p.length===1?T(p[0],u,e,a):p.map(f=>T(f,u,e,a))},...tt(i.value.lifeCycles??{},u)});return{renderer:e.markRaw(m),context:u}}function Ge(n=[]){return n.map(e=>l.isString(e)?e:e.name)}function We(n=[],e){const t=s=>s?(Array.isArray(s)?s:[s]).map(o=>oe[o]):void 0;return n.map(s=>l.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):x(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 Pe(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=x(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 q=[],$={};const Re=n=>n;async function Q(n,e=window){const{urls:t=[],library:s}=n,r=t.filter(i=>B(i));if(r.length===0||!s)return null;const o=t.filter(i=>N(i));return o.length&&fe(o,e),await he(r,s,e).catch(i=>(console.warn("loadScriptUrl error",r,s,i),null))}function D(n){const{getDsl:e,getDslByUrl:t,options:s}=n;return s.window&&(q.forEach(r=>{delete s.window[r]}),q=[]),(r,o,a=H)=>{if(!o||typeof o=="string")return r;if(o.type==="Schema"&&o.id){let i=$[o.id];return i||(i=$[o.id]=a.defineAsyncComponent(async()=>{const c=await e(o.id);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="UrlSchema"&&o.url){let i=$[o.url];return i||(i=$[o.url]=a.defineAsyncComponent(async()=>{const c=await t(o.url);return c&&(c.name=r),c?I({...s,Vue:a,dsl:c,mode:_.Runtime,loader:D(n)}).renderer:null}),i)}if(o.type==="Plugin"){let i=o.library?$[o.library]:null;return i||(o.library&&q.push(o.library),i=$[o.library||Symbol()]=a.defineAsyncComponent(async()=>{const c=await Q(o,s.window);return c||(console.warn("getPlugin result is null",o),null)}),i)}return r}}function st(){$={}}function T(n,e,t=H,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:u,vModels:m,vBind:p,vHtml:f,others:g}=rt(a);if(i&&!ot(i,e))return null;const v=h=>{const b=h.$components,y=(()=>{if(n.name==="component")return it(h,n.props?.is);if(n.name==="slot")return n.name;const E=s(n.name,n.from,t);return l.isString(E)?ge(E)||ve(E)?E:b[E]??r?.app?.component(E)??E:E})(),j=at(o,n.props??{},h),He=ct(t,n.events??{},h);if(n.name==="slot")return lt(t,n,j,h,s);p&&Object.assign(j,h.__parseExpression(p.value)),u&&(j.style=Object.assign(j.style??{},dt(u,h))),f&&Object.assign(j,pt(f,h)),m.forEach(E=>{Object.assign(j,ft(t,E,h))});const Ne=ht(t,n.children??[],h,s,n);let L=t.createVNode(y,{...j,...He},Ne);const te=r?nt(r,g,h):[];return te.length&&(L=t.withDirectives(L,te)),L};return c?vt(c,v,e):v(e)}function nt(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 rt(n=[]){const e=n.find(c=>l.camelCase(c.name)==="vIf"),t=n.find(c=>l.camelCase(c.name)==="vFor"),s=n.find(c=>l.camelCase(c.name)==="vShow"),r=n.find(c=>l.camelCase(c.name)==="vBind"),o=n.find(c=>l.camelCase(c.name)==="vHtml"),a=n.filter(c=>l.camelCase(c.name)==="vModel"),i=n.filter(c=>!re.includes(l.camelCase(c.name)));return{vIf:e,vFor:t,vShow:s,vModels:a,vBind:r,others:i,vHtml:o}}function ot(n,e){return!!e.__parseExpression(n.value)}function it(n,e){return e?S(e)?n.__parseExpression(e):e:"div"}function at(n,e,t){const s=V(e,t);return s.ref=t.__ref(n,s.ref),s}function V(n,e){return S(n)?e.__parseExpression(n):x(n)?e.__parseFunction(n):Array.isArray(n)?n.map(t=>V(t,e)):typeof n=="object"?Object.keys(n||{}).reduce((t,s)=>{let r=n[s];return t[s]=V(r,e),t},{}):n}function ct(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),u=c.find(f=>s.includes(f)),m="on"+l.upperFirst(a)+(u&&r[u]||""),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 lt(n,e,t,s,r){const{children:o}=e,a=ut(e,s),i=s.$slots?.[a.name];return i?i(t):o?l.isString(o)?n.createTextVNode(o):S(o)?n.createTextVNode(K(s.__parseExpression(o))):Array.isArray(o)?o.map(c=>T(c,s,n,r)):null:null}function ut(n,e){const{props:t}=n,s=t?.name||"default";return{name:S(s)?e.__parseExpression(s):s,params:[]}}function dt(n,e){return e.__parseExpression(n.value)?{}:{display:"none"}}function pt(n,e){return{innerHTML:e.__parseExpression(n.value)||""}}function ft(n,e,t){const s={type:"JSFunction",value:e.value?.value?`(v) => {
|
9
9
|
${e.value.value} = v;
|
10
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 ht(n,e,t,s,r){if(!e)return null;if(l.isString(e))return{default:()=>e};if(S(e))return{default:()=>K(t.__parseExpression(e))};if(Array.isArray(e)&&e.length>0){const o=mt(e),a=i=>!i||!r?{}:r?.id&&Object.keys(i).length?{[`scope_${r.id}`]:i}:{};return Object.entries(o).reduce((i,[c,{nodes:u,params:m}])=>(i[c]=p=>{const f=m.length?l.pick(p??{},m):a(p);return u.map(g=>T(g,t.__clone(f),n,s))},i),{})}return null}function mt(n){const e={default:{params:[],nodes:[]}};for(const t of n){const s=gt(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 gt(n="default"){return l.isString(n)?{name:n,params:[]}:{params:[],...n}}function vt(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,u)=>u+1)),Array.isArray(i)?i.map((c,u)=>e(t.__clone({[o]:c,[a]:u}))):(console.warn("[vForRender]:",`${s?.value} is not a Arrary`),[])}function Ce(n){return d.getCurrentScope()?(d.onScopeDispose(n),!0):!1}const xe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const yt=n=>n!=null,_t=()=>{};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:_t}))):d.ref(e)}const bt=xe?window:void 0,jt=xe?window.document:void 0;function Et(n){var e;const t=d.toValue(n);return(e=t?.$el)!=null?e:t}function kt(){const n=d.shallowRef(!1),e=d.getCurrentInstance();return e&&d.onMounted(()=>{n.value=!0},e),n}function $t(n){const e=kt();return d.computed(()=>(e.value,!!n()))}function Pt(n,e,t={}){const{window:s=bt,...r}=t;let o;const a=$t(()=>s&&"MutationObserver"in s),i=()=>{o&&(o.disconnect(),o=void 0)},c=d.computed(()=>{const f=d.toValue(n),g=wt(f).map(Et).filter(yt);return new Set(g)}),u=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=()=>{u(),i()};return Ce(p),{isSupported:a,stop:p,takeRecords:m}}function Rt(n=null,e={}){var t,s,r;const{document:o=jt,restoreOnUnmount:a=p=>p}=e,i=(t=o?.title)!=null?t:"",c=St((s=n??o?.title)!=null?s:null),u=!!(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(p??""))},{immediate:!0}),e.observe&&!e.titleTemplate&&o&&!u&&Pt((r=o.head)==null?void 0:r.querySelector("title"),()=>{o&&o.title!==c.value&&(c.value=m(o.title))},{childList:!0}),Ce(()=>{if(a){const p=a(i,c.value||"");p!=null&&o&&(o.title=p)}}),c}const se=d.defineComponent({name:"VtjPageContainer",async setup(){const n=ee(),e=ne.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())}}),Ct={"data-l-h6o7ki7":"",class:"vtj-startup__wrapper"},xt={"data-l-h6o7ki7":"",class:"vtj-startup"},Mt={"data-l-h6o7ki7":"",class:"vtj-startup__name"},At={"data-l-h6o7ki7":"",class:"span"},Tt={"data-l-h6o7ki7":"",class:"vtj-startup__tagline"},Ft={"data-l-h6o7ki7":"",class:"vtj-startup__actions"},Me=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]{
|
package/dist/index.mjs
CHANGED
@@ -7,10 +7,10 @@ import { useRoute as _e } from "vue-router";
|
|
7
7
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
8
8
|
* @name @vtj/renderer
|
9
9
|
* @author CHC chenhuachun1549@dingtalk.com
|
10
|
-
* @version 0.10.
|
10
|
+
* @version 0.10.9
|
11
11
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
12
12
|
*/
|
13
|
-
const we = "0.10.
|
13
|
+
const we = "0.10.9";
|
14
14
|
var y = /* @__PURE__ */ ((n) => (n.Runtime = "Runtime", n.Design = "Design", n.Raw = "Raw", n.VNode = "VNode", n))(y || {});
|
15
15
|
const ue = [
|
16
16
|
"$el",
|
@@ -332,7 +332,7 @@ class Ms {
|
|
332
332
|
}
|
333
333
|
isUnauthorized(e) {
|
334
334
|
const { unauthorizedCode: t = 401 } = this.options;
|
335
|
-
return e.status === t || e.data
|
335
|
+
return e.status === t || e.data?.code === t;
|
336
336
|
}
|
337
337
|
async showUnauthorizedAlert(e) {
|
338
338
|
const { unauthorizedMessage: t = "登录已失效" } = this.options;
|
package/package.json
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vtj/renderer",
|
3
3
|
"private": false,
|
4
|
-
"version": "0.10.
|
4
|
+
"version": "0.10.9",
|
5
5
|
"type": "module",
|
6
6
|
"dependencies": {
|
7
|
-
"@vtj/core": "~0.10.
|
8
|
-
"@vtj/utils": "~0.10.
|
7
|
+
"@vtj/core": "~0.10.9",
|
8
|
+
"@vtj/utils": "~0.10.9"
|
9
9
|
},
|
10
10
|
"devDependencies": {
|
11
11
|
"vue": "~3.5.5",
|
12
12
|
"vue-router": "~4.5.0",
|
13
13
|
"@vtj/cli": "~0.10.2",
|
14
|
-
"@vtj/
|
15
|
-
"@vtj/
|
14
|
+
"@vtj/icons": "~0.10.9",
|
15
|
+
"@vtj/ui": "~0.10.9"
|
16
16
|
},
|
17
17
|
"exports": {
|
18
18
|
".": {
|
package/types/version.d.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* Copyright (c) 2025, VTJ.PRO All rights reserved.
|
3
3
|
* @name @vtj/renderer
|
4
4
|
* @author CHC chenhuachun1549@dingtalk.com
|
5
|
-
* @version 0.10.
|
5
|
+
* @version 0.10.8
|
6
6
|
* @license <a href="https://vtj.pro/license.html">MIT License</a>
|
7
7
|
*/
|
8
|
-
export declare const version = "0.10.
|
8
|
+
export declare const version = "0.10.8";
|