CN109558118A - 创建智能小程序的原生组件的方法、装置、设备和计算机存储介质 - Google Patents

创建智能小程序的原生组件的方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
CN109558118A
CN109558118A CN201811272807.5A CN201811272807A CN109558118A CN 109558118 A CN109558118 A CN 109558118A CN 201811272807 A CN201811272807 A CN 201811272807A CN 109558118 A CN109558118 A CN 109558118A
Authority
CN
China
Prior art keywords
component
primary component
primary
parent
attribute value
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.)
Granted
Application number
CN201811272807.5A
Other languages
English (en)
Other versions
CN109558118B (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811272807.5A priority Critical patent/CN109558118B/zh
Publication of CN109558118A publication Critical patent/CN109558118A/zh
Application granted granted Critical
Publication of CN109558118B publication Critical patent/CN109558118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种创建智能小程序的原生组件的方法、装置、设备和计算机存储介质,其中方法包括:获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值;根据所述对应各原生组件的属性值建立各原生组件之间的父子关系;根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。本发明能够简化用户创建智能小程序的原生组件的步骤,并能够提升用户创建智能小程序的原生组件的灵活性。

Description

创建智能小程序的原生组件的方法、装置、设备和计算机存储 介质
【技术领域】
本发明涉及互联网技术领域,尤其涉及一种创建智能小程序的原生组件的方法、装置、设备和计算机存储介质。
【背景技术】
为了使智能小程序获得更加接近原生APP的用户体验,通过创建智能小程序的原生组件的方式可以给开发者用户提供更加丰富的应用程序界面,进而给使用者用户带来更好的交互体验。由于智能小程序的原生组件层级较高,因此会导致在原生组件的上层无法再覆盖其他任何原生组件的问题。但在实际应用过程中却存在需要在原生组件上层覆盖其他原生组件的场景。
现有技术在解决在原生组件上层覆盖其他原生组件的问题时,一般采用以下方式:将各原生组件(以越先出现层级越低的原则)设置为相同级别的节点,再通过调整CSS(Cascading Style Sheets,层叠样式表)布局,使得各原生组件在视觉上展现成有遮挡关系的存在,从而实现在原生组件的上层覆盖其他原生组件的目的。
现有技术所采用的上述方式会导致以下问题:开发者用户必须严格控制各原生组件的展现顺序,越靠前的原生组件层级越低,当出现调整层级关系的场景时,需要删除已有的全部组件;开发者用户在删除存在遮挡关系的原生组件时,需要从上到下逐个删除在该原生组件上层的所有原生组件;开发者用户无法在原生组件中实现事件冒泡,为了实现类似效果,需要给所有原生组件逐个绑定事件;一些原生组件在运行之后会改变其原始层级,从而会覆盖原本在其上层的原生组件。因此,现有技术创建智能小程序的原生组件的步骤较为繁琐,且所存在的上述问题会极大地降低开发者用户在创建智能小程序的原生组件时灵活性。
【发明内容】
有鉴于此,本发明提供了一种创建智能小程序的方法、装置、设备和计算机存储介质,用于简化智能小程序的原生组件的创建步骤,并能够提升用户在创建智能小程序的原生组件时的灵活性。
本发明为解决技术问题所采用的技术方案是提供一种创建智能小程序的原生组件的方法,所述方法包括:获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值;根据所述对应各原生组件的属性值建立各原生组件之间的父子关系;根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
根据本发明一优选实施例,所述对应各原生组件的属性值包括:各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
根据本发明一优选实施例,所述根据所述对应各原生组件的属性值建立各原生组件之间的父子关系包括:根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;建立父组件及其对应的子组件之间的父子关系。
根据本发明一优选实施例,所述根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件包括:获取所述对应各原生组件的属性值中的各原生组件之间的覆盖关系;将所述覆盖关系中位于下层的原生组件确定为父组件,将所述覆盖关系中位于上层的原生组件确定为与父组件对应的子组件。
根据本发明一优选实施例,所述根据所述父子关系以及所述对应各原生组件的属性值绘制原生组件的视图包括:根据所述父子关系中父组件的属性值绘制父组件的视图,并根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图。
根据本发明一优选实施例,所述根据所述父子关系中父组件的属性值绘制父组件的视图包括:根据所述父子关系中父组件的属性值得到父组件的绘制参数;根据所述父组件的绘制参数绘制父组件的视图。
根据本发明一优选实施例,所述根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图包括:根据所述父子关系中子组件的属性值得到子组件的绘制参数;根据所述子组件的绘制参数在与其对应的父组件的视图上层绘制子组件的视图。
本发明为解决技术问题所采用的技术方案是提供一种创建智能小程序的原生组件的装置,所述装置包括:获取单元,用于获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值;建立单元,用于根据所述对应各原生组件的属性值建立各原生组件之间的父子关系;处理单元,用于根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
根据本发明一优选实施例,所述对应各原生组件的属性值包括:各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
根据本发明一优选实施例,所述建立单元在根据所述对应各原生组件的属性值建立各原生组件之间的父子关系时,具体执行:根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;建立父组件及其对应的子组件之间的父子关系。
根据本发明一优选实施例,所述建立单元在根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件时,具体执行:获取所述对应各原生组件的属性值中的各原生组件之间的覆盖关系;将所述覆盖关系中位于下层的原生组件确定为父组件,将所述覆盖关系中位于上层的原生组件确定为与父组件对应的子组件。
根据本发明一优选实施例,所述处理单元在根据所述父子关系以及所述对应各原生组件的属性值绘制原生组件的视图时,具体执行:根据所述父子关系中父组件的属性值绘制父组件的视图,并根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图。
根据本发明一优选实施例,所述处理单元在根据所述父子关系中父组件的属性值绘制父组件的视图时,具体执行:根据所述父子关系中父组件的属性值得到父组件的绘制参数;根据所述父组件的绘制参数绘制父组件的视图。
根据本发明一优选实施例,所述处理单元在根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图时,具体执行:根据所述父子关系中子组件的属性值得到子组件的绘制参数;根据所述子组件的绘制参数在与其对应的父组件的视图上层绘制子组件的视图。
由以上技术方案可以看出,本发明通过用户所输入的对应各原生组件的属性值建立各原生组件之间的父子关系,进而根据所建立的父子关系以及对应各原生组件的属性值绘制各原生组件的视图,从而完成智能小程序的原生组件的创建,能够简化用户创建智能小程序的原生组件的步骤、提升用户创建智能小程序的原生组件的灵活性。
【附图说明】
图1为本发明一实施例提供的一种创建智能小程序的原生组件的方法流程图;
图2为本发明一实施例提供的一种创建智能小程序的原生组件的装置结构图;
图3为本发明一实施例提供的计算机系统/服务器的框图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1为本发明一实施例提供的一种创建智能小程序的原生组件的方法流程图,如图1中所示,所述方法包括:
在101中,获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值。
在本步骤中,获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值,所获取的各原生组件的属性值用于创建满足用户要求的智能小程序的原生组件。
具体地,本步骤所获取的对应各原生组件的属性值包括各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
其中,原生组件的名称用于标识唯一的原生组件;各原生组件之间的覆盖关系用于表明哪个原生组件位于哪个原生组件之上,或者表明哪个原生组件位于哪个原生组件之下;原生组件的坐标包括原生组件的高度、宽度,以及原生组件距离页面顶部的距离和距离页面左边界的距离,用于表明原生组件的大小以及原生组件在页面中的位置;原生组件的样式可以包括原生组件的颜色、背景以及所包含的文字等信息;原生组件所在页面的名称用于标识原生组件所在的页面。
在102中,根据所述对应各原生组件的属性值建立各原生组件之间的父子关系。
在本步骤中,根据步骤101中所获取的对应各原生组件的属性值,建立各原生组件之间的父子关系。通过所建立的原生组件之间的父子关系,可以确定原生组件中的父组件及其对应的子组件。
在根据对应各原生组件的属性值建立各原生组件之间的父子关系时,可以采用以下方式:根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;建立父组件及其对应的子组件之间的父子关系。
具体地,可以根据对应各原生组件的属性值中各原生组件之间的覆盖关系,来确定原生组件中的父组件以及子组件。
举例来说,若各原生组件的属性值中原生组件之间的覆盖关系为原生组件B覆盖在原生组件A之上,则可以确定原生组件A为父组件,原生组件B为对应父组件A的子组件,并建立原生组件A与原生组件B之间的父子关系。
本步骤也可以根据对应各原生组件的属性值中各原生组件的坐标,来确定原生组件中的父组件以及与子组件。这是因为,基于通常理解,较小的原生组件一般会位于较大的原生组件之上,否则会出现组件之间的遮挡,因此通过原生组件的大小能够得到原生组件之间的覆盖关系,从而确定原生组件中的父组件以及子组件。
举例来说,若各原生组件的属性值中原生组件的坐标的格式为(宽度,高度,距离页面顶部的距离,页面页面左边界的距离),若原生组件A的坐标为(220,220,150,150),原生组件B的坐标为(100,100,430,250),则可以确定较小的原生组件B位于较大的原生组件A之上,进而确定原生组件A为父组件,原生组件B为对应父组件A的子组件,并建立原生组件A与原生组件B之间的父子关系。
另外可以理解的是,所建立的原生组件之间的父子关系可以为一个,也可以为多个。在只有两个原生组件的情况下,所建立的父子关系只有一个。在有三个原生组件的情况下,所建立的父子关系可以为一个,也可以为两个。举例来说,若原生组件B、C均覆盖在原生组件A之上,则仅建立一个父子关系;若原生组件B覆盖在原生组件A之上,原生组件C覆盖在原生组件B之上,则建立两个父子关系。同理可得,在有四个、五个或者更多个原生组件时所建立父子关系的个数。
在103中,根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
在本步骤中,根据步骤102中所建立的父子关系以及步骤101中获取的对应各原生组件的属性值,绘制各原生组件的视图,从而完成智能小程序的原生组件的创建。
具体地,在根据父子关系以及对应各原生组件的属性值绘制各原生组件的视图时,可以采用以下方式:根据父子关系中父组件的属性值绘制父组件的视图,并根据父子关系中子组件的属性值在与其对应的父组件的视图之上绘制子组件的视图,从而完成智能小程序的原生组件的创建。
其中,在根据父子关系中父组件的属性值绘制父组件的视图时,可以采用以下方式:根据父子关系中父组件的属性值得到父组件的绘制参数;根据所得到的父组件的绘制参数绘制父组件的视图。其中,绘制参数为绘制原生组件时所需要的字段以及值。
具体地,在根据父子关系中父组件的属性值得到父组件的绘制参数时,可以采用以下方式:获取父组件的坐标,并将其记录在position字段;获取父组件的名称作为组件ID,并将其记录在viewid字段;根据父子关系确定父组件对应的父组件ID,并将其记录在parentid字段;获取父组件所在页面的名称,并将其记录在salveid字段;获取父组件的样式,并将其记录在style字段;拼接position字段、viewid字段、parentid字段、slaveid字段、style字段,得到父组件的绘制参数。
其中,在根据父子关系确定父组件对应的父组件ID时,可以采用以下方式:若根据父子关系确定父组件不是其他父组件的子组件,则该父组件对应的父组件ID为“空”;若根据父子关系确定父组件是其他父组件的子组件,则该父组件对应的父组件ID为与其对应的父组件的组件ID。
举例来说,若在原生组件B覆盖原生组件A的场景中,原生组件A为原生组件B的父组件,并且原生组件A并不是其他父组件的子组件,则原生组件A的父组件ID为“空”。若在原生组件B覆盖原生组件A,且原生组件C覆盖原生组件B的场景中,原生组件A的父组件ID为“空”,虽然原生组件B是原生组件C的父组件,但原生组件B是原生组件A的子组件,因此原生组件B的父组件ID为原生组件A的组件ID,即为“A”。
在得到父组件的绘制参数后,根据所得到的绘制参数对父组件的视图进行绘制,并向用户返回父组件的视图绘制成功或失败的提示消息。
具体地,在根据父子关系中子组件的属性值在与其对应的父组件的视图之上绘制子组件的视图时,可以采用以下方式:根据父子关系中子组件的属性值得到子组件的绘制参数;根据所得到的子组件的绘制参数在与其对应的父组件的视图之上绘制子组件的视图。
其中,在根据父子关系中子组件的属性值得到子组件的绘制参数时,可以采用以下方式:根据子组件的坐标以及与其对应的父组件的坐标,获取子组件相对于父组件的坐标,并将其记录在position字段;获取子组件的名称作为组件ID,并将其记录在viewid字段;将父子关系中与子组件对应的父组件的ID作为子组件的父组件ID,并将其记录在parentid字段;获取子组件所在页面的名称,并将其记录在salveid字段;获取子组件的样式,并将其记录在style字段;拼接position字段、viewid字段、parentid字段、slaveid字段、style字段,得到子组件的绘制参数。
在得到子组件的绘制参数后,根据所得到的绘制参数在与其对应的父组件已绘制的视图之上绘制子组件的视图,并向用户返回子组件的视图绘制成功或失败的提示消息。
本步骤在完成全部父子关系中父组件及其对应的子组件的视图的绘制后,并能够实现满足用户要求的智能小程序的原生组件的创建。
对上述过程进行举例说明:
1)原生组件B覆盖原生组件A之上的场景
首先根据各原生组件的属性值,优选地根据各原生组件之间的覆盖关系确定各原生组件之间的父子关系,即确定原生组件A为父组件,原生组件B为与父组件A对应的子组件;
然后根据父子关系中父组件A的属性值获取父组件A的绘制参数,并根据所获取的绘制参数绘制父组件A的视图;
在完成父组件A的视图的绘制后,根据子组件B的属性值获取子组件B的绘制参数,并根据所获取的绘制参数在父组件A的视图之上绘制子组件B的视图,从而完成智能小程序的原生组件的创建。
2)原生组件B、原生组件C均覆盖在原生组件A之上的场景
首先根据各原生组件的属性值,优选地根据各原生组件之间的覆盖关系确定各原生组件之间的父子关系,即确定原生组件A为父组件,原生组件B以及原生组件C为与父组件A对应的子组件;
然后根据父子关系中父组件A的属性值获取父组件A的绘制参数,并根据所获取的绘制参数绘制父组件A的视图;
在完成父组件A的视图的绘制后,根据子组件B的属性值获取子组件B的绘制参数,并根据所获取的绘制参数在父组件A的视图之上绘制子组件B的视图,再根据子组件C的属性值获取子组件C的绘制参数,并根据所获取的绘制参数在父组件A的视图之上绘制子组件C的视图,从而完成智能小程序的原生组件的创建。
可以理解的是,也可以在完成父组件A的绘制后,先绘制子组件C,再绘制子组件B;还可以在在完成父组件A的绘制后,同时绘制子组件B和子组件C,本发明对此不进行限定。
3)原生组件B覆盖在原生组件A之上且原生组件C覆盖在原生组件B之上的场景
首先根据各原生组件的属性值,优选地根据各原生组件之间的覆盖关系确定各原生组件之间的父子关系,即确定原生组件A与原生组件B之间的父子关系,原生组件B与原生组件C之间的父子关系;
然后根据父子关系中父组件A的属性值获取父组件A的绘制参数,并根据所获取的绘制参数绘制父组件A的视图;
在完成父组件A的视图的绘制后,根据子组件B的属性值获取子组件B的绘制参数,并根据所获取的绘制参数在父组件A的视图之上绘制子组件B的视图;
由于作为原生组件C的父组件的原生组件B以完成绘制,则根据子组件C的属性值获取子组件C的绘制参数,并根据所获取的绘制参数在父组件B的视图之上绘制子组件C的视图,从而完成智能小程序的原生组件的创建。
现有技术只是利用CSS布局使各原生组件在视觉上展现成有遮挡关系的存在,因此所实现的原生组件之间的嵌套并不是真正意义上的父子关系,所有的原生组件之间均是兄弟关系,因此现有技术在解决在原生组件上层覆盖其他原生组件时会导致背景技术中所涉及到的问题。
而本发明所提供的方法实现的原生组件之间的嵌套是真正意义上的父子关系,因此本发明能够有效地避免现有技术存在的上述问题:开发者用户无需关注各原生组件的展现顺序,只需要明确各原生组件之间的覆盖关系即可;开发者用户在删除所有存在遮挡关系的原生组件时,只需要删除最外层的原生组件即可;以各原生组件之间所建立的父子关系作为关联,实现了原生组件真正意义的父子嵌套,从而很好地支持了原生组件的事件冒泡;当原生组件运行而改变原始层级后,由于原生组件之间父子关系的存在,该原生组件内的所有原生组件都会自动更新层级,不会再出现子组件被父组件覆盖的情况。
图2为本发明一实施例提供的一种创建智能小程序的原生组件的装置结构图,如图2中所示,所述装置包括:获取单元21、建立单元22以及处理单元23。
获取单元21,用于获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值。
获取单元21获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值,所获取的各原生组件的属性值用于创建满足用户要求的智能小程序的原生组件。
具体地,获取单元21所获取的对应各原生组件的属性值包括各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
建立单元22,用于根据所述对应各原生组件的属性值建立各原生组件之间的父子关系。
建立单元22根据获取单元21所获取的对应各原生组件的属性值,建立各原生组件之间的父子关系。通过所建立的原生组件之间的父子关系,建立单元22可以确定原生组件中的父组件及其对应的子组件。
在根据对应各原生组件的属性值建立各原生组件之间的父子关系时,建立单元22可以采用以下方式:根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;建立父组件及其对应的子组件之间的父子关系。
具体地,建立单元22可以根据对应各原生组件的属性值中各原生组件之间的覆盖关系,来确定原生组件中的父组件以及子组件。建立单元22也可以根据对应各原生组件的属性值中各原生组件的坐标,来确定原生组件中的父组件以及与子组件。
另外可以理解的是,建立单元22所建立的原生组件之间的父子关系可以为一个,也可以为多个。在只有两个原生组件的情况下,建立单元22所建立的父子关系只有一个。在有三个原生组件的情况下,建立单元22所建立的父子关系可以为一个,也可以为两个。举例来说,若原生组件B、C均覆盖在原生组件A之上,则仅建立一个父子关系;若原生组件B覆盖在原生组件A之上,原生组件C覆盖在原生组件B之上,则建立两个父子关系。同理可得,在有四个、五个或者更多个原生组件时,建立单元22所建立父子关系的个数。
处理单元23,用于根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
处理单元23根据建立单元22建立的父子关系以及获取单元21获取的对应各原生组件的属性值绘制各原生组件,从而完成智能小程序的原生组件的创建。
处理单元23在根据父子关系以及对应各原生组件的属性值绘制各原生组件的视图时,可以采用以下方式:根据父子关系中父组件的属性值绘制父组件的视图,并根据父子关系中子组件的属性值在与其对应的父组件的视图之上绘制子组件的视图,绘制完成后实现智能小程序的原生组件的创建。
其中,处理单元23在根据父子关系中父组件的属性值绘制父组件的视图时,可以采用以下方式:根据父子关系中父组件的属性值得到父组件的绘制参数;根据所得到的父组件的绘制参数绘制父组件的视图。其中,绘制参数为绘制原生组件时所需要的字段以及值。
具体地,处理单元23在根据父子关系中父组件的属性值得到父组件的绘制参数时,可以采用以下方式:获取父组件的坐标,并将其记录在position字段;获取父组件的名称作为组件ID,并将其记录在viewid字段;根据父子关系确定父组件对应的父组件ID,并将其记录在parentid字段;获取父组件所在页面的名称,并将其记录在salveid字段;获取父组件的样式,并将其记录在style字段;拼接position字段、viewid字段、parentid字段、slaveid字段、style字段,得到父组件的绘制参数。
其中,处理单元23在根据父子关系确定父组件对应的父组件ID时,可以采用以下方式:若根据父子关系确定父组件不是其他父组件的子组件,则该父组件对应的父组件ID为“空”;若根据父子关系确定父组件是其他父组件的子组件,则该父组件对应的父组件ID为与其对应的父组件的组件ID。
在得到父组件的绘制参数后,处理单元23根据所得到的绘制参数对父组件的视图进行绘制,并向用户返回父组件的视图绘制成功或失败的提示消息。
具体地,处理单元23在根据父子关系中子组件的属性值在与其对应的父组件的视图之上绘制子组件的视图时,可以采用以下方式:根据父子关系中子组件的属性值得到子组件的绘制参数;根据所得到的子组件的绘制参数在与其对应的父组件的视图之上绘制子组件的视图。
其中,处理单元23在根据父子关系中子组件的属性值得到子组件的绘制参数时,可以采用以下方式:根据子组件的坐标以及与其对应的父组件的坐标,获取子组件相对于父组件的坐标,并将其记录在position字段;获取子组件的名称作为组件ID,并将其记录在viewid字段;将父子关系中与子组件对应的父组件的ID作为子组件的父组件ID,并将其记录在parentid字段;获取子组件所在页面的名称,并将其记录在salveid字段;获取子组件的样式,并将其记录在style字段;拼接position字段、viewid字段、parentid字段、slaveid字段、style字段,得到子组件的绘制参数。
在得到子组件的绘制参数后,处理单元23根据所得到的绘制参数在与其对应的父组件已绘制的视图之上绘制子组件的视图,并向用户返回子组件的视图绘制成功或失败的提示消息。
处理单元23在完成全部父子关系中父组件及其对应的子组件的视图的绘制后,并能够实现满足用户要求的智能小程序的原生组件的创建。
图3示出了适于用来实现本发明实施方式的示例性计算机系统/服务器012的框图。图3显示的计算机系统/服务器012仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,计算机系统/服务器012以通用计算设备的形式表现。计算机系统/服务器012的组件可以包括但不限于:一个或者多个处理器或者处理单元016,系统存储器028,连接不同系统组件(包括系统存储器028和处理单元016)的总线018。
总线018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器012典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器012访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)030和/或高速缓存存储器032。计算机系统/服务器012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统034可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线018相连。存储器028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块042的程序/实用工具040,可以存储在例如存储器028中,这样的程序模块042包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块042通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器012也可以与一个或多个外部设备014(例如键盘、指向设备、显示器024等)通信,在本发明中,计算机系统/服务器012与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器012交互的设备通信,和/或与使得该计算机系统/服务器012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口022进行。并且,计算机系统/服务器012还可以通过网络适配器020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器020通过总线018与计算机系统/服务器012的其它模块通信。应当明白,尽管图3中未示出,可以结合计算机系统/服务器012使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元016通过运行存储在系统存储器028中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的方法流程。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。例如,被上述一个或多个处理器执行本发明实施例所提供的方法流程。
随着时间、技术的发展,介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
利用本发明所提供的技术方案,通过用户所输入的对应各原生组件的属性值建立各原生组件之间的父子关系,进而根据所建立的父子关系以及对应各原生组件的属性值绘制各原生组件的视图,从而完成智能小程序的原生组件的创建,能够简化用户创建智能小程序的原生组件的步骤、提升用户创建智能小程序的原生组件的灵活性。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

1.一种创建智能小程序的原生组件的方法,其特征在于,所述方法包括:
获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值;
根据所述对应各原生组件的属性值建立各原生组件之间的父子关系;
根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
2.根据权利要求1所述的方法,其特征在于,所述对应各原生组件的属性值包括:
各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
3.根据权利要求2所述的方法,其特征在于,所述根据所述对应各原生组件的属性值建立各原生组件之间的父子关系包括:
根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;
建立父组件及其对应的子组件之间的父子关系。
4.根据权利要求3所述的方法,其特征在于,所述根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件包括:
获取所述对应各原生组件的属性值中的各原生组件之间的覆盖关系;
将所述覆盖关系中位于下层的原生组件确定为父组件,将所述覆盖关系中位于上层的原生组件确定为与父组件对应的子组件。
5.根据权利要求1所述的方法,其特征在于,所述根据所述父子关系以及所述对应各原生组件的属性值绘制原生组件的视图包括:
根据所述父子关系中父组件的属性值绘制父组件的视图,并根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图。
6.根据权利要求5所述的方法,其特征在于,所述根据所述父子关系中父组件的属性值绘制父组件的视图包括:
根据所述父子关系中父组件的属性值得到父组件的绘制参数;
根据所述父组件的绘制参数绘制父组件的视图。
7.根据权利要求1所述的方法,其特征在于,所述根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图包括:
根据所述父子关系中子组件的属性值得到子组件的绘制参数;
根据所述子组件的绘制参数在与其对应的父组件的视图上层绘制子组件的视图。
8.一种创建智能小程序的原生组件的装置,其特征在于,所述装置包括:
获取单元,用于获取用户为创建智能小程序的原生组件所输入的对应各原生组件的属性值;
建立单元,用于根据所述对应各原生组件的属性值建立各原生组件之间的父子关系;
处理单元,用于根据所述父子关系以及所述对应各原生组件的属性值绘制各原生组件的视图,完成智能小程序的原生组件的创建。
9.根据权利要求8所述的装置,其特征在于,所述对应各原生组件的属性值包括:
各原生组件的名称、各原生组件之间的覆盖关系、各原生组件的坐标、各原生组件的样式以及各原生组件所在页面的名称。
10.根据权利要求9所述的装置,其特征在于,所述建立单元在根据所述对应各原生组件的属性值建立各原生组件之间的父子关系时,具体执行:
根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件;
建立父组件及其对应的子组件之间的父子关系。
11.根据权利要求10所述的装置,其特征在于,所述建立单元在根据对应各原生组件的属性值确定各原生组件中的父组件以及子组件时,具体执行:
获取所述对应各原生组件的属性值中的各原生组件之间的覆盖关系;
将所述覆盖关系中位于下层的原生组件确定为父组件,将所述覆盖关系中位于上层的原生组件确定为与父组件对应的子组件。
12.根据权利要求8所述的装置,其特征在于,所述处理单元在根据所述父子关系以及所述对应各原生组件的属性值绘制原生组件的视图时,具体执行:
根据所述父子关系中父组件的属性值绘制父组件的视图,并根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图。
13.根据权利要求12所述的装置,其特征在于,所述处理单元在根据所述父子关系中父组件的属性值绘制父组件的视图时,具体执行:
根据所述父子关系中父组件的属性值得到父组件的绘制参数;
根据所述父组件的绘制参数绘制父组件的视图。
14.根据权利要求12所述的装置,其特征在于,所述处理单元在根据所述父子关系中子组件的属性值在所述父组件的视图上层绘制子组件的视图时,具体执行:
根据所述父子关系中子组件的属性值得到子组件的绘制参数;
根据所述子组件的绘制参数在与其对应的父组件的视图上层绘制子组件的视图。
15.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的方法。
CN201811272807.5A 2018-10-30 2018-10-30 创建智能小程序的原生组件的方法、装置、设备和存储介质 Active CN109558118B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811272807.5A CN109558118B (zh) 2018-10-30 2018-10-30 创建智能小程序的原生组件的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811272807.5A CN109558118B (zh) 2018-10-30 2018-10-30 创建智能小程序的原生组件的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109558118A true CN109558118A (zh) 2019-04-02
CN109558118B CN109558118B (zh) 2022-07-22

Family

ID=65865334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811272807.5A Active CN109558118B (zh) 2018-10-30 2018-10-30 创建智能小程序的原生组件的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109558118B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362371A (zh) * 2019-06-19 2019-10-22 北京百度网讯科技有限公司 视图层级的控制方法及系统、计算机设备及可读介质
CN110989878A (zh) * 2019-11-01 2020-04-10 百度在线网络技术(北京)有限公司 小程序中的动画展示方法、装置、电子设备及存储介质
CN113687892A (zh) * 2021-07-30 2021-11-23 阿里巴巴新加坡控股有限公司 页面处理方法、装置及计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
CN106528730A (zh) * 2016-10-27 2017-03-22 中企动力科技股份有限公司 网页中组件设计方法及装置
US20170147299A1 (en) * 2015-11-24 2017-05-25 Nvidia Corporation System and method for optimizing multiple invocations of graphics processing unit programs in java
CN108196832A (zh) * 2018-01-09 2018-06-22 安徽小马创意科技股份有限公司 一种实现使微信小程序支持自定义组件式开发的方法
CN108664296A (zh) * 2017-03-31 2018-10-16 阿里巴巴集团控股有限公司 一种页面渲染方法和装置、一种页面处理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354013A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染方法及装置
US20170147299A1 (en) * 2015-11-24 2017-05-25 Nvidia Corporation System and method for optimizing multiple invocations of graphics processing unit programs in java
CN106528730A (zh) * 2016-10-27 2017-03-22 中企动力科技股份有限公司 网页中组件设计方法及装置
CN108664296A (zh) * 2017-03-31 2018-10-16 阿里巴巴集团控股有限公司 一种页面渲染方法和装置、一种页面处理方法和装置
CN108196832A (zh) * 2018-01-09 2018-06-22 安徽小马创意科技股份有限公司 一种实现使微信小程序支持自定义组件式开发的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宫晓东,边鹏,魏文静编著,ISBN号 :7-5650-2763-5: "《交互设计》", 31 May 2016 *
谢明良等: "微信小程序开发天气APP", 《考试与评价》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362371A (zh) * 2019-06-19 2019-10-22 北京百度网讯科技有限公司 视图层级的控制方法及系统、计算机设备及可读介质
CN110362371B (zh) * 2019-06-19 2022-07-22 北京百度网讯科技有限公司 视图层级的控制方法、装置及系统、计算机设备及介质
CN110989878A (zh) * 2019-11-01 2020-04-10 百度在线网络技术(北京)有限公司 小程序中的动画展示方法、装置、电子设备及存储介质
CN110989878B (zh) * 2019-11-01 2021-07-20 百度在线网络技术(北京)有限公司 小程序中的动画展示方法、装置、电子设备及存储介质
CN113687892A (zh) * 2021-07-30 2021-11-23 阿里巴巴新加坡控股有限公司 页面处理方法、装置及计算机程序产品
CN113687892B (zh) * 2021-07-30 2024-05-03 阿里巴巴创新公司 页面处理方法、装置及计算机程序产品

Also Published As

Publication number Publication date
CN109558118B (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN109710243B (zh) 基于可视化平台的区块链开发方法、装置、服务器及介质
JP2020528705A (ja) 認知的洞察を使用したビデオ・シーンの移動
CN109558118A (zh) 创建智能小程序的原生组件的方法、装置、设备和计算机存储介质
CN108008954A (zh) 页面配置方法、装置、服务器及介质
CN107886461A (zh) 区域限速值的获得方法、装置和终端设备
JP6756079B2 (ja) 人工知能に基づく三元組チェック方法、装置及びコンピュータプログラム
KR102327913B1 (ko) 블록 기반 데이터 분석 방법 및 시스템
CN108509339A (zh) 基于浏览器和思维导图的测试用例生成方法、装置及设备
US20170315790A1 (en) Interactive multimodal display platform
CN107908641A (zh) 一种获取图片标注数据的方法和系统
CN109960554A (zh) 展示阅读内容的方法、设备和计算机存储介质
CN112214155B (zh) 一种视图信息播放方法、装置、设备和存储介质
US20190378340A1 (en) Placing and solving constraints on a 3d environment
CN109558127A (zh) 一种代码生成方法、装置、设备及存储介质
CN108958731B (zh) 一种应用程序界面生成方法、装置、设备和存储介质
CN110134869A (zh) 一种信息推送方法、装置、设备和存储介质
CN110471740A (zh) 执行机器学习任务的方法、装置、设备和计算机存储介质
CN109933254A (zh) 展示阅读内容的方法、设备和计算机存储介质
CN110362371A (zh) 视图层级的控制方法及系统、计算机设备及可读介质
US20190172260A1 (en) System for composing or modifying virtual reality sequences, method of composing and system for reading said sequences
CN109284108A (zh) 数据存储方法、装置、电子设备及存储介质
CN108875033A (zh) 旅游行程信息展示方法、装置、服务器及存储介质
CN110489210A (zh) 创建虚拟机的方法、装置、设备和计算机存储介质
US20200379786A1 (en) Keyboard interaction model for software builder canvas nodes
US10732794B2 (en) Methods and systems for managing images

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
GR01 Patent grant
GR01 Patent grant