Skip to content

架构概述

本文档全面概述了 VTJ 低代码开发平台的系统架构,包括前端组件、后端模块和多平台构建系统之间的协同关系。系统采用现代全栈架构设计,实现了表示层、业务逻辑层和数据持久层的清晰分离,支持多种部署目标的同时保持单一代码库。

系统架构

整体架构设计

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

  1. 表示层:基于Vue.js的前端组件,负责用户交互和数据展示
  2. 业务逻辑层:NestJS实现的后端服务,处理核心业务逻辑
  3. 数据持久层:ORM框架管理的数据访问,提供持久化存储能力

后端模块依赖关系

后端采用模块化的NestJS架构,各业务模块通过依赖注入实现松耦合:

前后端通信机制

通信流程

前端组件通过RESTful API与后端服务交互,状态管理由Vue组合式API钩子处理:

核心通信模式

模式类型实现方式使用场景技术实现细节
请求-响应RESTful API常规数据查询和操作Axios实现,支持拦截器和错误处理
服务端推送WebSocket实时通知和状态更新Socket.IO集成,支持房间和广播
批量操作GraphQL批处理复杂数据聚合请求Apollo Server实现,支持查询合并

多平台构建架构

平台通过统一的构建系统支持多目标部署,核心架构如下:

跨平台一致性保障

机制实现方式技术优势
统一核心库@vtj/core基础包跨平台通用业务逻辑复用
平台适配层运行时注入平台特定实现保持核心代码平台无关
构建时条件编译Vite插件实现平台特性标记按需打包减少体积

模块交互与设计模式

服务层依赖管理

后端服务采用分层架构,通过NestJS依赖注入容器管理模块间依赖:

层级职责典型组件
控制器层请求处理和响应格式化REST控制器
服务层核心业务逻辑实现领域服务
仓库层数据访问和持久化TypeORM实体仓库
基础设施层外部服务集成和工具邮件服务、OSS客户端

关键数据流模式

模式名称应用场景技术实现优势特点
请求-响应API调用Axios + NestJS拦截器简单高效,易于调试
事件驱动更新状态变更通知Vue响应式系统 + Pinia解耦组件,提高可维护性
分层访问控制权限管理RBAC + 权限继承树细粒度控制,支持权限委派
多层缓存性能优化内存(LRU) + Redis二级缓存减少数据库压力,加速响应

横切关注点处理

关注点解决方案实现技术关键特性
身份验证OAuth 2.0集成Passport.js策略支持Gitee等第三方登录
授权管理基于角色的访问控制CASL权限库声明式权限规则,上下文感知
缓存策略全局缓存模块NestJS缓存管理器可配置TTL,命中率监控
日志记录集中式日志系统Winston + ELK Stack结构化日志,支持审计追踪
配置管理环境感知配置ConfigModule + dotenv多环境支持,热重载
文件管理对象存储集成OSS SDK封装分块上传,访问控制策略
异常处理全局异常过滤器NestJS异常过滤器统一错误格式,堆栈跟踪

平台架构通过清晰的层次划分和模块化设计,实现了高内聚低耦合的系统结构,为低代码开发提供了可靠的技术基础。

Released under the MIT License.