AI驱动的应用开发平台实现原理概述

简介: VTJ.PRO是基于Vue3与TypeScript的AI驱动低代码平台,支持Web、H5、UniApp多端应用开发。提供可视化设计器、AI代码生成、统一认证与多平台运行时,涵盖前端架构、后端模块、权限管理及LLM集成,助力高效应用构建与部署。

目的与范围

本文档提供了VTJ.PRO平台的高级介绍,这是一个基于Vue3和TypeScript构建的AI驱动的低代码开发系统。它涵盖了整体系统架构、关键组件和平台能力。有关特定子系统的详细信息,请参考以下页面:

  • 前端应用结构和路由:前端架构
  • 后端模块组织和NestJS模式:后端模块系统
  • 用户认证和权限系统:认证与授权
  • AI模型配置和集成:LLM模型管理
  • 低代码应用生命周期:低代码应用系统
  • AI驱动的代码生成:AI代理系统

什么是VTJ.PRO

VTJ.PRO是一个AI驱动的低代码开发平台,使用户能够通过可视化设计工具和AI辅助创建、部署和管理跨多个平台(Web、H5、UniApp)的应用程序。系统包括:

  • 管理界面:  系统配置、用户管理、LLM模型设置和数据监控
  • 工作台界面:  用户工作空间,用于创建和管理个人应用程序和模板
  • 开发环境:  可视化设计器,用于构建具有实时预览的应用程序和模板
  • 平台运行时:  从DSL(领域特定语言)定义渲染应用程序的部署目标
  • AI代理系统:  用于代码生成和开发辅助的对话式AI
  • 后端服务:  基于NestJS的API服务器,提供认证、数据持久化和业务逻辑

系统架构概述

该平台遵循前端应用和后端服务之间的清晰分离,具有多个服务于不同目的的部署上下文。

高级组件架构

前端入口点和上下文

前端架构被组织成五个不同的HTML入口点,每个入口点都有其自己的包和初始化逻辑,服务于特定目的。

入口点映射

入口点 用途 主脚本 路由上下文
index.html 管理 + 工作台 + 认证 /src/main.ts /admin/*, /workbench/*, /login, /register
web/index.html Web平台运行时 /src/platform/web/main.ts /#/page/:fileId (动态)
h5/index.html H5平台运行时 /src/platform/h5/main.ts /#/page/:fileId (动态)
dev/index.html 开发环境 /src/platform/dev/main.ts /#/app/:code, /#/template/:id
auth.html 独立认证UI /src/auth.ts /login, /register, /password

前端初始化流程

后端模块架构

后端使用NestJS的模块系统,具有一个集中式的AppModule,协调所有核心和业务模块。全局认证通过注册为APP_GUARD的UsersGuard强制执行。

模块依赖图

数据库和ORM配置

后端使用TypeORM与MySQL,通过TypeOrmModule.forRootAsync()配置。autoLoadEntities: true设置自动发现并注册来自导入模块的所有实体。

// 来自 app.module.ts:39-50 的配置
TypeOrmModule.forRootAsync({
  imports: [ConfigModule],
  inject: [ConfigService],
  useFactory: async (configService: ConfigService) => {
    const database = configService.get<Database>('database');
    return {
      type: 'mysql',
      autoLoadEntities: true,
      charset: 'utf8mb4',
      ...database
    };
  }
});

核心渲染系统

该平台使用@vtj/renderer包作为其核心渲染引擎,它解释DSL定义以创建Vue应用程序。不同的上下文使用不同的模式和配置。

渲染器上下文模式

上下文 模式 NodeEnv 用途
主应用 N/A N/A 直接使用Vue Router,无渲染器
Web运行时 ContextMode.Runtime 生产/开发 从DSL渲染已部署的应用
H5运行时 ContextMode.Runtime 生产/开发 从DSL渲染移动应用
UniApp运行时 ContextMode.Runtime 生产/开发 从DSL渲染UniApp应用
开发环境 设计器模式 开发 提供可视化编辑界面
项目模板 ContextMode.Raw 生产/开发 具有嵌入式DSL的独立项目

提供者创建模式

多平台支持

VTJ.PRO支持三种平台类型,每种都有专用的运行时环境和项目模板。

平台类型枚举

AppPlatform枚举定义了支持的平台:

  • AppPlatform.Web - 具有桌面优先UI的标准Web应用程序
  • AppPlatform.H5 - 具有触摸交互的移动优化H5应用程序
  • AppPlatform.UniApp - 使用uni-app框架的跨平台应用程序

这些在创建提供者时用于指定特定平台的渲染行为:

// Web平台:frontend/src/platform/web/main.ts:36-39
project: {
  id: code,
  platform: AppPlatform.Web
}

// H5平台:frontend/src/platform/h5/main.ts:36-39
project: {
  id: code,
  platform: AppPlatform.H5
}

// UniApp平台:frontend/src/platform/uniapp/main.ts:85-88
project: {
  id: code,
  platform: AppPlatform.UniApp
}

平台特定项目模板

每个平台在templates/目录中都有相应的项目模板:

模板目录 入口点 平台 关键依赖
templates/web/ src/main.ts Web @vtj/web, Vue Router, Pinia
templates/h5/ src/main.ts H5 @vtj/h5, Vue Router, Pinia
templates/uniapp/ src/main.ts UniApp @vtj/uni-app, uni-app框架

这些模板提供了可以独立导出和运行的独立项目结构,具有嵌入式DSL定义和VTJ渲染器。

认证和访问控制

系统实现了双层认证系统:通过UsersGuard的后端路由保护和通过Access类的前端访问控制。

认证架构

所有前端入口点都使用一致的配置初始化Access系统:

// 来自 frontend/src/main.ts:10-21 的模式
const access = new Access({
  alert,
  storageKey: STORAGE_KEY,
  privateKey: ACCESS_PRIVATE_KEY,
  whiteList: (to) =>
    ['/login', '/unauthorized', '/register', '/password'].includes(to.path)
});
access.connect({ request, router });

UsersGuardAppModule中全局注册并保护所有后端路由:

// backend/src/app.module.ts:73-77
providers: [
  {
    provide: APP_GUARD,
    useClass: UsersGuard
  }
];

平台能力总结

该平台提供以下关键能力:

对于系统管理员

  • 通过管理界面进行用户、角色和权限管理
  • 用于AI功能的LLM模型配置(OpenAI、DeepSeek、Google、Anthropic等)
  • 通过报告和日常统计进行系统监控
  • 应用程序和模板审批工作流
  • 用于系统范围下拉选项的字典管理

对于应用开发者

  • 用于创建应用程序(/#/app/:code)和模板(/#/template/:id)的可视化设计器
  • 具有平台特定预览的多平台支持(Web、H5、UniApp)
  • 具有回滚能力的版本管理
  • 团队开发的协作功能
  • 通过代理主题的AI驱动代码生成

详见低代码应用系统和开发环境。

对于最终用户

  • 通过平台运行时访问已部署的应用程序(/web/:code, /h5/:code
  • 用于管理拥有应用程序的个人工作空间
  • 用于启动新项目的模板市场
  • 用于开发问题和代码生成的AI助手

详见工作台界面。



相关文章
|
4天前
|
存储 JavaScript 前端开发
JavaScript基础
本节讲解JavaScript基础核心知识:涵盖值类型与引用类型区别、typeof检测类型及局限性、===与==差异及应用场景、内置函数与对象、原型链五规则、属性查找机制、instanceof原理,以及this指向和箭头函数中this的绑定时机。重点突出类型判断、原型继承与this机制,助力深入理解JS面向对象机制。(238字)
|
3天前
|
云安全 人工智能 安全
阿里云2026云上安全健康体检正式开启
新年启程,来为云上环境做一次“深度体检”
1479 6
|
5天前
|
安全 数据可视化 网络安全
安全无小事|阿里云先知众测,为企业筑牢防线
专为企业打造的漏洞信息收集平台
1316 2
|
4天前
|
缓存 算法 关系型数据库
深入浅出分布式 ID 生成方案:从原理到业界主流实现
本文深入探讨分布式ID的生成原理与主流解决方案,解析百度UidGenerator、滴滴TinyID及美团Leaf的核心设计,涵盖Snowflake算法、号段模式与双Buffer优化,助你掌握高并发下全局唯一ID的实现精髓。
329 160
|
4天前
|
人工智能 自然语言处理 API
n8n:流程自动化、智能化利器
流程自动化助你在重复的业务流程中节省时间,可通过自然语言直接创建工作流啦。
379 6
n8n:流程自动化、智能化利器
|
13天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1500 7
|
6天前
|
人工智能 API 开发工具
Skills比MCP更重要?更省钱的多!Python大佬这观点老金测了一周终于懂了
加我进AI学习群,公众号右下角“联系方式”。文末有老金开源知识库·全免费。本文详解Claude Skills为何比MCP更轻量高效:极简配置、按需加载、省90% token,适合多数场景。MCP仍适用于复杂集成,但日常任务首选Skills。推荐先用SKILL.md解决,再考虑协议。附实测对比与配置建议,助你提升效率,节省精力。关注老金,一起玩转AI工具。
|
3天前
|
Linux 数据库
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
本文介绍在CentOS 7.9环境下安装PolarDB-X单机版数据库的完整流程,涵盖系统环境准备、本地Yum源配置、RPM包安装、用户与目录初始化、依赖库解决、数据库启动及客户端连接等步骤,助您快速部署运行PolarDB-X。
234 1
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
|
14天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
1374 17
|
4天前
|
自然语言处理 监控 测试技术
互联网大厂“黑话”完全破译指南
互联网大厂黑话太多听不懂?本文整理了一份“保姆级”职场黑话词典,涵盖PRD、A/B测试、WLB、埋点、灰度发布等高频术语,用大白话+生活化类比,帮你快速听懂同事在聊什么。非技术岗也能轻松理解,建议收藏防踩坑。
290 161