CN117667059A - 一种基于TypeScript实现Vue组件动态构建设计方法 - Google Patents

一种基于TypeScript实现Vue组件动态构建设计方法 Download PDF

Info

Publication number
CN117667059A
CN117667059A CN202311736240.3A CN202311736240A CN117667059A CN 117667059 A CN117667059 A CN 117667059A CN 202311736240 A CN202311736240 A CN 202311736240A CN 117667059 A CN117667059 A CN 117667059A
Authority
CN
China
Prior art keywords
component
components
setting
page
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311736240.3A
Other languages
English (en)
Inventor
邵健锋
朱国全
林鉴
苏莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Trend International Logis Tech Co ltd
Original Assignee
New Trend International Logis Tech Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New Trend International Logis Tech Co ltd filed Critical New Trend International Logis Tech Co ltd
Priority to CN202311736240.3A priority Critical patent/CN117667059A/zh
Publication of CN117667059A publication Critical patent/CN117667059A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于TypeScript实现Vue组件动态构建设计方法,包括如下步骤:S1:创建组件抽象类加载器:包含获取类型方法、设置类型方法和导入类型方法;S2:创建全局类管理器:包括继承抽象类加载器、设置基础类型对象和设置全局类管理器初始化事件;S3:创建类加载器管理器:包括设置类加载器管理启动事件、设置按顺序从类加载器获取类事件、设置增加类加载器事件、注册全局和获取类信息。本发明通过拖拉拽的方式并结合少量编码能力组合组件实现页面,同时不断沉淀高级组件以面对更多的需求迭代,从而有利于开发人员上手、非开发人员也可以配置自己想要的页面,将复杂的代码通过可视化的方式展现,让开发变得更加简单。

Description

一种基于TypeScript实现Vue组件动态构建设计方法
技术领域
本发明涉及计算机技术领域,具体为一种基于TypeScript实现Vue组件动态构建设计方法。
背景技术
随着互联网行业的发展,前端的页面开发的需求量也越来越多,需求的变更也相对频繁,当企业需要开发一个系统时,可能存在开发人员不足、人员能力一般、交付时间短等情况,在开发时如何在短时间内快速地构建页面,减少大量代码的本发明涉及计算机技术领域,具体为一种基于TypeScript实现Vue组件动态构建设计方法。
改写操作,减少人力成本,提高工作效率已成为我们当前需要挑战的难题。
发明内容
本发明的目的在于提供一种基于TypeScript实现Vue组件动态构建设计方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种基于TypeScript实现Vue组件动态构建设计方法,包括如下步骤:
S1:创建组件抽象类加载器:包含获取类型方法、设置类型方法和导入类型方法;
S2:创建全局类管理器:包括继承抽象类加载器、设置基础类型对象和设置全局类管理器初始化事件;
S3:创建类加载器管理器:包括设置类加载器管理启动事件、设置按顺序从类加载器获取类事件、设置增加类加载器事件、注册全局和获取类信息;
S4:创建抽象插件:包括插件ID、插件变量名称、权限字段、插槽名称、中文别名、自定义事件方法字段、自定义属性方法字段、组件需要用到的导入列表字段、帮助文档说明字段、组件的子组件列表集合字段、获取/设置变量名称方法、获取/设置权限字段方法和渲染方法代码;
S5:创建抽象可视/不可视组件:包括抽象可视组件包含是否是可视组件字段、是否隐藏组件、组件样式字段、是否展示节点字段、属性数据字段和渲染方法;
S6:创建可视化容器组件抽象类:包括只允许接收组件类型字段、不接收其他组件字段和开启接收其他组件字段;
S7:创建组件抽象类:包括继承抽象可视组件或者抽象不可视组件、声明组件的类型、声明组件的生命周期、声明组件的自定义属性、设置组件自定义方法、设置组件的预设方法和设置预设方法函数体;
S8:创建组件实体类:包括继承组件抽象类、设置初始化方法、设置辅助事件、获取抽象类属性进行初始化、重写组件渲染的render方法和renderDesigner方法;
S9:创建组件属性设置面板文件:包括增加组件的各个属性设置功能、组件方法编辑功能、组件交互事件设置功能、调用全局监听器和在数据发生变化时周知组件;
S10:创建组件的注册信息文件:包括设置组件的类名、中文名、类型图标、组件是否展示和展示在第几个菜单信息;
S11:拖拽生成组件实例:在页面可视化配置中的组件菜单面板中看到新增的组件,并拖拽组件到设计面板中;
S12:组件渲染:根据步骤S8创建出来的组件实例的renderDesigner方法渲染到设计面板上,选中组件进行拖拽,改变组件在画板上的位置,并根据画布工具,对组件进行上移动、下移动、删除和复制行为;
S13:属性配置:选中设计器中的当前组件,打开属性面板,显示组件的属性配置面板,并自定义属性信息、自定义组件方法内容并同步渲染到设计器中;
S14:接口请求设置:拖拽一个数据源组件至画布中,根据需求配置数据源组件,配置后的数据源组件进行相应的接口请求,并设置请求拦截器,对接口请求进行拦截;
S15:组件组合:根据业务需求拖拽对应的组件到设计面板中,根据布局组件,将业务需求的组件拖拽到布局组件中,自定义组件摆放位置,并根据每个组件的交互事件关联组件之间的联动效果以及数据交互处理;
S16:页面全局类型设置:在画布上选择页面选项,配置页面全局样式、全局变量和全局自定义方法,并设置页面交互事件;
S17:生成页面:组件都配置好后点击页面保存,调用当前页面所有组件的实体类的render方法,返回运行时执行html字符串,并存储页面配置到数据库,下次打开页面则根据页面的配置渲染所有的组件。
优选的,所述步骤S5中的渲染方法默认返回空字符串。
优选的,所述步骤S7中的函数体为字符串类型。
优选的,所述步骤S8中的render方法返回组件执行的html文本为运行时使用,renderDesigner返回的组件执行的html文本为配置时使用,且renderDesigner包括一些拖拽标签,并执行html文本使用element UI组件库。
优选的,所述步骤S14中的数据源组件支持sql类型、事物流类型、微服务类型和通用api类型。
优选的,所述步骤S14中设置预设信息或者对data进行处理,包含请求前拦截器、请求后拦截器和超时拦截器。
优选的,所述步骤S16中的页面交互事件包括页面创建事件、页面加载事件和页面销毁事件。
与现有技术相比,本发明的有益效果如下:
本发明通过拖拉拽的方式并结合少量编码能力组合组件实现页面,同时不断沉淀高级组件以面对更多的需求迭代,从而有利于开发人员上手、非开发人员也可以配置自己想要的页面,将复杂的代码通过可视化的方式展现,让开发变得更加简单。
附图说明
图1为本发明流程示意图。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,一种基于TypeScript实现Vue组件动态构建设计方法,包括如下步骤:
S1:创建组件抽象类加载器:包含获取类型方法、设置类型方法和导入类型方法;
S2:创建全局类管理器:包括继承抽象类加载器、设置基础类型对象和设置全局类管理器初始化事件;
S3:创建类加载器管理器:包括设置类加载器管理启动事件、设置按顺序从类加载器获取类事件、设置增加类加载器事件、注册全局和获取类信息;
S4:创建抽象插件:包括插件ID、插件变量名称、权限字段、插槽名称、中文别名、自定义事件方法字段、自定义属性方法字段、组件需要用到的导入列表字段、帮助文档说明字段、组件的子组件列表集合字段、获取/设置变量名称方法、获取/设置权限字段方法和渲染方法代码;
S5:创建抽象可视/不可视组件:包括抽象可视组件包含是否是可视组件字段、是否隐藏组件、组件样式字段、是否展示节点字段、属性数据字段和渲染方法;
S6:创建可视化容器组件抽象类:包括只允许接收组件类型字段、不接收其他组件字段和开启接收其他组件字段;
S7:创建组件抽象类:包括继承抽象可视组件或者抽象不可视组件、声明组件的类型、声明组件的生命周期、声明组件的自定义属性、设置组件自定义方法、设置组件的预设方法和设置预设方法函数体;
S8:创建组件实体类:包括继承组件抽象类、设置初始化方法、设置辅助事件、获取抽象类属性进行初始化、重写组件渲染的render方法和renderDesigner方法;
S9:创建组件属性设置面板文件:包括增加组件的各个属性设置功能、组件方法编辑功能、组件交互事件设置功能、调用全局监听器和在数据发生变化时周知组件;
S10:创建组件的注册信息文件:包括设置组件的类名、中文名、类型图标、组件是否展示和展示在第几个菜单信息;
S11:拖拽生成组件实例:在页面可视化配置中的组件菜单面板中看到新增的组件,并拖拽组件到设计面板中;
S12:组件渲染:根据步骤S8创建出来的组件实例的renderDesigner方法渲染到设计面板上,选中组件进行拖拽,改变组件在画板上的位置,并根据画布工具,对组件进行上移动、下移动、删除和复制行为;
S13:属性配置:选中设计器中的当前组件,打开属性面板,显示组件的属性配置面板,并自定义属性信息、自定义组件方法内容并同步渲染到设计器中;
S14:接口请求设置:拖拽一个数据源组件至画布中,根据需求配置数据源组件,配置后的数据源组件进行相应的接口请求,并设置请求拦截器,对接口请求进行拦截;
S15:组件组合:根据业务需求拖拽对应的组件到设计面板中,根据布局组件,将业务需求的组件拖拽到布局组件中,自定义组件摆放位置,并根据每个组件的交互事件关联组件之间的联动效果以及数据交互处理;
S16:页面全局类型设置:在画布上选择页面选项,配置页面全局样式、全局变量和全局自定义方法,并设置页面交互事件;
S17:生成页面:组件都配置好后点击页面保存,调用当前页面所有组件的实体类的render方法,返回运行时执行html字符串,并存储页面配置到数据库,下次打开页面则根据页面的配置渲染所有的组件。
步骤S5中的渲染方法默认返回空字符串。
步骤S7中的函数体为字符串类型。
步骤S8中的render方法返回组件执行的html文本为运行时使用,renderDesigner返回的组件执行的html文本为配置时使用,且renderDesigner包括一些拖拽标签,并执行html文本使用element UI组件库。
步骤S14中的数据源组件支持sql类型、事物流类型、微服务类型和通用api类型。
步骤S14中设置预设信息或者对data进行处理,包含请求前拦截器、请求后拦截器和超时拦截器。
步骤S16中的页面交互事件包括页面创建事件、页面加载事件和页面销毁事件。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:包括如下步骤:
S1:创建组件抽象类加载器:包含获取类型方法、设置类型方法和导入类型方法;
S2:创建全局类管理器:包括继承抽象类加载器、设置基础类型对象和设置全局类管理器初始化事件;
S3:创建类加载器管理器:包括设置类加载器管理启动事件、设置按顺序从类加载器获取类事件、设置增加类加载器事件、注册全局和获取类信息;
S4:创建抽象插件:包括插件ID、插件变量名称、权限字段、插槽名称、中文别名、自定义事件方法字段、自定义属性方法字段、组件需要用到的导入列表字段、帮助文档说明字段、组件的子组件列表集合字段、获取/设置变量名称方法、获取/设置权限字段方法和渲染方法代码;
S5:创建抽象可视/不可视组件:包括抽象可视组件包含是否是可视组件字段、是否隐藏组件、组件样式字段、是否展示节点字段、属性数据字段和渲染方法;
S6:创建可视化容器组件抽象类:包括只允许接收组件类型字段、不接收其他组件字段和开启接收其他组件字段;
S7:创建组件抽象类:包括继承抽象可视组件或者抽象不可视组件、声明组件的类型、声明组件的生命周期、声明组件的自定义属性、设置组件自定义方法、设置组件的预设方法和设置预设方法函数体;
S8:创建组件实体类:包括继承组件抽象类、设置初始化方法、设置辅助事件、获取抽象类属性进行初始化、重写组件渲染的render方法和renderDesigner方法;
S9:创建组件属性设置面板文件:包括增加组件的各个属性设置功能、组件方法编辑功能、组件交互事件设置功能、调用全局监听器和在数据发生变化时周知组件;
S10:创建组件的注册信息文件:包括设置组件的类名、中文名、类型图标、组件是否展示和展示在第几个菜单信息;
S11:拖拽生成组件实例:在页面可视化配置中的组件菜单面板中看到新增的组件,并拖拽组件到设计面板中;
S12:组件渲染:根据步骤S8创建出来的组件实例的renderDesigner方法渲染到设计面板上,选中组件进行拖拽,改变组件在画板上的位置,并根据画布工具,对组件进行上移动、下移动、删除和复制行为;
S13:属性配置:选中设计器中的当前组件,打开属性面板,显示组件的属性配置面板,并自定义属性信息、自定义组件方法内容并同步渲染到设计器中;
S14:接口请求设置:拖拽一个数据源组件至画布中,根据需求配置数据源组件,配置后的数据源组件进行相应的接口请求,并设置请求拦截器,对接口请求进行拦截;
S15:组件组合:根据业务需求拖拽对应的组件到设计面板中,根据布局组件,将业务需求的组件拖拽到布局组件中,自定义组件摆放位置,并根据每个组件的交互事件关联组件之间的联动效果以及数据交互处理;
S16:页面全局类型设置:在画布上选择页面选项,配置页面全局样式、全局变量和全局自定义方法,并设置页面交互事件;
S17:生成页面:组件都配置好后点击页面保存,调用当前页面所有组件的实体类的render方法,返回运行时执行html字符串,并存储页面配置到数据库,下次打开页面则根据页面的配置渲染所有的组件。
2.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S5中的渲染方法默认返回空字符串。
3.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S7中的函数体为字符串类型。
4.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S8中的render方法返回组件执行的html文本为运行时使用,renderDesigner返回的组件执行的html文本为配置时使用,且renderDesigner包括一些拖拽标签,并执行html文本使用element UI组件库。
5.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S14中的数据源组件支持sql类型、事物流类型、微服务类型和通用api类型。
6.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S14中设置预设信息或者对data进行处理,包含请求前拦截器、请求后拦截器和超时拦截器。
7.根据权利要求1所述的一种基于TypeScript实现Vue组件动态构建设计方法,其特征在于:所述步骤S16中的页面交互事件包括页面创建事件、页面加载事件和页面销毁事件。
CN202311736240.3A 2023-12-18 2023-12-18 一种基于TypeScript实现Vue组件动态构建设计方法 Pending CN117667059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311736240.3A CN117667059A (zh) 2023-12-18 2023-12-18 一种基于TypeScript实现Vue组件动态构建设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311736240.3A CN117667059A (zh) 2023-12-18 2023-12-18 一种基于TypeScript实现Vue组件动态构建设计方法

Publications (1)

Publication Number Publication Date
CN117667059A true CN117667059A (zh) 2024-03-08

Family

ID=90069628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311736240.3A Pending CN117667059A (zh) 2023-12-18 2023-12-18 一种基于TypeScript实现Vue组件动态构建设计方法

Country Status (1)

Country Link
CN (1) CN117667059A (zh)

Similar Documents

Publication Publication Date Title
US11620117B2 (en) Systems and methods for code clustering analysis and transformation
US7577909B2 (en) Flexible management user interface from management models
US8170901B2 (en) Extensible framework for designing workflows
US7774745B2 (en) Mapping of designtime to runtime in a visual modeling language environment
EP1643435B1 (en) An extensible framework for designing workflows
JP3592944B2 (ja) インターフェース方法、データ処理方法、プログラム作成方法、インターフェース装置、記憶媒体
US5379430A (en) Object-oriented system locator system
US7953767B2 (en) Developing applications using configurable patterns
US7913225B2 (en) Error handling using declarative constraints in a graphical modeling tool
US20070168932A1 (en) Support of a platform-independent model including descriptions of modeling language entities
EP3236352B1 (en) Automated graphical user interface configuration
US7624349B2 (en) Declarative definition enabling graphical designer reuse
US10635408B2 (en) Method and apparatus for enabling agile development of services in cloud computing and traditional environments
US8214797B2 (en) Visual association creation for object relational class development
US20100313182A1 (en) Extensible user interface generation
US20120331472A1 (en) Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item
WO1995004966A1 (en) Object-oriented locator system
JP2002544589A (ja) ビジネスオブジェクトインタフェースをビジュアルにカスタマイズするシステムおよび方法
JP6817253B2 (ja) 表示制御装置、表示制御方法、および表示制御プログラム
US20120060141A1 (en) Integrated environment for software design and implementation
Mitchell et al. A framework for user-interfaces to databases
EP2447830A1 (en) System and method for decoupling business logic and user interface via a generic object access layer
CN117667059A (zh) 一种基于TypeScript实现Vue组件动态构建设计方法
CN109814864A (zh) 一种数据可视化方法、可视化系统、网页浏览系统和设备
Bischofberger et al. Object-Oriented Programming Environments: Requirements and Approaches

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination