基于TypeScript + Vue3 打造以AI驱动的低代码平台

简介: VTJ低代码开发平台(LCDP)是一个支持快速创建和部署应用的多平台开发环境,采用Vue.js与NestJS技术栈,适用于Web、移动H5及UniApp场景。

目的和范围

本文档全面概述了VTJ低代码开发平台(LCDP),这是一个支持快速创建和部署应用程序的多平台开发环境。平台采用Vue.js前端应用与NestJS后端API架构,支持多种部署目标,包括Web浏览器、移动H5应用和跨平台UniApp环境。

本文档涵盖平台整体架构、核心技术和系统组织。

系统架构概述

VTJ LCDP采用现代化Web应用架构,实现前端展示层、后端服务层和多平台构建系统的清晰分离。

整体架构设计

分层架构模式

平台采用分层架构设计,各层职责明确:

  1. 用户界面层:基于Vue.js的可视化开发环境
  2. 应用服务层:NestJS实现的核心业务逻辑
  3. 数据服务层:统一API网关和微服务架构
  4. 基础设施层:容器化部署和云原生支持

多平台构建系统

平台支持四个核心构建目标,每个目标针对特定部署场景优化:

构建目标

环境变量

输出类型

主要应用场景

技术实现细节

main

BUILD_TYPE=main

核心应用包

主Web应用部署

包含完整业务逻辑,支持SSR

web

BUILD_TYPE=web

Web优化包

标准Web浏览器

响应式设计,PC端体验优化

h5

BUILD_TYPE=h5

移动H5包

移动Web应用

触控优化,移动端适配

uniapp

BUILD_TYPE=uniapp

跨平台包

多端应用部署

编译为微信小程序、Android/iOS等

构建脚本配置说明

构建系统通过npm脚本支持环境特定配置:

bash

代码语言:javascript

代码运行次数:0

运行

AI代码解释

# 开发环境 (热重载)
npm run dev  # ENV_TYPE=local,启动开发服务器
# SIT环境构建 (系统集成测试)
npm run sit:main     # ENV_TYPE=sit BUILD_TYPE=main
npm run sit:web      # ENV_TYPE=sit BUILD_TYPE=web
npm run sit:h5       # ENV_TYPE=sit BUILD_TYPE=h5
npm run sit:uniapp   # ENV_TYPE=sit BUILD_TYPE=uniapp
# 生产环境构建
npm run build:main     # ENV_TYPE=live BUILD_TYPE=main
npm run build:web      # ENV_TYPE=live BUILD_TYPE=web
npm run build:h5       # ENV_TYPE=live BUILD_TYPE=h5
npm run build:uniapp   # ENV_TYPE=live BUILD_TYPE=uniapp

核心技术与依赖项

前端核心依赖

包名称

版本范围

功能描述

技术特性

vue

~3.5.0

核心Vue.js框架

组合式API,响应式系统

vue-router

~4.5.0

客户端路由管理

动态路由,导航守卫

@vtj/web

latest

VTJ Web平台集成库

组件库,工具函数集

@vtj/h5

latest

VTJ移动H5平台适配

移动端组件,手势支持

@vtj/uni

latest

VTJ UniApp跨平台支持

多端适配,原生能力封装

@dcloudio/uni-h5-vue

3.0.0-4050720250324001

UniApp H5环境Vue运行时

H5与小程序统一运行时

开发工具链

工具名称

版本

功能描述

技术优势

@vtj/cli

latest

VTJ命令行工具

项目脚手架,代码生成

@vtj/pro

latest

VTJ专业开发工具套件

可视化调试,性能分析

node-ssh

~13.2.0

SSH远程部署支持

安全连接,自动化部署

vite

^5.0.0

构建工具核心

快速冷启动,按需编译

typescript

~5.4.0

类型安全支持

静态类型检查,高级类型特性

后端模块架构

后端采用模块化NestJS架构,包含以下核心功能模块:

核心模块功能说明

模块名称

主要职责

技术实现

应用管理

应用生命周期管理

微服务注册发现,健康检查

权限控制

访问授权管理

RBAC模型,JWT认证

数据服务

数据持久化操作

TypeORM,事务管理

文件存储

资源管理

OSS集成,分块上传

消息队列

异步任务处理

RabbitMQ,任务调度

监控告警

系统监控

Prometheus,Grafana仪表盘

日志服务

集中式日志管理

ELK Stack,结构化日志

开发环境配置

平台支持三种环境配置,满足不同阶段需求:

环境类型

配置标识

主要特点

适用场景

开发环境

ENV_TYPE=local

热重载,源码映射

本地开发,实时调试

测试环境

ENV_TYPE=sit

完整功能验证,集成测试

预发布环境,QA测试

生产环境

ENV_TYPE=live

性能优化,安全加固

线上部署,用户使用

构建配置关键技术

  1. 多目标支持:支持12种环境与平台组合配置,满足全场景需求
  2. TypeScript处理:通过vue-tsc实现严格类型检查和编译
  3. 环境变量注入:使用cross-env实现跨平台环境变量管理
  4. 构建优化:生产环境启用代码压缩、Tree Shaking和代码分割
  5. 增量构建:开发环境支持模块热替换(HMR),提升开发效率

VTJ低代码平台通过模块化架构和灵活的多平台构建系统,为开发者提供高效的应用开发和部署体验。

项目脚本

命令

描述

npm run setup

使用 registry.npmmirror.com 镜像源安装依赖

npm run dev

启动开发服务器

npm run sit

测试环境构建

npm run build

生产环境构建

npm run preview

预览构建产物

npm run clean

清理项目工程

项目结构

本项目使用 @vtj/cli 搭建,基于 Vite + Vue3 + TypeScript 技术栈。采用多平台应用页面入口设计,实现环境隔离和优化打包体积。

vite.config.ts 中配置了多入口打包:

typescript

代码语言:javascript

代码运行次数:0

运行

AI代码解释

const pages = {
  // 平台主应用:包含应用管理和设计器
  main: './index.html',
  // Web应用预览
  web: './web/index.html',
  // H5应用预览
  h5: './h5/index.html',
  // UniApp应用预览
  uniapp: './uniapp/index.html'
};

工程目录说明

项目结构与标准工程基本一致,以下是 VTJ 特有的重要目录说明:

最佳实践

设计器集成

设计器实现位于 /src/views/designer.vue,所有平台共用同一设计器,通过加载项目 DSL 的 platform 属性确定目标平台功能。

设计器路由格式:/:platform/:id

  • platform: 平台标识(web、h5、uniapp)
  • id: 应用标识(对应项目 DSL 的 id 字段)

渲染器集成

各平台渲染器实现文件:

  • Web: /src/platform/web/main.ts
  • H5: /src/platform/h5/main.ts
  • UniApp: /src/platform/uniapp/main.ts

自定义 Service

低代码平台的项目、文件和历史记录通过 Service 进行存储管理。/src/shared/service.ts 实现了远程 Service,将数据保存至后端数据库。

自定义 OpenAPI

OpenAPI 提供低代码平台的远程服务能力,如页面模板和 AI 助手功能。/src/extension/openapi.ts 实现了自定义 OpenAPI,您可以根据需求调整 API 接口,只需确保函数签名符合类型要求。

设计器扩展

如需扩展设计器功能,可通过 /src/extension/install.ts 进行开发。可用平台 API 包括:

  • widgetManager
  • depsManager
  • setterManager

后端实现

后端实现可自行设计,只需满足 Service 和 OpenAPI 的接口规范。具体实现细节请参考 docs 目录下的文档。

重要说明

  • API方法统一在 /src/apis 目录下定义,函数都带有TS签名和注释, 可以按自己的需求更换对应接口。
  • 代码中的Access是为了适配官方接口服务的权限控制,如果你改为自己实现的服务,可以不需要Access
  • 请求工具使用了 setGlobalRequest 配置全局的request, 如果在设计器中的设计视图和预览也需要用相同的request, 可以通过参数传入到引擎和createProvider。

代码语言:typescript

AI代码解释

// 传入引擎
const engine = new Engine({
  //省略其他代码
  adapter: {
    request
  }
});
// 传入 createProvider
const { provider, onReady } = createProvider({
  //省略其他代码
  adapter: {
    request
  }
});
  • 如果您不需要模版和AI功能,就不需要定义OpenAPI, 只需要把引擎的remote参数设置为null就可以关闭这两个功能。

设计器交互

在线体验

Demo:  https://vtj.pro/demo/


相关文章
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
迁移学习:让小数据也能驱动AI大模型
迁移学习:让小数据也能驱动AI大模型
190 99
|
12天前
|
人工智能 数据可视化 前端开发
AI Ping:精准可靠的大模型服务性能评测平台
AI Ping是清华系团队推出的“大模型服务评测平台”,被誉为“AI界的大众点评”。汇聚230+模型服务,7×24小时监测性能数据,以吞吐量、延迟等硬指标助力开发者科学选型。界面简洁,数据可视化强,支持多模型对比,横向对标国内外主流平台,为AI应用落地提供权威参考。
160 3
|
12天前
|
人工智能 Serverless API
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
函数计算计费方式历经三阶段演进:从按请求计费,到按活跃时长毫秒级计费,再到按实际资源消耗分层计费。背后是资源调度、安全隔离与开发体验的持续优化。尤其在AI时代,低负载减免、会话亲和等技术让计费更贴近真实价值,推动Serverless向“按需使用、按量付费”终极目标迈进。
|
12天前
|
人工智能 Serverless API
函数计算的云上计费演进:从请求驱动到价值驱动,助力企业走向 AI 时代
在 AI 时代,函数计算一直坚持走向“让开发者只关心业务逻辑,云厂商自动完成一切资源管理与调度”的愿景,最终让计算像水、电一样随时可得、按实际使用价值付费。
|
12天前
|
机器学习/深度学习 人工智能 小程序
RL 和 Memory 驱动的 Personal Agent,实测 Macaron AI
人工智能不仅提升生产力,也重塑人际关系。Macaron AI 探索“哆啦A梦关系”,融合实用与情感,通过长期记忆和强化学习技术,实现深度个性化陪伴,开创人机互动新方式。
人工智能 安全 Ubuntu
165 0
人工智能 移动开发 JavaScript
41 0
|
19天前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
21天前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!