后端模块系统
VTJ.PRO 后端是一个基于 NestJS 的应用,其设计采用了模块化架构,将平台级服务与特定领域的业务逻辑分离开来。它为低代码引擎提供了坚实的基础,具有自动验证、标准化响应封装和全面的安全模型等特性。
AppModule 组合
AppModule 作为后端应用的根模块。它协调了核心基础设施、业务模块和全局配置的集成。
- 基础设施:通过
ConfigModule加载环境变量,通过TypeOrmModule管理数据库连接,并通过MulterModule处理文件上传。 - 模块分离:系统区分了
CoreModules(身份认证、访问控制、系统设置)和BusinessModules(低代码应用、DSL管理、AI智能体)。
后端系统架构
下图说明了主入口点、共享基础设施和模块层之间的关系。
flowchart TD
Main["main.ts"]
AppMod["AppModule"]
ValPipe["ValidationPipe"]
LogInt["LoggingInterceptor"]
ResInt["ResponseInterceptor"]
ExcFil["AllExceptionsFilter"]
Core["Core Modules (Auth, RBAC, Cache)"]
Biz["Business Modules (DSL, Apps, AI)"]
Main --> AppMod
AppMod --> Core
AppMod --> Biz
AppMod -.-> ValPipe
AppMod -.-> LogInt
AppMod -.-> ResInt
全局中间件与请求生命周期
后端使用 NestJS 的原生组件实现标准化的请求/响应生命周期,以确保所有端点的一致性。
| 组件 | 类名 | 用途 |
|---|---|---|
| 验证 | ValidationPipe | 强制使用 DTO 模式并转换输入类型 |
| 日志记录 | LoggingInterceptor | 记录请求持续时间和元数据,用于监控 |
| 响应封装 | ResponseInterceptor | 将所有成功响应封装为标准 { code, data, msg } 格式 |
| 异常处理 | AllExceptionsFilter | 捕获所有错误并返回标准化的 JSON 错误响应 |
Swagger 文档
该平台使用 Swagger 自动生成 API 文档。在开发环境中,可通过 /docs 端点访问。该设置包括 JWT Bearer 认证配置,允许直接从 UI 测试受保护的路由。
核心模块与业务模块
代码库在 backend/src/ 中分为两个主要目录,以保持关注点的清晰分离。
核心模块
这些模块提供了任何企业应用所需的“平台”能力。
- 身份与访问:
AuthModule和UserModule处理认证(包括 OAuth)和用户资料。 - RBAC:
RoleModule和PermissionModule管理细粒度的访问控制列表。 - 系统服务:包括
CacheModule(Redis/内存)、SettingModule(全局配置)和OssModule(对象存储)。
有关详细信息,请参阅 核心模块(用户、认证、RBAC、缓存、设置)。
业务模块
这些模块包含特定于 VTJ 低代码平台的领域逻辑。
- 低代码引擎:
LowcodeAppModule和DSLModule管理应用及其 JSON 模式的生命周期。 - AI 与智能:
AgentModule和SkillModule与大语言模型(LLMs)集成,提供 AI 辅助开发功能。 - 商业与运营:
OrderModule和ProductModule处理平台的商业化功能。
有关详细信息,请参阅 业务模块(应用、DSL、模板、订单、智能体、技能)。
代码实体映射
下图展示了逻辑模块组与其在代码中具体服务实现之间的映射关系。
flowchart TD
AuthS["AuthService"]
UserS["UserService"]
RoleS["RoleService"]
CacheS["CacheService"]
AppS["LowcodeAppService"]
DslS["DslService"]
AgentS["AgentService"]
SkillS["SkillService"]
BCS["BaseCrudService"]
BCC["BaseCrudController"]
AuthS -.-> UserS
AppS -.-> BCS
RoleS -.-> BCS
DslS -.-> AppS
参考资料
- 官网文档:vtj.pro/
- 在线平台:app.vtj.pro/
- 开源仓库:gitee.com/newgateway/…