一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可视化组件配置方法、装置、设备及存储介质与流程

2022-02-25 18:29:42 来源:中国专利 TAG:


1.本技术涉及组件配置领域,涉及但不限于一种可视化组件配置方法、装置、设备及存储介质。


背景技术:

2.相关技术进行动态组件配置生成页面的方式,存在这样的问题:页面的配置引擎、解析引擎和组件内部的实现方式,在发布打包的时候已经静态化,这种方式对于大量项目使用公共组件尤其是开源组件时有重大弊端,当组件内部逻辑出现问题需要更新时,所有相关项目针对修复都要重新更新打包,然后重新发布或者手动更换相关组件,这种方式缺乏足够的灵活性。


技术实现要素:

3.有鉴于此,本技术实施例提供一种可视化组件配置方法、装置、设备及存储介质。
4.本技术的技术方案是这样实现的:
5.本技术实施例提供一种可视化组件配置方法,包括:
6.客户端在进行页面初始化时,确定所述页面上的视图元素的标识;
7.根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
8.根据所述组件标识,获取所述页面的目标组件类;所述目标组件类是从对组件进行更新的组件服务端获得的;
9.调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
10.本技术实施例提供一种可视化组件配置方法,包括:
11.适配器与组件有升级需求时,组件服务端接收上传的组件和适配器;所述适配器用于按照所述组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;
12.与客户端建立全双工连接;
13.接收所述客户端发送的加载组件请求和加载适配器请求;
14.响应所述加载组件请求,向所述客户端发送第一文件路径,以使所述客户端访问所述第一文件路径,得到目标组件;
15.响应所述加载适配器请求,向所述客户端发送第二文件路径,以使所述客户端访问所述第二文件路径,得到目标适配器。
16.本技术实施例提供一种可视化组件配置装置,包括:
17.第一确定模块,用于在进行页面初始化时,确定所述页面上的视图元素的标识;
18.第二确定模块,用于根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
19.获取模块,用于根据所述组件标识,获取所述页面的目标组件类;所述目标组件类是从组件服务端获得更新后的适配器,按照目标组件的开发模式对从所述组件服务端获得更新后的目标组件进行类封装而得到的;
20.渲染模块,用于根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
21.本技术实施例提供一种可视化组件配置装置,包括:
22.第二接收模块,用于适配器与组件有升级需求时,接收上传的组件和适配器;所述适配器用于按照所述组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;
23.建立模块,用于与客户端建立全双工连接;
24.第三接收模块,用于接收所述客户端发送的加载组件请求和加载适配器请求;
25.第一发送模块,用于响应所述加载组件请求,向所述客户端发送第一文件路径,以使所述客户端访问所述第一文件路径,得到目标组件;
26.第二发送模块,用于响应所述加载适配器请求,向所述客户端发送第二文件路径,以使所述客户端访问所述第二文件路径,得到目标适配器。
27.本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
28.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
29.本技术实施例中,客户端在初始化后,通过调用从组件服务端获得更新后的目标组件类;然后调用解析引擎,根据所述目标组件类,进行实例化渲染,得到目标页面。本技术实施例提供的技术方案中,相对于相关技术新增了组件服务端,用于实现对组件进行管理和更新;这样,在更新组件时候,用户无需额外的操作,就能在初始化的时候完成组件的更新。
附图说明
30.在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
31.图1为相关技术中动态组件配置生成页面的示意图。
32.图2为本技术实施例可视化组件配置方法的实现流程示意图。
33.图3是本技术实施例一种基于动态加载技术的可视化组件配置系统的组成结构示意图。
34.图4为本技术实施例可视化组件配置装置的组成结构示意图。
35.图5为本技术实施例可视化组件配置装置的组成结构示意图。
36.图6为本技术实施例中计算机设备的一种硬件实体示意图。
具体实施方式
37.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例
中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
38.在后续的描述中,使用用于表示元件的诸如“模块”或“单元”的后缀仅为了有利于本技术的说明,其本身没有特定的意义。因此,“模块”或“单元”可以混合地使用。
39.目前在动态组件配置领域的相关技术,例如,动态表单的配置,是通过拖拽的方式将组件拖拽至配置界面,更改布局属性、组件对象属性改变组件的外观和布局,然后将相关属性作为数据保存持久化;展示的时候界面通过读取相关组件配置数据(其中包括组件标识、组件样式属性)结合解析引擎动态生成符合预期的界面。在此过程中通过配置界面实现在线使用视图控件的新增、修改、发布,从而提升工作效率与业务支撑的灵活度,减少研发人员的人力与时间投入减少成本。
40.相关技术中动态组件配置生成页面的方式如图1,客户端侧的界面包括配置界面10和展示界面20,配置界面10上包括配置引擎11和组件文件(组件或组件集合)12,其中组件文件12包括公共组件13;展示界面20上包括解析引擎21和组件文件22,其中组件文件22包括公共组件23。
41.在利用配置引擎11在配置界面10配置组件完成时,会将组件配置数据保存起来,在实现的过程中,可以将组件配置数据保存在数据服务端。在展示的时候,会读取保存的组件配置数据,解析引擎利用读取的组件配置数据对页面视图元素的标识进行渲染,得到目标展示页面。
42.图1提供的动态组件配置生成页面的方式,存在几个方面的问题:1)页面的配置引擎、解析引擎和组件内部的实现方式,在发布打包的时候已经静态化,这种方式对于大量项目使用公共组件尤其是开源组件时有重大弊端,当组件内部逻辑出现问题需要更新时,所有相关项目针对修复都要重新更新打包,然后重新发布或者手动更换相关组件文件,这种方式缺乏足够的灵活性。2)采用的是单一开发模式,无法兼容不同开发模式开发的组件(例如:基于vue模式开发的配置界面无法兼容基于react模式开发的组件),而鉴于目前web前端技术领域主流开发模式的多样化,这种方式缺乏足够的兼容性。3)页面视图的渲染机制在加载完成之后无法动态变更,导致需要更新时需要重新刷新客户端界面,缺乏足够的可用性。
43.实施例一
44.本实施例提出一种可视化组件配置方法,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
45.图2为本技术实施例可视化组件配置方法的实现流程示意图,如图2所示,该方法包括:
46.步骤s201,客户端在进行页面初始化时,确定所述页面上的视图元素的标识;
47.在一些实施例中,页面初始化是用户打开页面的时候,开始初始化,打开的页面可以认为是一个特定页面(即目标页面),因此是可以确定出页面上的视图元素的标识。
48.在另一些实施例中,步骤s201包括:在进行页面初始化时,从配置服务端读取配置引擎生成并保存的页面配置数据,页面配置数据中包含页面中所包含的视图元素;根据读取的页面配置数据,确定页面中包含的视图元素的标识。
49.步骤s202,根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
50.组件属性信息包括组件的布局属性和组件的样式属性。
51.步骤s203,根据所述组件标识,获取所述页面的目标组件类;所述目标组件类是从对组件进行更新的组件服务端获得的;
52.在一些实施例中,所述目标组件类是调用从组件服务端获得更新后的适配器,按照目标组件的开发模式对从所述组件服务端获得更新后的目标组件进行类封装而得到的;其中,组件服务端是本技术相对于相关技术中新增的,用于实现对组件进行管理和更新。由此可以看出,本技术实施例提供的技术方案,通过适配器按照目标组件的开发模式对更新后的目标组件进行类封装而得到目标组件类,然后调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面;由此能够解决相关技术中单一开发模式,无法兼容不同开发模式开发的组件的问题,从而提高了兼容性。
53.适配器和目标组件可以是初始化的时候从组件服务端获取的,也可以是在初始化之后页面打开状态下从组件服务端获取的,也就是说,本技术实施例提供的技术方案能够实现动态替换组件,无论是初始化的时候,还是初始化之后页面打开状态下,都可以完成组件的更新。
54.这里,获取目标组件类可以是向组件服务端请求的,也可以是在本地查找的,需要说明的是,本地查找的是,在初始化的时候向组件服务端请求的组件文件,该组件文件中包括很多组件,当然包括目标页面的目标组件,目标组件类通过调用适配器,按照组件的开发模式对所述组件文件中的组件进行类封装而得到的。
55.组件的开发模式例如可以包括:vue模式、react模式等开发模式。
56.步骤s204,调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
57.一般来说,本技术实施例提供的方案可以适用于浏览器/服务器(c/s)的架构,也可以适用于客户端/服务器(c/s)的架构,这两种架构中浏览器和客户端在本技术实施例中将被统一称为客户端。
58.在相关技术中,浏览器/服务器架构中,当有组件需要升级时,需要用户手动刷新才能完成,如果不进行刷新,用户打开的页面就是有问题的。在客户端/服务器的架构中,如果有组件需要升级,则需要重装升级完成,即使目前最为常规的方式是覆盖式安装,那也是较为繁琐和费时的。
59.而本技术实施例提供的技术方案,通过调用从组件服务端获得更新后的目标组件类;然后调用解析引擎,根据所述目标组件类,进行实例化渲染,得到目标页面。由此可见,本技术实施例提供的技术方案中,相对于相关技术新增了组件服务端,用于实现对组件进行管理和更新;可见,相关技术用户需要多一步手动刷新或重装才能实现,而本技术实施例提供的技术方案,对于用户来说,无需多余步骤,完全无感知的。
60.本实施例提出一种可视化组件配置方法,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
61.本技术实施例提供的可视化组件配置方法,包括:
62.步骤s301,客户端在进行页面初始化时,确定所述页面上的视图元素的标识;
63.在步骤s301之前,组件服务端侧,适配器与组件有升级需求时,组件服务端接收上传的组件和适配器;所述适配器用于按照所述组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;这里,页面初始化时,客户端与组件服务端建立全双工连接。
64.步骤s302,客户端根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
65.步骤s303,客户端向组件服务端请求与所述组件标识对应的目标组件和目标适配器;
66.在一些实施例中,所述向组件服务端请求与所述组件标识对应的目标组件和目标适配器,包括:向组件服务端发送均携带有所述组件标识的加载组件请求和加载适配器请求;接收所述组件服务端分别响应所述加载组件请求而返回的第一文件路径,和所述加载适配器请求而返回的第二文件路径;分别访问所述第一文件路径和所述第二文件路径,对应得到所述目标组件和所述目标适配器。
67.对应地,组件服务端接收所述客户端发送的加载组件请求和加载适配器请求;响应所述加载组件请求,组件服务端向所述客户端发送第一文件路径,以使所述客户端访问所述第一文件路径,得到目标组件;响应所述加载适配器请求,组件服务端向所述客户端发送第二文件路径,以使所述客户端访问所述第二文件路径,得到目标适配器。在另一实施例中,所述加载组件请求和加载适配器请求均携带有组件标识;所述第一文件路径为存储所述组件标识对应的组件的路径,所述第二文件路径为存储所述组件标识对应的适配器的路径。
68.在另一些实施例中,所述向组件服务端请求与所述组件标识对应的目标组件和目标适配器,包括:客户端在进行所述页面初始化时,读取所述页面的服务配置信息;根据所述页面的服务配置信息,向所述组件服务端发送均携带有所述组件标识的加载组件请求和加载适配器请求。其中,服务配置信息用于表明待请求的组件和适配器所存储的服务端信息,因此,可以根据服务配置信息向对应的组件服务端请求组件和适配器。
69.在一些实施例中,所述客户端在进行页面初始化时,读取所述页面的服务配置信息,包括:所述客户端在进行所述页面初始化时,与数据服务端建立连接,得到存储路径;通过访问所述存储路径,得到所述页面的服务配置信息;或者,所述客户端在进行所述页面初始化时,从本地读取所述页面的服务配置信息。
70.在另一些实施例中,所述向组件服务端请求与所述组件标识对应的目标组件和目标适配器,包括:客户端在进行所述页面初始化时,读取所述页面的服务配置信息;根据所述页面的服务配置信息,向组件服务端发送均携带有所述组件标识的加载组件请求和加载适配器请求;接收所述组件服务端分别响应所述加载组件请求而返回的第一文件路径,和所述加载适配器请求而返回的第二文件路径;分别访问所述第一文件路径和所述第二文件路径,对应得到所述目标组件和所述目标适配器。
71.步骤s304,客户端调用所述目标适配器,按照所述目标组件的开发模式对所述目标组件进行类封装,得到目标组件类;
72.这里,上述步骤s303和步骤s305实际上提供的了一种实现步骤“根据所述组件标
识,获取所述页面的目标组件类”的方式。
73.步骤s305,客户端调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
74.本技术实施例提供了一种通过动态替换适配器实现组件兼容性升级的过程,包括:客户端初始化并与组件服务端建立连接;客户端向组件服务端发送用于获取组件与适配器的请求;组件服务端返回组件与适配器,客户端进行读取;客户端根据解析引擎与适配器解析组件并渲染成视图元素。有适配器与组件有升级需求时,组件服务端接收上传的组件与适配器;客户端通过无感知替换适配器文件实现兼容性升级;客户端通过无感知替换组件并结合适配器进行视图渲染机制无感知更新。
75.本实施例提出一种可视化组件配置方法,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
76.本技术实施例提供的可视化组件配置方法,包括:
77.步骤s401,在适配器与组件有升级需求时,组件服务端接收上传的组件和适配器;所述适配器用于按照所述组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;
78.这里,组件服务端接收的可能是某些特定的组件,例如某个页面上的目标组件,也可能是很多组件。
79.步骤s402,客户端在进行页面初始化时,与组件服务端建立全双工通信连接;
80.步骤s403,客户端确定所述页面上的视图元素的标识;
81.步骤s404,客户端根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
82.在一些实施例中,组件配置数据可以存储在数据服务端,客户端通过请求的方式从数据服务端获得组件配置数据。在另一些实施例中,还可以存储在本地。
83.步骤s405,组件服务端与客户端建立全双工连接,向已建立全双工通信连接的客户端发送更新通知,所述更新通知包括待更新组件的标识。
84.步骤s406,客户端接收所述组件服务端广播的更新通知,所述更新通知中包括待更新组件的组件标识;
85.步骤s407,客户端检测到所述待更新组件的组件标识与所述组件配置数据中的组件标识相同时,向所述组件服务端发送的更新请求,所述更新请求中携带有组件标识;
86.步骤s408,组件服务端接收所述客户端发送的加载组件请求和加载适配器请求;
87.这里,加载组件请求和加载适配器请求中如果携带有组件标识,组件服务端可以认为客户端请求与组件标识对应的特定组件(即目标组件)以及与组件标识对应的特定适配器(即目标适配器)。在另一实施例中,加载组件请求和加载适配器请求中如果未携带组件标识,组件服务端会将更新后的组件和/或更新后的适配器发送给客户端。
88.步骤s409,组件服务端响应所述加载组件请求,向所述客户端发送第一文件路径,以使所述客户端访问所述第一文件路径,得到目标组件;
89.步骤s410,组件服务端响应所述加载适配器请求,向所述客户端发送第二文件路径,以使所述客户端访问所述第二文件路径,得到目标适配器。
90.在一些实施例中,所述加载组件请求和加载适配器请求均携带有组件标识;所述第一文件路径为存储所述组件标识对应的组件的路径,所述第二文件路径为存储所述组件标识对应的适配器的路径。
91.步骤s411,客户端接收所述组件服务端响应所述更新请求而返回的待更新组件的文件路径和开发模式;
92.步骤s412,客户端访问所述待更新组件的文件路径,得到更新后的目标组件。
93.这里,步骤s406至步骤s412提供了一种实现“所述根据所述组件标识向组件服务端,至少请求更新后的目标组件”的方式。
94.步骤s413,客户端调用所述目标组件对应的目标适配器,按照所述更新后的目标组件的开发模式对所述更新后的目标组件进行类封装,得到目标组件类;
95.这里,步骤s413提供了一种实现步骤“根据所述组件标识,获取所述页面的目标组件类”的方式。
96.步骤s414,客户端调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
97.在其他的实施例中,所述方法还包括:客户端根据删除所述组件标识对应的被更新的组件的组件实例,保存更新后的目标组件。
98.本实施例提出一种可视化组件配置方法,该方法应用于计算机设备,该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
99.本实施例提供的一种可视化组件配置方法,包括:
100.步骤s501,适配器与组件有升级需求时,组件服务端接收上传的组件集合和适配器;所述适配器用于按照所述组件集合中的组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;
101.步骤s502,客户端在进行页面初始化时,读取所述服务配置信息;
102.步骤s503,客户端根据所述服务配置信息向组件服务端,请求所述组件集合和适配器;
103.步骤s504,组件服务端向客户端返回组件集合和适配器;
104.步骤s505,客户端调用所述适配器,按照所述组件集合中每一组件的开发模式对对应组件进行类封装,得到所述组件集合的组件类。
105.步骤s506,客户端确定所述页面上的视图元素的标识;
106.步骤s507,客户端根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
107.步骤s508,客户端根据所述组件标识,从加载的组件集合中的组件类中确定所述目标组件类;
108.这里,提供了一种实现“根据所述组件标识,获取所述页面的目标组件类”的方式。
109.步骤s509,客户端调用解析引擎,根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
110.本技术实施例中,通过设计一种组件服务模型将组件内部逻辑从客户端分离,并且与客户端通过全双工通信连接建立广播机制,在观察到服务端组件更新时主动通知所有
客户端更新相关的组件文件,同时建立适配机制实现客户端对基于不同开发模式的组件的兼容。
111.图3是本技术实施例一种基于动态加载技术的可视化组件配置系统的组成结构示意图,如图3所示,该系统包括:服务端和客户端,其中服务端包括数据服务端30和组件服务端40,客户端包括配置客户端(可以理解为配置界面50)和展示客户端(可以理解为展示界面60),其中:配置客户端50和展示客户端60均包括组件文件和适配器文件,配置客户端还包括配置引擎,展示客户端还包括解析引擎。需要说明的是,客户端可以为计算机设备,例如手机、个人电脑等具有信息处理能力的设备;组件服务端和数据服务端是逻辑上的划分,可以位于同一硬件实体上。在实现时,服务端也可以为计算机设备,例如个人电脑、服务器等具有信息处理能力的设备。
112.1)配置客户端
113.配置客户端,用于配置与保存预展示界面所需的视图元素的标识、视图元素所属的组件的组件标识和组件属性信息。其中,组件属性信息包括组件的布局属性和组件的样式属性;
114.客户端界面初始化读取服务配置信息,并根据该服务配置信息向指定组件服务端分别发起加载组件文件请求和加载适配器文件请求。在加载完成之后通过配置引擎和适配器内部机制能够有效正确地识别基于不同开发模式的视图组件的渲染逻辑,从而实现从组件文件到页面视图元素展示的转化过程。另外,使用拖拽方式进行页面视图元素的可视化配置,修改元素的布局属性和样式属性,修改完成之后保存为页面配置数据并与数据服务端进行交互实现持久化保存。
115.2)展示客户端
116.配置客户端用于解析与渲染预展示界面的视图元素。
117.客户端界面初始化方式与配置客户端中描述一致,在向组件服务端读取加载完组件文件与适配器文件之后,向数据服务端读取配置客户端中经过保存的页面配置数据,然后以与功能1中相同的解析方式通过解析引擎读取适配器的内部实现机制,对不同类型的组件进行解析渲染出视图元素。
118.3)组件服务端
119.该服务端主要提供组件文件加载服务与增删改查等管理功能。
120.该服务端首先通过界面可视化操作的方式提供对组件文件的管理和分类功能,具有新增、删除、修改、查询以及导入和导出等管理功能,对所有客户端使用的组件进行统一化管理,提高组件可维护性。另外针对不同客户端自身具备的权限等级进行权限分类,允许配置客户端和展示客户端读取与其权限等级相对应的组件。
121.此外通过配置客户端、展示客户端与组件服务端建立全双工通信连接实现广播通知机制,当组件服务端组件与适配器维护版本更新时,通知已建立连接的客户端进行更新请求替换组件文件。
122.第一部分:
123.通过动态替换适配器实现组件兼容性升级的过程如下:
124.步骤1、客户端初始化读取服务配置信息并根据该服务配置信息向组件服务端建立连接;服务配置信息中包括用于获取组件文件和适配器的组件服务端的地址;
125.步骤2、客户端向组件服务端发送用于获取组件与适配器的请求;
126.步骤3、组件服务端返回组件文件与适配器文件,客户端进行读取;
127.步骤4、客户端根据解析引擎与适配器文件解析组件文件并渲染成视图元素;
128.步骤5、有适配器与组件升级需求时,组件服务端上传组件文件与适配器文件更新;
129.步骤6、客户端通过无感知替换适配器文件实现兼容性升级;
130.步骤7、客户端通过无感知替换组件并结合适配器进行视图渲染机制无感知更新。
131.需要说明的是,组件的文件类型可以为js等可以被展示端有效识别的文件类型。
132.第二部分:
133.通过广播机制实现视图渲染文件无感知替换的过程如下:
134.步骤11、客户端初始化并与组件服务端建立全双工通信连接;
135.步骤12、用户在组件服务端提供的页面上传待更新的组件文件;
136.步骤13、组件服务端获取更新完成的组件文件;
137.步骤14、组件服务端检测到组件文件更新后触发通知动作;
138.步骤15、组件服务端检测已建立全双工通信连接的客户端并发送更新通知,通知内容包含待更新组件的标识;
139.步骤16、客户端收到更新通知后向组件服务端发起更新请求;
140.步骤17、组件服务端返回最新的组件文件的路径与组件文件的类型;
141.步骤18、客户端收到组件文件路径进行文件的加载读取;
142.步骤19、客户端删除原有组件标签并销毁已有组件实例;
143.步骤20、客户端记录步骤19中销毁组件实例绑定的视图元素标识;
144.步骤21、客户端根据更新后的组件类对视图元素标识生成实例,并根据步骤10中记录的视图元素标识建立组件实例-视图绑定关系;
145.步骤22、视图数据进行更新时根据最新的组件渲染机制进行渲染,至此实现无感知的替换。
146.第三部分:
147.适配不同开发模式的过程如下(以模式a开发的组件类型a为例):
148.步骤31、客户端初始化并与组件服务端建立连接;
149.步骤32、客户端向组件服务端请求适配器文件并加载读取;
150.步骤33、客户端发出获取组件文件的请求;
151.步骤34、组件服务端返回允许加载组件的文件路径信息以及类型(a类型)信息;
152.步骤35、客户端根据组件路径信息加载相应的组件文件;
153.步骤36、客户端根据组件的类型结合适配文件中的匹配规范选择与类型相对应的封装方式进行类封装;
154.这里,类封装是把相同类型的组件打包,这样更新的话就一起更新了。类封装之后包括组件暴露出来的组件样式属性和数据属性,以及符合a类型规范的视图渲染方式;
155.步骤37、客户端与数据服务端建立连接,客户端发出获取视图元素信息的请求;
156.这里,视图元素信息包括视图元素的标识;加载页面的时候,是知道要加载的视图元素的标识的。
157.步骤38、数据服务端返回页面上相应视图元素绑定的组件标识与组件属性信息;
158.数据服务端存的是组件配置数据,即包括组件标识和组件属性信息。
159.步骤39、客户端获取到视图元素信息后,根据所属组件标识找到步骤34中封装的类进行实例化,并结合步骤36中的组件属性信息在客户端页面上生成所需的视图元素并实现预期的展示效果。
160.本技术实施例提供的技术方案中,通过构建一种组件服务模型实现客户端界面与视图组件的文件管理分离以及打包发布的操作分离,并且构建了一种适配器模型达到兼容基于不同开发模式的视图组件,另外建立一种广播通知模型达到实时无感知替换所有客户端的视图组件与适配器文件。
161.本技术实施例提供的技术方案,解决了动态组件配置领域已有技术中的三个问题:1)针对客户端页面所需视图组件进行更新时,所有对该组件有引入关系的项目都需要重新打包发布才能生效,缺乏灵活性;2)客户端界面与视图组件单一的开发模式无法兼容多种开发模式的组件,缺乏兼容性;3)视图渲染机制存在漏洞或者有更新需求时,需要重新刷新客户端界面才能获取最新的组件文件,针对演示、安保等重要场景是不能接受的,缺乏可用性。本技术实施例除了解决上述三个问题以外,在组件服务中可以通过配置自动化打包方式,将相同类型组件打包至同一个组件文件中,减少客户端与服务端的请求次数达到减少开销提升性能的效果。
162.基于前述的实施例,本技术实施例提供一种可视化组件配置装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
163.图4为本技术实施例可视化组件配置装置的组成结构示意图,如图4所示,所述装置400包括:
164.第一确定模块401,用于在进行页面初始化时,确定所述页面上的视图元素的标识;
165.第二确定模块402,用于根据所述视图元素的标识确定与所述视图元素绑定的组件配置数据,其中所述组件配置数据包括组件标识和组件属性信息;
166.获取模块403,用于根据所述组件标识,获取所述页面的目标组件类;所述目标组件类是从对组件进行更新的组件服务端获得的;
167.渲染模块404,用于根据所述组件属性信息和所述目标组件类,进行实例化渲染,得到目标页面。
168.在一些实施例中,所述获取模块,包括:请求单元,用于向组件服务端请求与所述组件标识对应的目标组件和目标适配器;封装单元,用于调用所述目标适配器,按照所述目标组件的开发模式对所述目标组件进行类封装,得到目标组件类。
169.在一些实施例中,所述请求单元,包括:
170.读取子单元,用于进行所述页面初始化时,读取所述页面的服务配置信息;
171.请求子单元,用于根据所述页面的服务配置信息,向所述组件服务端发送均携带有所述组件标识的加载组件请求和加载适配器请求,以获得与所述组件标识对应的目标组件和目标适配器。
172.所述读取子单元,用于:所述客户端在进行所述页面初始化时,与数据服务端建立连接,得到存储路径;通过访问所述存储路径,得到所述页面的服务配置信息;或者,所述客户端在进行所述页面初始化时,从本地读取所述页面的服务配置信息。
173.在一些实施例中,所述装置还包括:
174.建立模块,用于与组件服务端建立全双工通信连接;
175.第一接收模块,用于接收所述组件服务端广播的更新通知,所述更新通知中包括待更新组件的组件标识;
176.对应地,所述获取模块,用于检测到所述待更新组件的组件标识与所述组件配置数据中的组件标识相同时,根据所述组件标识向组件服务端,至少请求更新后的目标组件。
177.在一些实施例中,所述获取模块,用于:所述根据所述组件标识向组件服务端,至少请求更新后的目标组件,包括:向所述组件服务端发送的更新请求,所述更新请求中携带有组件标识;接收所述组件服务端响应所述更新请求而返回的待更新组件的文件路径和开发模式;访问所述待更新组件的文件路径,得到更新后的目标组件。
178.在一些实施例中,所述装置还包括:处理模块,用于根据删除所述组件标识对应的被更新的组件的组件实例,保存更新后的目标组件。
179.在一些实施例中,所述获取模块,用于:根据所述组件标识,从加载的组件集合中的组件类中确定所述目标组件类。
180.在一些实施例中,所述装置还包括:读取模块,用于在进行页面初始化时,读取所述服务配置信息;请求模块,用于根据所述服务配置信息向组件服务端,请求所述组件集合和适配器;封装模块,用于调用所述适配器,按照所述组件集合中每一组件的开发模式对对应组件进行类封装,得到所述组件集合的组件类。
181.基于前述的实施例,本技术实施例提供一种可视化组件配置装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备(客户端侧可以理解为终端,组件服务端或数据服务端可以理解为服务器)中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
182.图5为本技术实施例可视化组件配置装置的组成结构示意图,如图5所示,所述装置500包括:
183.第二接收模块501,用于适配器与组件有升级需求时,组件服务端接收上传的组件和适配器;所述适配器用于按照所述组件的开发模式对所述组件进行类封装,得到组件类,以使得客户端能够兼容不同开发模式的组件;
184.建立模块502,用于与客户端建立全双工连接;
185.第三接收模块503,用于接收所述客户端发送的加载组件请求和加载适配器请求;
186.第一发送模块504,用于响应所述加载组件请求,向所述客户端发送第一文件路径,以使所述客户端访问所述第一文件路径,得到目标组件;
187.第二发送模块505,用于响应所述加载适配器请求,向所述客户端发送第二文件路径,以使所述客户端访问所述第二文件路径,得到目标适配器。
188.在一些实施例中,所述加载组件请求和加载适配器请求均携带有组件标识;所述第一文件路径为存储所述组件标识对应的组件的路径,所述第二文件路径为存储所述组件
标识对应的适配器的路径。
189.在一些实施例中,所述装置还包括:第三发送模块,用于向已建立全双工通信连接的客户端发送更新通知,所述更新通知包括待更新组件的标识。
190.以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
191.需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的可视化组件配置方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、手机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
192.对应地,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现客户端或服务端侧方法中的步骤。
193.对应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现客户端或服务端侧的方法中的步骤。
194.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
195.需要说明的是,图6为本技术实施例中计算机设备的一种硬件实体示意图,如图6所示,该计算机设备600的硬件实体包括:处理器601、通信接口602和存储器603,其中
196.处理器601通常控制计算机设备600的总体操作。
197.通信接口602可以使计算机设备通过网络与其他终端或服务器通信。
198.存储器603配置为存储由处理器601可执行的指令和应用,还可以缓存待处理器601以及计算机设备600中各模块待处理或已经处理的数据,可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
199.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
200.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有
的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
201.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
202.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
203.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
204.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
205.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献