VTJ 低代码设计器支持了应用增强


应用增强​

应用增强是指给低代码的应用扩展功能。如增加全局的状态、样式、配置等应用级的功能。

注意: 该功能仅支持通过官方脚手架(npm create vtj@latest)创建的本地开发项目,在线方式不支持。

开启应用增强​

开启该功能需要完成以下三个步骤:

  1. 在项目src目录下创建文件 enhance.ts。 这是应用增强插件的默认入口文件,可以配置为其他名称或路径,无特殊需求建议采用配置。 文件的代码需要导出 Vue Plugin。

    ts
    import type { App } from 'vue';
    import type { Provider } from '@vtj/renderer';
    
    // 可以在此引用scss文件,需要用到的工具库,依赖等
    
    export default function (app: App, provider: Provider) {
    // 应用增强代码
    }
  2.  main.ts 文件导入 enhance, 并传递给 createProvider 方法。

    ts
    // 省略了其他代码
    import enhance from './enhance';
    
    const { provider, onReady } = createProvider({
    // 省略了其他参数
    enhance
    });
  3. 配置 vite.config.ts 开启设计器支持

    ts
    import { createViteConfig } from '@vtj/cli';
    import { createDevTools } from '@vtj/local';
    export default createViteConfig({
    proxy,
    plugins: [
    createDevTools({
    // 开启增强
    enhance: true
    })
    ]
    });

通过以上配置, 启动开发环境 npm run dev 后,在源码运行、设计器视图、预览视图都加载了增强的代码。同时支持热更新。可以利用增强的代码对应用进行个性化的全局配置。

应用示例​

给应用增加全局样式​

需要给应用添加全局样式,只需在 enhance.ts 引入 .scss 文件即可。如

ts
import type { App } from 'vue';
import type { Provider } from '@vtj/renderer';
// 引入样式文件
import './style/global.scss';
export default function (app: App, provider: Provider) {}

网络请求拦截​

在实际项目开发时,您可能需要给请求头增加token或对响应进行错误提示等,这时,你可能需要用到请求拦截,通过应用增强可以方便处理。

ts
import type { App } from 'vue';
import type { Provider } from '@vtj/renderer';
export default function (app: App, provider: Provider) {
provider.adapter.request.useRequest((config) => {
// 注入请求头
config.headers.Token = '123456';
return config;
});

provider.adapter.request.useResponse((res) => {
// 响应拦截处理
return res;
});
}

接入Pinia​

Pinia等其他工具库也可以增强文件中添加

ts
import type { App } from 'vue';
import type { Provider } from '@vtj/renderer';
import { createPinia, defineStore } from 'pinia';

const pinia = createPinia();
const useCounterStore = defineStore('counter', {
state: () => ({
count: 0
}),
getters: {
doubleCount: (state) => state.count * 2
}
});

export default function (app: App, provider: Provider) {
app.use(pinia);
//通过 provide 提供
app.provide('counter', useCounterStore());

// 也可以挂载到 globalProperties
app.config.globalProperties.counter = useCounterStore();
}

 app.provide 的方式,在低代码页面需要定义注入才可以读取到store

挂载到 globalProperties 的可以直接 通过上下文读取,如 this.counter

个性化配置​

vite.config.ts 的 enhance 默认配置就是最便捷的使用方式,如需要自定义入口文件,可以参考配置

ts
export interface EnhanceOptions {
// 入口文件路径
entry?: string;
// umd 导出名称
name?: string;
// umd 产物文件名
fileName?: string;
// 外部化的依赖
external?: string[];
// 外部依赖对应的全局名称
globals?: Record<string, string>;
// 产物文件生成目录
outDir?: string;
}

VTJ源码仓库:https://gitee.com/newgateway/vtj


相關推薦

2025-06-16

本文档介绍了为 VTJ 低代码平台提供支持的基本架构组件,包括 Engine 编排层、Provider 服务系统、数据模型和代码生成管道。有关 UI 组件库和 widget 系统的信息,请参阅 UI 组件库 。有关特定于平台的实施,请参阅平台实施 。 引

2025-06-05

VTJ的AI助手支持识别 Sketch 和 Figma 设计稿的元数据,当需要高精度还原设计图时,您可以使用这种方式通过AI开发页面组件。 Sketch 和 Figma 的元数据文件是一个json格式的文件,可以通过VTJ官方提供的插件导出。 Sketch元数据导出

2024-04-18

diboot 是一个在开发框架上长出来的低代码平台,天生具备pro-code优势的同时,也具备很强的低/零代码能力,可在pro-code、low-code、no-code之间灵活切换,有效赋能开发者,实现开发和维护过程的提质降本增效。 Diboot v3.3.0 版本

2025-04-18

项目介绍 JeecgBoot 是一款基于 AI 和低代码引擎的 AI 低代码平台,旨在帮助开发者快速实现低代码开发和构建、部署个性化的 AI 应用。 前后端分离架构 Ant Design&Vue3,SpringBoot,SpringCloud,Mybatis,Shiro,强大的代码生成器让前

2025-03-27

Diboot 是一个在开发框架上长出来的低代码平台,天生具备 pro-code 优势的同时,也具备很强的低/零代码及工作流能力,可在 pro-code、low-code、no-code 之间灵活切换,有效赋能开发者,实现开发和维护过程的提质降本增效。 >

2024-09-24

FcDesigner 是一款低代码表单设计器组件。可以通过拖拽的方式快速创建表单,提高开发者对表单的开发效率,节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。 本项目采用 Vue 和 Elemen

2025-04-04

有 有 产品方向 一款独立的 LLM 应用开发平台 低代码与 AIGC 应用二者结合的平台 业务集成 业务集成能力弱 更方便与业务系统集成,调用系统接口和逻辑更加方便 AI 业务流 侧重 AI 逻辑流程 AI 流程编排作

2025-04-07

项目介绍 JeecgBoot 是一款企业级的 AI 低代码平台!前后端分离架构 SpringBoot2.x/3.x,SpringCloud Alibaba,Ant Design&Vue3,Mybatis-plus,Shiro; 支持 AI 大模型 DeepSeek 和 ChatGPT、Ollama 本地模型;强大的代码生成器让前后端代码一键生成,

2023-04-01

开发者受益,因此决定全面拥抱开源。 核心亮点 一套代码同时支持 Vue 2 / Vue 3 随着 Vue 3 的逐渐普及以及 Vue 3 开源生态的持续繁荣,未来将会有更多开发者投入 Vue 3 的怀抱,使用 Vue 3 开发新业务,同时存量的 Vue 2 项目也会

2024-02-05

Diboot 是一个在开发框架上长出来的低代码平台,天生具备pro-code优势的同时,也具备很强的低/零代码能力,可在pro-code、low-code、no-code之间灵活切换,有效赋能开发者,实现开发和维护过程的提质降本增效。 Diboot 3.2.0版本已于

2024-06-25

AI对话功能 国际化:前后端完整的国际化方案实现 代码生成:devtools支持配置并生成业务对象选择器、配置并生成链接弹窗查看关联数据详情、生成移动端CRUD页 企业版:表单详情页面打印、工作流的流程模拟运行和批

2025-06-04

务平台。是采用领域驱动模型(DDD)设计思想,以「高质量代码、低安全漏洞」为核心,基于 Spring 生态全域开源技术,高度模块化和组件化设计,支持智能电视、IoT等物联网设备认证,满足国家三级等保要求,支持接口国密数字

2023-02-25

的新标签概览取代了现有的 mobile switcher 在设置中重新设计了声音、鼠标与触摸板面板 在网络面板中支持 WireGuard 使用 QR 码共享 Wi-Fi 网络的功能 GNOME 字体查看器应用程序得到了改进的导航 GNOME 初始设置应用程序现在在

2023-09-13

化 1、多租户的配置方式变更为:saasMode 2、新增低代码开发模式 lowCodeMode:prod,完全禁止在线报表设计能力,彻底避免被攻击 3、默认报表预览地址必须带 token,只能通过报表分享连接给他们访问报表 集成依赖 <de