VTJ.PRO 在线应用开发平台的Open API 与外部集成

张开发
2026/6/10 2:16:13 15 分钟阅读
VTJ.PRO 在线应用开发平台的Open API 与外部集成
Open API 与外部集成OpenModule作为 VTJ.PRO 平台对外暴露的 API 接口层负责 VTJ IDE 客户端工作台、第三方集成与核心后端服务之间的通信。它提供了用于基于令牌的认证、DSL 转换、AI 代理桥接以及资源管理的专用端点。OpenModule 架构OpenModule被构建为一个标准的 NestJS 模块它聚合了来自业务层的多个服务并通过OpenController将它们暴露出来。数据流与组件交互下图说明了OpenController如何与核心及业务服务交互以满足外部请求。外部 API 交互映射认证与安全外部访问采用基于令牌的机制进行安全保护。OpenController提供了一个登录端点返回一个访问令牌该令牌必须包含在后续请求的请求头中。登录逻辑OpenService中的login方法通过UserService验证用户凭据然后通过AuthService生成一个 JWT。令牌验证OpenController中的大多数端点都受到守卫guard或内部检查的保护这些检查会验证Authorization请求头。主要 API 功能1. DSL 转换与检索Open API 为 VTJ IDE 提供了专用的端点用于检索应用模式DSL。这涉及将数据库实体转换为vtj/core期望的格式。getDsl检索特定应用或文件的 DSL。它利用DslService从DslEntity获取数据。saveDsl允许 IDE 将更改持久化回服务器。它处理版本控制并区分dev和prod环境。2. AI 代理聊天桥接OpenModule充当 AI 交互的代理特别是针对低代码助手。chat一个桥接到AIService的端点。它支持流式响应以便在 IDE 中实时提供代码生成建议。提示词处理它将上下文特定信息例如当前 DSL 状态传递给AIService以确保大语言模型拥有生成准确代码所需的元数据。3. 模板发布第三方开发者或高级用户可以通过 Open API 将本地项目作为平台模板发布。publishTemplate该函数接收项目负载进行验证并调用TemplateService来创建新的TemplateEntity。4. OSS 与文件管理该 API 提供对对象存储服务OSS的受控访问用于上传低代码项目中使用的资源图片、图标。upload封装OssService处理文件的多部分上传并返回一个公开的 URL。实现细节OpenServiceOpenService类封装了外部集成的业务逻辑。方法角色目标实体/服务login对外部客户端进行认证AuthService,UserEntitygetApp获取应用元数据LowcodeAppService,AppEntitygetDsl检索 DSL 模式DslService,DslEntitysaveDsl更新 DSL 模式DslServicepublish触发项目部署DslService.publishFromDevchat代理 AI 请求AIService代码实体映射下图展示了逻辑 API 函数与代码库中具体类和方法之间的映射关系。代码实体空间映射转换工具OpenModule经常使用转换工具来清理数据然后再将其发送给外部客户端。这确保了内部的数据库字段如密码或敏感的系统标志不会暴露。DSL 清理在getDsl返回数据之前可能会剥离仅与后端存储相关的元数据。资源 URL 解析使用OssService的配置将内部的 OSS 路径转换为完整的 URL。参考资料官网文档https://vtj.pro/在线平台https://app.vtj.pro/开源仓库https://gitee.com/newgateway/vtj

更多文章