CN109614095A - 用户自定义组件的方法、平台代码的生成方法及装置 - Google Patents
用户自定义组件的方法、平台代码的生成方法及装置 Download PDFInfo
- Publication number
- CN109614095A CN109614095A CN201811501924.4A CN201811501924A CN109614095A CN 109614095 A CN109614095 A CN 109614095A CN 201811501924 A CN201811501924 A CN 201811501924A CN 109614095 A CN109614095 A CN 109614095A
- Authority
- CN
- China
- Prior art keywords
- information
- source code
- user
- component
- module
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation 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
本发明提供了一种用户自定义组件的方法、平台代码的生成方法及装置,包括:获取用户对组件设定的属性信息;获取用户对组件设定的至少一个与目标平台对应的源代码模板;基于属性信息和至少一个源代码模板生成与组件对应的组件信息。本发明通过获取组件的属性信息和源代码模板,即可生成对应的组件信息,简化了组件信息的开发过程,进而提高开发组件信息的效率。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及一种用户自定义组件的方法、平台代码的生成方法及装置。
背景技术
组件是对数据的简单封装,通过组件拖拽可以生成对应的源代码,其中,组件的各项属性需要进行相应的设置,以生成各个组件的组件信息,进而才可以根据组件信息生成对应的源代码,但是,现有的组件信息的设定过程较为复杂,导致开发组件信息的效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种用户自定义组件的方法、平台代码的生成方法及装置,可以简化组件信息的开发过程,进而提高开发组件信息的效率。
第一方面,本发明实施例提供了一种用户自定义组件的方法,包括:获取用户对组件设定的属性信息;获取用户对组件设定的至少一个与目标平台对应的源代码模板;基于属性信息和至少一个源代码模板生成与组件对应的组件信息。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述属性信息包括:属性名称、属性类型和默认值。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述获取用户对组件设定的属性信息包括:获取用户输入的属性名称;向用户提供属性类型的选择列表,获取用户从属性类型的选择列表中选择的属性类型;获取用户输入的默认值。
第二方面,本发明实施例还提供一种平台代码的生成方法,包括:获取用户拖拽至界面内的每个组件的预设组件信息;其中,预设组件信息采用第一方面至第一方面的第二种可能的实施方式任一项的方法预先生成;预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板;基于用户对组件的拖拽事件动态生成界面内的组件之间的层级关系;基于层级关系和预设属性信息生成数据对象;数据对象用于记载界面包含的内容信息;基于源代码模板和数据对象生成界面的源代码;其中,生成的界面的源代码能够适应目标平台。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述在基于层级关系和预设组件信息生成数据对象之前包括:基于用户对预设属性信息的修改生成自定义属性信息;方法还包括:基于层级关系、预设组件信息以及自定义属性信息生成数据对象。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述基于源代码模板和数据对象生成界面的源代码包括:获取目标平台的平台信息;查找每个组件与平台信息对应的源代码模板;根据查找到的每个组件对应的源代码模板和数据对象生成界面的源代码。
第三方面,本发明实施例还提供一种用户自定义组件的装置,包括:属性信息获取模块,用于获取用户对组件设定的属性信息;模板获取模块,用于获取用户对组件设定的至少一个与目标平台对应的源代码模板;组件信息生成模块,用于基于属性信息和至少一个源代码模板生成与组件对应的组件信息。
结合第三方面,本发明实施例提供了第三方面的第一种可能的实施方式,其中,上述属性信息获取模块还用于:所述属性信息包括:属性名称、属性类型和默认值。
结合第三方面,本发明实施例提供了第三方面的第二种可能的实施方式,其中,上述属性信息获取模块还用于:获取用户输入的属性名称;向用户提供属性类型的选择列表,获取用户从属性类型的选择列表中选择的属性类型;获取用户输入的默认值。
第四方面,本发明实施例还提供一种平台代码的生成装置,包括:信息获取模块,用于获取用户拖拽至界面内的每个组件的预设组件信息;其中,预设组件信息采用第一方面至第一方面的第二种可能的实施方式任一项的方法预先生成;预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板;层级关系生成模块,用于基于用户对组件的拖拽事件动态生成界面内的组件之间的层级关系;数据对象生成模块,用于基于层级关系和预设属性信息生成数据对象;数据对象用于记载界面包含的内容信息;源代码生成模块,用于基于源代码模板和数据对象生成界面的源代码;其中,生成的界面的源代码能够适应目标平台。
结合第四方面,本发明实施例提供了第四方面的第一种可能的实施方式,其中,上述数据对象生成模块还用于:在基于层级关系和预设组件信息生成数据对象之前包括:基于用户对预设属性信息的修改生成自定义属性信息;数据对象生成模块还用于:基于层级关系、预设组件信息以及自定义属性信息生成数据对象。
结合第四方面,本发明实施例提供了第四方面的第二种可能的实施方式,其中,上述源代码生成模块还用于:获取目标平台的平台信息;查找每个组件与平台信息对应的源代码模板;根据查找到的每个组件对应的源代码模板和数据对象生成界面的源代码。
第五方面,本发明实施例还提供一种电子设备,电子设备包括存储器以及处理器,存储器用于存储支持处理器执行第一方面至第一方面的第二种可能的实施方式任一项方法的程序,或执行如第二方面至第二方面的第二种可能的实施方式的方法,处理器被配置为用于执行存储器中存储的程序。
第六方面,本发明实施例还提供一种计算机存储介质,用于储存为第一方面至第一方面的第二种可能的实施方式任一项方法所用的计算机软件指令,或者存储为第二方面至第二方面的第二种可能的实施方式方法所用的计算机软件指令。
本发明实施例带来了以下有益效果:
本发明实施例提供一种用户自定义组件的方法及装置,首先获取用户对组件设定的属性信息,再获取用户对组件设定的至少一个与目标平台对应的源代码模板,便可根据上述属性信息的源代码模板生成该组件对应的组件信息。本发明实施例通过获取组件的属性信息和源代码模板,即可生成对应的组件信息,简化了组件信息的开发过程,进而提高开发组件信息的效率。
本发明实施例提供一种平台代码的生成方法的方法及装置,能够获取用户拖拽至界面内的每个组件的预设组件信息,其中,预设组件信息包括预设属性信息和至少一个目标平台对应的源代码模板,然后基于拖拽事件动态地生成界面内组件之间的层级关系,并基于层级关系和上述预设属性信息生成数据对象,最后基于上述源代码模板和数据对象生成界面的源代码。本发明实施例通过交互拖拽上述用户自定义组件的方法得到的组件生成数据对象,并根据模板和数据对象生成目标平台的源代码,减少开发人员编写平台代码的过程,提高平台代码生成的效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种用户自定义组件的方法的流程图;
图2为本发明实施例提供的一种平台代码的生成方法的流程图;
图3为本发明实施例提供的一种用户自定义组件的装置的结构示意图;
图4为本发明实施例提供的一种平台代码的生成装置的结构示意图;
图5为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前组件信息的设定过程较为复杂,导致开发组件信息的效率较低,基于此,本发明实施例提供一种用户自定义组件的方法、平台代码的生成方法及装置,可以简化组件信息的开发过程,进而提高开发组件信息的效率。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种用户自定义组件的方法进行详细介绍,参见图1所示的一种用户自定义组件的方法的流程图,该方法包括以下步骤:
步骤S102,获取用户对组件设定的属性信息。
其中,属性信息可以包括组件名称,组件类型和一些,默认参数,用户可以通过属性信息设置界面对组件的属性信息进行设置,进一步的,属性信息设置界面向用户提供“确定”按钮,当用户设置完组件的属性信息,点击“确定按钮”,即可获取对应的属性信息。
步骤S104,获取用户对组件设定的至少一个与目标平台对应的源代码模板。
其中,目标平台可以为Mac平台、Windows平台、Linux或Web(World Wide Web,万维网)平台,另外,目标平台还可以包括安卓平台和IOS平台。可以看出,不同平台使用的编程语言差异较大,因此应针对不同平台,甚至针对不同平台的不用编程语言分别设置对应的源代码模板。
在一种实施方式中,可以向用户提供源代码编辑界面,用户可以在源代码编辑界面针对不同平台对应的编辑源代码模板。
步骤S106,基于属性信息和至少一个源代码模板生成与组件对应的组件信息。
因为组件信息至少由属性信息和源代码模板组成,因此在获取到属性信息和源代码模板后,便可生成对应的组件信息。
例如,获取用户对组件A设定的属性信息,再获取用户对组件设定的MAC平台对应的源代码模板和Windows平台对应的源代码模板,然后便基于上述属性信息和源代码模板生成组件A的组件信息。
本发明实施例提供一种用户自定义组件的方法,首先获取用户对组件设定的属性信息,再获取用户对组件设定的至少一个与目标平台对应的源代码模板,便可根据上述属性信息的源代码模板生成该组件对应的组件信息。本发明实施例通过获取组件的属性信息和源代码模板,即可生成对应的组件信息,简化了组件信息的开发过程,进而提高开发组件信息的效率。进一步的上述属性信息包括属性名称(也即,前述组件名称)、属性类型(也即,前述组件类型)和默认值。以表1所示的button(按钮)组件为例,该组件包括多个属性以及与各属性对应的属性名称、属性类型和默认值。具体的,可以包括属性type、属性size、属性icon、属性cricle、属性loading、属性disabled等,其中,属性type为按钮类型,其属性类型包括“default”、“primary”、“warning”、“danger”和“success”|“none”,其默认值为“default”;属性size为按钮尺寸,其属性类型包括“default”|“small”和“mini”,其默认值为“default”;属性icon为是否为图标按钮,其属性类型为Boolean,默认值为false;属性cricle为是否为圆角按钮,其属性类型为Boolean,默认值为false;属性loading为是否为正在加载中的按钮,其属性类型为Boolean,默认值为false;属性disabled为是否为禁用状态,其属性类型为Boolean,默认值为false。
表1
进一步的,用户可以自定义多种组件,例如Dialog(弹窗)组件、Form(表单)组件和Input(输入框)组件等多种组件。
进一步的,本发明实施例还提供了获取用户对组件设定的属性信息的步骤,参见如下所示过程:
(1)获取用户输入的属性名称。如属性type或属性size等,进一步的,还可以在属性名称下对属性进行相应的说明。
(2)向用户提供属性类型的选择列表,获取用户从属性类型的选择列表中选择的属性类型。考虑到便于用户设置属性类型,可以将属性类型以选择列表的形式提供给用户。当用户点击选择列表后,将示出“default”、“primary”或“warning”等多种属性类型。
(3)获取用户输入的默认值。其中,默认值可以为false、undefined或default等多种默认值,用户基于自身需求对其进行设置。
为便于理解,本实施例提供一种平台代码的生成方法,参见图2所示的一种平台代码的生成方法的流程图,该方法具体包括以下步骤:
步骤S202,获取用户拖拽至界面内的每个组件的预设组件信息。
其中,预设组件信息采用上述实施例提供的用户自定义组件的方法预先生成;预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板,其中,预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板,预设属性信息用于对组件的各项信息进行描述,组件的各项信息可以包括组件的使用条件、放置位置以及组件实现的功能。可以理解的,因为不同平台应用的编程语言有所不同,因此针对不同的平台应设置对应的源代码模板。
步骤S204,基于用户对组件的拖拽事件动态生成界面内的组件之间的层级关系。
其中,层级关系为各组件之间的关系,例如,组件A包括组件B或者组件A和组件B并列。
步骤S206,基于层级关系和预设属性信息生成数据对象。
数据对象用于记载界面包含的内容信息,在具体实施时,数据对象记载的内容可以包括各组件之间的层级关系以及各组件的预设属性信息,以通过数据对象记载各组件之间的层级关系为例,假设组件A包括组件B,则在数据对象中可以记载为:组件B为组件A的子元素;假设组件A和组件B为并列关系,则在数据对象中可以记载为:组件A和组件B为兄弟元素。
进一步的,本发明实施例还可以在基于层级关系和预设组件信息生成数据对象之前,基于用户对预设属性信息的修改生成自定义属性信息,然后基于层级关系、预设组件信息以及自定义属性信息生成数据对象。当用户希望更改属性信息的参数时,也可以对预设属性进行修改,得到用户所需的自定义属性。例如,用户可以对预设属性信息中的组件名称进行修改。可以理解的,当用户对预设组件信息进行更改时,生成了对应的自定义属性信息,此时将根据层级关系,预设组件信息和自定义属性信息生成对应的数据对象。
步骤S208,基于源代码模板和数据对象生成界面的源代码;其中,生成的界面的源代码能够适应目标平台。
因为在预设属性信息中包括至少一个源代码模板,所以为了生成的界面的源代码能够适应目标平台,需要在基于源代码模板和数据对象生成界面的源代码之前,应先确定目标平台,进而确定与该目标平台对应的源代码模板,然后基于数据对象中记载的界面的内容信息,生成所需的目标平台的源代码。
进一步的,本发明实施例还提供了基于源代码模板和数据对象生成界面的源代码的步骤,参见如下所示步骤:
(1)获取目标平台的平台信息。考虑到需要根据数据对象生成目标平台的源代码,所以需要目标平台的平台信息,以便于针对平台信息获取对应的源代码模板,进而生成能够适应目标平台的源代码。
(2)查找每个组件与平台信息对应的源代码模板。为了便于查找与平台信息对应的源代码模板,可以设置平台信息和源代码模板的关联信息,或者将平台信息和源代码模板的对应关系关联保存至预设表格中。另外,当界面内存在多个组件时,将分别在各组件的预设属性信息内查找目标平台对应的源代码模板。
(3)根据查找到的每个组件对应的源代码模板和数据对象生成界面的源代码。
本发明实施例提供的平台代码的生成方法,能够获取用户拖拽至界面内的每个组件的预设组件信息,其中,预设组件信息包括预设属性信息和至少一个目标平台对应的源代码模板,然后基于拖拽事件动态地生成界面内组件之间的层级关系,并基于层级关系和上述预设属性信息生成数据对象,最后基于上述源代码模板和数据对象生成界面的源代码。本发明实施例通过交互拖拽上述用户自定义组件的方法得到的组件生成数据对象,并根据模板和数据对象生成目标平台的源代码,减少开发人员编写平台代码的过程,提高平台代码生成的效率。
综上所述,本发明实施例通过用户自定义组件的方法生成用户所需的组件,在通过平台代码的生成方法将组件生成目标平台的源代码,有助于减少开发人员编写平台代码的过程,进而提高平台源代码生成的效率。
在前述实施例的基础上,参见图3所示的一种用户自定义组件的装置的结构示意图,该装置包括以下部分:
属性信息获取模块302,用于获取用户对组件设定的属性信息;其中,属性信息包括:属性名称、属性类型和默认值。
模板获取模块306,用于获取用户对组件设定的至少一个与目标平台对应的源代码模板。
组件信息生成模块308,用于基于属性信息和至少一个源代码模板生成与组件对应的组件信息。
进一步的,上述属性信息获取模块还用于:获取用户输入的属性名称,向用户提供属性类型的选择列表,获取用户从属性类型的选择列表中选择的属性类型,并获取用户输入的默认值。
本发明实施例提供一种用户自定义组件的装置,首先由属性信息获取模块获取用户对组件设定的属性信息,再由模板获取模块获取用户对组件设定的至少一个与目标平台对应的源代码模板,组件信息生成模块便可根据上述属性信息的源代码模板生成该组件对应的组件信息。通过获取组件的属性信息和源代码模板,即可生成对应的组件信息,简化了组件信息的开发过程,进而提高开发组件信息的效率。
为便于对上述实施例进行理解,本发明实施例还提供了一种平台代码的生成装置,参见图4所示的一种平台代码的生成装置的结构示意图,该装置包括以下部分:
信息获取模块402,用于获取用户拖拽至界面内的每个组件的预设组件信息;其中,预设组件信息采用前述实施例提供的用户自定义组件的方法预先生成;预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板。
层级关系生成模块404,用于基于用户对组件的拖拽事件动态生成界面内的组件之间的层级关系。
数据对象生成模块406,用于基于层级关系和预设属性信息生成数据对象;数据对象用于记载界面包含的内容信息。
源代码生成模块408,用于基于源代码模板和数据对象生成界面的源代码;其中,生成的界面的源代码能够适应目标平台。
本发明实施例提供的平台代码的生成装置,信息获取模块能够获取用户拖拽至界面内的每个组件的预设组件信息,其中,预设组件信息包括预设属性信息和至少一个目标平台对应的源代码模板,然后层级关系生成模块基于拖拽事件动态地生成界面内组件之间的层级关系,并通过数据对象生成模块基于层级关系和上述预设属性信息生成数据对象,最后源代码生成模块基于上述源代码模板和数据对象生成界面的源代码。本发明实施例通过交互拖拽上述用户自定义组件的方法得到的组件生成数据对象,并根据模板和数据对象生成目标平台的源代码,减少开发人员编写平台代码的过程,提高平台代码生成的效率。进一步的,上述数据对象生成模块还用于:在基于层级关系和预设组件信息生成数据对象之前,基于用户对预设属性信息的修改生成自定义属性信息,并基于层级关系、预设组件信息以及自定义属性信息生成数据对象。
进一步的,上述源代码生成模块还用于:获取目标平台的平台信息,然后查找每个组件与平台信息对应的源代码模板,并根据查找到的每个组件对应的源代码模板和数据对象生成界面的源代码。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
该设备为一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
图5为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器50可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的用户自定义组件的方法、平台代码的生成方法及装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种用户自定义组件的方法,其特征在于,包括:
获取用户对组件设定的属性信息;
获取用户对组件设定的至少一个与目标平台对应的源代码模板;
基于所述属性信息和至少一个所述源代码模板生成与所述组件对应的组件信息。
2.根据权利要求1所述的方法,其特征在于,所述属性信息包括:属性名称、属性类型和默认值。
3.根据权利要求2所述的方法,其特征在于,所述获取用户对组件设定的属性信息包括:
获取用户输入的属性名称;
向所述用户提供属性类型的选择列表,获取所述用户从所述属性类型的选择列表中选择的属性类型;
获取用户输入的默认值。
4.一种平台代码的生成方法,其特征在于,包括:
获取用户拖拽至界面内的每个组件的预设组件信息;其中,所述预设组件信息采用权利要求1-3任一项所述的方法预先生成;所述预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板;
基于用户对所述组件的拖拽事件动态生成所述界面内的组件之间的层级关系;
基于所述层级关系和所述预设属性信息生成数据对象;所述数据对象用于记载所述界面包含的内容信息;
基于所述源代码模板和所述数据对象生成所述界面的源代码;其中,生成的所述界面的源代码能够适应所述目标平台。
5.根据权利要求4所述的方法,其特征在于,在所述基于所述层级关系和所述预设组件信息生成数据对象之前包括:
基于用户对所述预设属性信息的修改生成自定义属性信息;
所述方法还包括:
基于所述层级关系、所述预设组件信息以及所述自定义属性信息生成数据对象。
6.根据权利要求4所述的方法,其特征在于,所述基于所述源代码模板和所述数据对象生成所述界面的源代码的步骤,包括:
获取所述目标平台的平台信息;
查找每个所述组件与所述平台信息对应的源代码模板;
根据查找到的每个所述组件对应的所述源代码模板和数据对象生成所述界面的源代码。
7.一种用户自定义组件的装置,其特征在于,包括:
属性信息获取模块,用于获取用户对组件设定的属性信息;
模板获取模块,用于获取用户对组件设定的至少一个与目标平台对应的源代码模板;
组件信息生成模块,用于基于所述属性信息和至少一个所述源代码模板生成与所述组件对应的组件信息。
8.根据权利要求7所述的装置,其特征在于,所述属性信息获取模块还用于:
所述属性信息包括:属性名称、属性类型和默认值。
9.根据权利要求7所述的装置,其特征在于,所述属性信息获取模块还用于:
获取用户输入的属性名称;
向所述用户提供属性类型的选择列表,获取所述用户从所述属性类型的选择列表中选择的属性类型;
获取用户输入的默认值。
10.一种平台代码的生成装置,其特征在于,包括:
信息获取模块,用于获取用户拖拽至界面内的每个组件的预设组件信息;其中,所述预设组件信息采用权利要求1-3任一项所述的方法预先生成;所述预设组件信息包括:预设属性信息和至少一个与目标平台对应的源代码模板;
层级关系生成模块,用于基于用户对所述组件的拖拽事件动态生成所述界面内的组件之间的层级关系;
数据对象生成模块,用于基于所述层级关系和所述预设属性信息生成数据对象;所述数据对象用于记载所述界面包含的内容信息;
源代码生成模块,用于基于所述源代码模板和所述数据对象生成所述界面的源代码;其中,生成的所述界面的源代码能够适应所述目标平台。
11.根据权利要求10所述的装置,其特征在于,所述数据对象生成模块还用于:在所述基于所述层级关系和所述预设组件信息生成数据对象之前包括:
基于用户对所述预设属性信息的修改生成自定义属性信息;
所述数据对象生成模块还用于:
基于所述层级关系、所述预设组件信息以及所述自定义属性信息生成数据对象。
12.根据权利要求10所述的装置,其特征在于,所述源代码生成模块还用于:
获取所述目标平台的平台信息;
查找每个所述组件与所述平台信息对应的源代码模板;
根据查找到的每个所述组件对应的所述源代码模板和数据对象生成所述界面的源代码。
13.根据权利要求12所述的装置,其特征在于,所述源代码生成模块还用于:
基于预设的与每个所述源代码模板对应的代码实现模块对所述源代码模板进行加载,生成每个组件对应的源代码实现;
基于所述源代码实现和所述数据对象生成所述界面的源代码。
14.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至3任一项所述方法的程序,或执行如权利要求4至6所述的方法,所述处理器被配置为用于执行所述存储器中存储的程序。
15.一种计算机存储介质,其特征在于,用于储存为权利要求1至3任一项所述方法所用的计算机软件指令,或者存储为权利要求4至6所述方法所用的计算机软件指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501924.4A CN109614095A (zh) | 2018-12-07 | 2018-12-07 | 用户自定义组件的方法、平台代码的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811501924.4A CN109614095A (zh) | 2018-12-07 | 2018-12-07 | 用户自定义组件的方法、平台代码的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109614095A true CN109614095A (zh) | 2019-04-12 |
Family
ID=66007670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811501924.4A Pending CN109614095A (zh) | 2018-12-07 | 2018-12-07 | 用户自定义组件的方法、平台代码的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614095A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273900A (zh) * | 2020-01-14 | 2020-06-12 | 浙江华云信息科技有限公司 | 基于gitlab实时代码共享的在线拖拽编码生成方法 |
CN111768270A (zh) * | 2020-06-23 | 2020-10-13 | 京东数字科技控股有限公司 | 目标组件生成方法、装置、电子设备和计算机可读介质 |
CN111767026A (zh) * | 2020-06-22 | 2020-10-13 | 北京百度网讯科技有限公司 | 业务对象模板的生成方法、装置、设备和介质 |
CN112416328A (zh) * | 2020-12-11 | 2021-02-26 | 广州伊智信息科技有限公司 | 多平台小程序商城的构建方法、装置、设备及介质 |
CN113296767A (zh) * | 2020-04-07 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Ui组件的生成方法及装置、用户界面的处理方法及装置 |
CN113641338A (zh) * | 2021-07-14 | 2021-11-12 | 广州市玄武无线科技股份有限公司 | 一种动态生成视图组件的方法及装置 |
CN113934486A (zh) * | 2021-09-14 | 2022-01-14 | 南方电网深圳数字电网研究院有限公司 | 用户界面组件可实时编辑及渲染的方法及装置 |
CN116382659A (zh) * | 2023-05-29 | 2023-07-04 | 珠海乐图软件有限公司 | 一种无代码开发平台的数据定义方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、系统及方法 |
CN102681841A (zh) * | 2012-02-01 | 2012-09-19 | 中兴通讯(香港)有限公司 | 一种手机应用开发方法和系统 |
US20160357526A1 (en) * | 2015-06-02 | 2016-12-08 | Sap Portals Israel Ltd | Declarative design-time experience platform for code generation |
CN106293664A (zh) * | 2015-05-27 | 2017-01-04 | 交通银行股份有限公司 | 代码生成方法及装置 |
CN107220036A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种组件和模板的可视化开发方法及系统 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
-
2018
- 2018-12-07 CN CN201811501924.4A patent/CN109614095A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114226A (zh) * | 2007-08-28 | 2008-01-30 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、系统及方法 |
CN102681841A (zh) * | 2012-02-01 | 2012-09-19 | 中兴通讯(香港)有限公司 | 一种手机应用开发方法和系统 |
CN106293664A (zh) * | 2015-05-27 | 2017-01-04 | 交通银行股份有限公司 | 代码生成方法及装置 |
US20160357526A1 (en) * | 2015-06-02 | 2016-12-08 | Sap Portals Israel Ltd | Declarative design-time experience platform for code generation |
CN107220036A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种组件和模板的可视化开发方法及系统 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273900A (zh) * | 2020-01-14 | 2020-06-12 | 浙江华云信息科技有限公司 | 基于gitlab实时代码共享的在线拖拽编码生成方法 |
CN113296767A (zh) * | 2020-04-07 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Ui组件的生成方法及装置、用户界面的处理方法及装置 |
CN111767026A (zh) * | 2020-06-22 | 2020-10-13 | 北京百度网讯科技有限公司 | 业务对象模板的生成方法、装置、设备和介质 |
CN111767026B (zh) * | 2020-06-22 | 2023-11-03 | 北京百度网讯科技有限公司 | 业务对象模板的生成方法、装置、设备和介质 |
CN111768270A (zh) * | 2020-06-23 | 2020-10-13 | 京东数字科技控股有限公司 | 目标组件生成方法、装置、电子设备和计算机可读介质 |
CN112416328A (zh) * | 2020-12-11 | 2021-02-26 | 广州伊智信息科技有限公司 | 多平台小程序商城的构建方法、装置、设备及介质 |
CN113641338A (zh) * | 2021-07-14 | 2021-11-12 | 广州市玄武无线科技股份有限公司 | 一种动态生成视图组件的方法及装置 |
CN113641338B (zh) * | 2021-07-14 | 2022-04-22 | 广州市玄武无线科技股份有限公司 | 一种动态生成视图组件的方法及装置 |
CN113934486A (zh) * | 2021-09-14 | 2022-01-14 | 南方电网深圳数字电网研究院有限公司 | 用户界面组件可实时编辑及渲染的方法及装置 |
CN116382659A (zh) * | 2023-05-29 | 2023-07-04 | 珠海乐图软件有限公司 | 一种无代码开发平台的数据定义方法 |
CN116382659B (zh) * | 2023-05-29 | 2023-09-01 | 珠海乐图软件有限公司 | 一种无代码开发平台的数据定义方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614095A (zh) | 用户自定义组件的方法、平台代码的生成方法及装置 | |
US8392873B2 (en) | Methods and apparatus for implementing model-based software solution development and integrated change management | |
CN103347009B (zh) | 一种信息过滤方法及装置 | |
CN110058856A (zh) | 页面配置方法及装置 | |
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
JP2007052703A (ja) | テストシナリオ作成プログラム、テストシナリオ作成装置、テストシナリオ作成方法 | |
CN109358851A (zh) | 图表组件的创建方法、装置及计算机可读存储介质 | |
CN109614097A (zh) | 平台代码的生成方法、装置及服务器 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN105468797B (zh) | 一种信息处理方法及装置 | |
CN109636301A (zh) | 金融业务的工作流配置方法、系统、终端及可读存储介质 | |
US20180005187A1 (en) | Business model data management | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN116627418B (zh) | 一种基于递归算法的多级表单界面可视化生成方法及装置 | |
CN112988123A (zh) | 面向ddd的软件设计方法及系统 | |
CN105573836A (zh) | 数据处理方法及装置 | |
CN112527288B (zh) | 可生成代码的可视化系统原型设计方法、系统及存储介质 | |
CN114741360A (zh) | 汽车零件文件重建方法、装置、终端设备及存储介质 | |
CN106802861A (zh) | 一种检测内存泄露的方法和装置 | |
CN111984666A (zh) | 数据库访问方法、装置、计算机可读存储介质和计算机设备 | |
CN112312631A (zh) | 一种数据处理的方法和装置 | |
CN116185853A (zh) | 代码校验方法及装置 | |
CN108509773A (zh) | 一种源代码加固方法及装置 | |
CN112994993B (zh) | 灵活定义的城域网网络拓扑生成方法和装置 | |
CN113761863A (zh) | 一种列表页面的配置方法、设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |