[发明专利]基于动态模板编译技术的插件系统及其实现方法有效
申请号: | 202110446048.5 | 申请日: | 2021-04-25 |
公开(公告)号: | CN113110845B | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 王力国;王玉略;金克;纪达麒;陈运文 | 申请(专利权)人: | 达而观数据(成都)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 贾年龙 |
地址: | 610015 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 动态 模板 编译 技术 插件 系统 及其 实现 方法 | ||
本发明涉及低代码开发平台技术领域,公开了一种基于动态模板编译技术的插件系统及其实现方法,本系统包括表单生成器、模板代码编辑器和代码生成器,所述表单生成器负责对基础组件进行条件渲染,同时处理基本的代码编译控制逻辑,然后生成一段用于描述整个表单的JSON文件;所述模板代码编辑器负责建立Python代码生成映射,编写Python代码的生成模板,并生成一段伪Python代码;所述代码生成器将伪Python代码与JSON文件相结合,最终编译为可执行的Python代码。本发明提供的低代码开发平台插件系统基于巧妙的动态模板编译技术,提高了整个插件系统的安全性和整个低代码开发平台的可扩展性。
技术领域
本发明涉及低代码开发平台技术领域,尤其涉及一种基于动态模板编译技术的插件系统及其实现方法。
背景技术
随着近些年低代码开发平台在市场的不断普及,市场对低代码系统相关组件的需求也变得日益复杂,传统低代码开发平台为了保证系统可扩展,除了内置控件之外会采取提供编码的方式,但这就失去了低代码开发平台的核心价值,即降低开发成本。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种基于动态模板编译技术的插件系统及其实现方法,该插件系统通过一种折中的基于动态模版编译技术插件架构,支持用户以较低开发成本来可视化编排自己的控件,可以极大提高低代码开发平台的可扩展性。
本发明采用的技术方案如下:
一方面,本发明提供一种基于动态模板编译技术的插件系统,包括:表单生成器、模板代码编辑器和代码生成器;
所述表单生成器负责对基础组件进行条件渲染,同时处理基本的代码编译控制逻辑,然后生成一段用于描述整个表单的JSON文件;
所述模板代码编辑器负责建立Python代码生成映射,编写Python代码的生成模板,生成一段伪Python代码;
所述代码生成器根据表单生成器生成的JSON文件以及模板代码编辑器生成的伪Python代码,将伪Python代码与JSON文件相结合,最终编译为可执行的Python代码。
进一步的,在Python代码的生成过程中,采用递归的方式生成Python代码,在该生成过程中使用闭包实现节点之间的状态传递。
进一步的,所述代码生成器通过使用Nodejs虚拟机的沙箱环境注入JSON文件后安全地将伪Python代码编译为可执行的合法的Python代码。
进一步的,所述基础组件包括输入框、复选框、颜色选择器、路径选择器和下拉框。
进一步的,所述表单生成器负责对基础组件进行条件渲染过程包括:通过动态模板编译技术在生成JavaScript中间代码并在渲染基础组件的时候实现条件关系的检测。
另一方面,本发明还提供一种基于动态模板编译技术的插件系统实现方法,包括:
步骤1:通过表单生成器对基础组件进行条件渲染,同时通过表单生成器处理基本的代码编译控制逻辑,然后生成一段用于描述整个表单的JSON文件;
步骤2:通过模板代码编辑器建立Python代码的生成映射,编写Python代码的生成模板,生成一段伪Python代码;
步骤3:将表单生成器生成的JSON文件以及模板代码编辑器生成的伪Python代码传输给代码生成器,代码生成器再将伪Python代码与JSON文件相结合,最终编译为可执行的Python代码。
进一步的,在Python代码的生成过程中,采用递归的方式生成Python代码,在该生成过程中使用闭包实现节点之间的状态传递。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于达而观数据(成都)有限公司,未经达而观数据(成都)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110446048.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种土木建筑施工用的浇筑框架固定结构
- 下一篇:一种变温霍尔效应测试夹具