本发明涉及软件开发,具体为一种低代码平台自定义组件的系统和方法。
背景技术:
1、低代码开发平台是能帮助不同水平的人员通过使用较少或不使用代码能快速搭建适用于特定场景软件应用的程序。
2、现有技术中,于近几年产业数字化进程的推进,对特定范围应用的依赖需求增大,及不同低代码平台商业化的成功,促进了低代码平台快速发展。
3、但是,低代码平台有着实现成本低、开发上线快、使用门槛低、对特定开发人员的依赖减少、降本增效等优点。然而,随着业务场景的深入,低代码平台也暴露了通用功能的封装抽象和特定业务的实现不能达到很好的平衡的问题。
技术实现思路
1、本发明的目的在于提供一种低代码平台自定义组件的系统和方法,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:一种低代码平台自定义组件的系统,所述系统由组件编辑模块、组件交互模块、组件预览模块、组件注册模块、源码检测模块、源码拓展模块以及代码编译模块构成;
3、组件编辑模块,配置组件的描述、使用信息;
4、组件交互模块,基于低代码平台组件引擎,向用户提供页面交互所需的属性及api;
5、组件预览模块,通过代码热更新的方式实时查看组件在创建过程中最新的效果;
6、组件注册模块:支持从服务器加载的组件通过平台组件引擎的动态注册机制将自定义组件动态引入该模块页面;
7、源码检测模块,用于检测组件代码是否符合平台预定义好的的语法规范、使用规范,及执行单元测试;
8、源码拓展模块,用于动态的向源码插入加载公共配置\功能及业务按需用到的功能的路径代码;
9、代码编译模块,用于将代码先转成ast格式,再编译成平台展示需要的js文件,以支持不同平台的客户端能正确的加载使用组件文件。
10、优选的,组件编辑模块包括id、名称、分类、标签、模块,支持用户通过使用代码在线开发平台自己编写组件;支持针对已有的组件池通过可视化操作以构建页面的方式利用组件生成器拖拽生成新组件及源代码。
11、优选的,组件交互模块包括:数据中心、逻辑中心、接口配置、异步执行、流程钩子、内外部组件联动,方便用户自己实现需要的功能;支持组件暴露自定义属性:包括平台配置的结构化描述dls语法所需的属性,及组件设置动态的交互逻辑和行为逻辑所需的属性。
12、一种低代码平台自定义组件的方法,所述方法包括以下步骤:
13、s1:用户在浏览器基于自己的业务创建自定义组件并进行注册;
14、s2:服务器建立长链接用于将用户创建的自定义组件转给文件编译模块处理;
15、s3:文件编译模块对创建的自定义组件执行代码转换、功能注入、编译操作,生成实际应用需要的js格式组件文件;
16、s4:浏览器通过长链接获取到转译后的自定义组件文件进行预览、编辑操作。
17、优选的,还包括:
18、平台支持用户通过可视化和输入代码的方式创建自定义组件,包括:根据已有的组件池通过可视化操作并编辑联动事件生成自定义组件;通过外部引用或者自定义功能通过代码的方式生成创建组件。
19、优选的,还包括:
20、使用2种方式创建的自定义组件最终需要转成同一种格式来提供给平台使用,包括:通过对已有组件通过可视化操作生成的新组件根据已有组件生成器对dsl代码进行转换生成前端使用的js格式文件;对js格式文件和用户通过代码创建的自定义组件文件在nodejs环境下,通过格式转换功能插件,以ast格式为中介,对代码进行parse、traverse、generate操作,最终生成浏览器需要的cmd\umd\commonjs格式的js文件。
21、优选的,还包括:
22、向组件文件插入接入低代码平台功能的代码,包括:在编译过程种,使用nodejs的file模块,在代码文件js脚本起始位置插入引用平台数据中心、逻辑中心能力的链接代码、插入引入平台公共功能的链接代码。
23、与现有技术相比,本发明的有益效果是:
24、本发明提出的低代码平台自定义组件的系统和方法,在创建自定义组件时,支持用户以可视化操作和自定义编码的形式创建新组件,通过在服务端热更新组件代码确保用户能实时预览当前的组件效果;创建后注册组件时,node.js服务端会根据组件使用到的功能为代码动态注入加载所需功能的代码,同时会以ast为媒介,转成低代码平台所在客户端需要的组件文件格式。
1.一种低代码平台自定义组件的系统,其特征在于:所述系统由组件编辑模块、组件交互模块、组件预览模块、组件注册模块、源码检测模块、源码拓展模块以及代码编译模块构成;
2.根据权利要求1所述的一种低代码平台自定义组件的系统,其特征在于:组件编辑模块包括id、名称、分类、标签、模块,支持用户通过使用代码在线开发平台自己编写组件;支持针对已有的组件池通过可视化操作以构建页面的方式利用组件生成器拖拽生成新组件及源代码。
3.根据权利要求1所述的一种低代码平台自定义组件的系统,其特征在于:组件交互模块包括:数据中心、逻辑中心、接口配置、异步执行、流程钩子、内外部组件联动,方便用户自己实现需要的功能;支持组件暴露自定义属性:包括平台配置的结构化描述dls语法所需的属性,及组件设置动态的交互逻辑和行为逻辑所需的属性。
4.一种低代码平台自定义组件的系统用低代码平台自定义组件的方法,其特征在于:所述方法包括以下步骤:
5.根据权利要求4所述的一种低代码平台自定义组件的方法,其特征在于:还包括:
6.根据权利要求4所述的一种低代码平台自定义组件的方法,其特征在于:还包括:
7.根据权利要求4所述的一种低代码平台自定义组件的方法,其特征在于:还包括: