CN117453336A - 用户界面的生成方法、装置、电子设备及存储介质 - Google Patents
用户界面的生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117453336A CN117453336A CN202311524924.7A CN202311524924A CN117453336A CN 117453336 A CN117453336 A CN 117453336A CN 202311524924 A CN202311524924 A CN 202311524924A CN 117453336 A CN117453336 A CN 117453336A
- Authority
- CN
- China
- Prior art keywords
- user interface
- target
- component
- request
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006870 function Effects 0.000 claims abstract description 108
- 238000005316 response function Methods 0.000 claims abstract description 36
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种用户界面的生成方法、装置、电子设备及存储介质,涉及用户界面开发领域。方法包括:通过代理接口,接收终端设备发送的用户界面生成请求;根据目标用户界面组件的类型,确定目标用户界面组件;根据多个目标请求事件和目标用户界面组件,确定多个目标函数指针;根据多个目标函数指针对应的响应函数执行多个目标请求事件,得到用户界面生成请求对应的用户界面,并向终端设备发送用户界面生成请求对应的用户界面。以上方案,用户仅需要在用户界面发起用户界面生成请求,通过本申请设计的中间件调用对应的用户界面组件实现用户界面生成请求,从而减少用户的操作,降低用户界面的生成的难度。
Description
技术领域
本申请涉及用户界面开发领域,尤其涉及一种用户界面的生成方法、装置、电子设备及存储介质。
背景技术
随着电子设备处理性能的增强,越来越多的嵌入式设备开始携带屏幕,对应的为嵌入式软件配备图形用户界面(User Interface,简称UI)进行操作控制的需求也越来越多。使用图形用户界面相比于命令行界面,用户可以更加直观的操作和控制嵌入式软件,更方便地实现交互,提高工作效率。
在相关技术中,开发人员通过编辑指令以及用户界面组件而开发得到图形用户界面。
然而这种方案的技术门槛较高,要求开发人员具备开发技能,导致用户界面的生成的难度高。
发明内容
本申请提供一种用户界面的生成方法、装置、电子设备及存储介质,用于降低用户界面的生成的难度。
第一方面,本申请提供一种用户界面的生成方法,包括:通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;根据所述目标用户界面组件的类型,确定目标用户界面组件;根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
在一种可能的实施方式中,根据所述目标用户界面组件的类型,确定目标用户界面组件,包括:确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面;根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件。
在一种可能的实施方式中,根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件,包括:判断所述组件库中是否存在所述目标用户界面组件的类型;若是,则将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
在一种可能的实施方式中,所述方法还包括:若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;将所述未关联组件进行实例化处理,得到实例化组件;将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
在一种可能的实施方式中,根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针,包括:确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件;确定每个所述待选函数指针中存储的待选请求事件;将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
在一种可能的实施方式中,根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,包括:从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序;根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面;将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
在一种可能的实施方式中,根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面,包括:针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
第二方面,本申请提供一种用户界面的生成装置,包括:接收模块,用于通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;确定模块,用于根据所述目标用户界面组件的类型,确定目标用户界面组件;筛选模块,用于根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;生成模块,用于根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
在一种可能的实施方式中,所述确定模块,具体用于确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面;所述确定模块,具体还用于根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件。
在一种可能的实施方式中,所述确定模块,具体用于判断所述组件库中是否存在所述目标用户界面组件的类型;所述确定模块,具体还用于若是,则将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
在一种可能的实施方式中,所述装置还包括:扩展模块,用于若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;所述扩展模块,还用于将所述未关联组件进行实例化处理,得到实例化组件;所述扩展模块,还用于将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
在一种可能的实施方式中,所述装置还包括:对应模块,用于确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件;所述对应模块,还用于确定每个所述待选函数指针中存储的待选请求事件;所述对应模块,还用于将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
在一种可能的实施方式中,所述装置还包括:执行模块,用于从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序;所述执行模块,还用于根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面;所述执行模块,还用于将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
在一种可能的实施方式中,所述执行模块,具体用于针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;所述执行模块,具体还用于根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;所述执行模块,具体还用于根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行如第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行如第一方面中任一项所述的方法。
本申请提供的用户界面的生成方法、装置、电子设备及存储介质,包括:通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;根据所述目标用户界面组件的类型,确定目标用户界面组件;根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。以上方案,用户仅需要在用户界面发起用户界面生成请求,通过本申请设计的中间件调用对应的用户界面组件实现用户界面生成请求,从而减少用户的操作,降低用户界面的生成的难度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种用户界面的生成方法的应用场景示意图;
图2为本申请实施例提供的一种用户界面的生成方法的流程示意图;
图3为本申请实施例提供的一种用户界面的生成方法的流程示意图;
图4为本申请实施例提供的扩展组件库示意图;
图5为本申请实施例提供的循环执行目标请求事件示意图;
图6为本申请实施例提供的一种用户界面的生成装置的结构示意图;
图7为本申请实施例提供的一种用户界面的生成装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1为本申请实施例提供的一种用户界面的生成方法的应用场景示意图,结合图示的场景进行举例:用户通过终端设备的应用程序发起用户界面生成请求,中间件与多个用户界面组件进行交互而执行生成请求得到用户界面,将用户界面发送到终端设备。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。在本申请的描述中,除非另有明确的规定和限定,各术语应在本领域内做广义理解。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种用户界面的生成方法的流程示意图,该方法包括以下步骤:
S201、通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件。
作为示例,该实施例的执行主体可以为用户界面的生成装置,该用户界面的生成装置的实现有多种。例如,可以为程序软件,也可以为存储有相关计算机程序的介质,例如,U盘等;或者,该装置还可以为集成或安装有相关计算机程序的实体设备,例如,芯片、智能终端、电脑、服务器等。
其中,用户界面的生成装置可以为中间件。用户界面组件包括但不限于:LVGLUI(轻量级显示框架库)或者QTUI(跨平台图形用户界面库)中的组件。
可选的,中间件基于面向对象的机制,将用户界面组件定义为用户界面类,中间件提供接口。用户通过代理接口访问用户界面类,由中间件调用用户界面组件执行用户界面生成请求。
举例来说,目标请求事件为用户的具体需求,例如:创建列表输入页面、创建文本输入页面、创建信息显示页面或者创建过程动画等事件。
S202、根据所述目标用户界面组件的类型,确定目标用户界面组件。
举例来说,每种用户界面组件可以提供对应的图形,用户根据用户界面的需求确定目标用户界面组件的类型。
S203、根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针。
其中,中间件将请求事件以及响应函数封装在函数指针中,每个函数指针存在对应的请求事件以及响应函数。
可以理解,通过封装为函数指针,将终端设备的应用程序与函数实现之间进行屏蔽,用户不需要接触具体的函数实现,从而减少用户的操作。
S204、根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
可选的,每个响应函数执行对应的目标请求事件。
举例来说,用户的多个目标请求事件分别由对应的响应函数执行,得到每个目标请求事件对应的子用户界面,将多个子用户界面组合得到用户界面。
本申请实施例提供的用户界面的生成方法,通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;根据所述目标用户界面组件的类型,确定目标用户界面组件;根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。以上方案,用户仅需要在用户界面发起用户界面生成请求,通过本申请设计的中间件调用对应的用户界面组件实现用户界面生成请求,从而减少用户的操作,降低用户界面的生成的难度。
在上述任意一个实施例的基础上,下面,结合图3,对用户界面的生成的详细过程进行说明。
图3为本申请实施例提供的一种用户界面的生成方法的流程示意图。如图3所示,该方法包括:
S301、通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件。
需要说明的是,S301的执行过程参见S201,此处不再赘述。
S302、确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面。
其中,关联用户界面组件为与中间件已经建立关联的用户界面组件,中间件可以直接调用关联用户界面组件生成用户界面,而不能直接调用未关联的用户界面组件生成用户界面。
S303、判断组件库中是否存在目标用户界面组件的类型。
若是,则执行S304。
S304、将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
结合场景示例来说,组件库中存储关联用户界面组件与类型的对应关系,可以通过目标用户界面组件的类型以及对应关系确定目标用户界面组件。
可以理解,确定目标用户界面组件的流程由中间件执行,用户不参与执行,从而减少用户的操作。
一种可行的实现方式,若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;将所述未关联组件进行实例化处理,得到实例化组件;将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
结合场景示例来说,组件库支持扩展,组件库中的关联用户界面组件支持新增以及删除。
下面,结合图4对扩展组件库进行说明。
图4为本申请实施例提供的扩展组件库示意图。如图4所示,若组件库中存在目标用户界面组件的类型,则从组件库确定目标用户界面组件。若组件库中不存在目标用户界面组件的类型,说明该用户界面组件目前未被关联,此时确定目标用户界面组件的类型对应的未关联组件,将该未关联组件实例化得到目标用户界面组件。将目标用户界面组件新增到组件库,在后续用户界面的生成中可以直接从组件库中调用。
可选的,从公开的组件中确定未关联组件。
在该种可行的实现方式中,通过扩展组件库,组件库可以支持更多的目标用户界面,在后续的用户界面的生成中可以提升生成效率。
S305、确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件。
结合场景示例来说,响应函数针对LVGLUI的实现方法包括:调用初始化接口进行LVGL基本配置,其中包括LVGL组件初始化、输入输出设备配置、创建LVGL时钟线程;创建界面事件处理线程,用来执行应用程序注册的事件回调函数。由于LVGL本身的界面事件触发与界面刷新都在同一线程函数中处理,同步调用可能会由界面操作,导致线程死锁,所以需要创建专门的事件处理线程进行异步调用,在LVGLUI界面有事件触发时将事件上报到事件处理线程;通过死循环的方式,每预设时段(例如5ms)调用一次LVGL的函数lv_task_handler,在其中会根据LVGL内存的数据进行统一的界面刷新,并把收到的界面事件进行上报。当选用LVGLUI时,可以在应用程序任意位置创建线程运行;调用退出接口进行退出,包括LVGL时钟线程的退出,输入输出设备删除,LVGLUI退出。针对QTUI的实现方法包括:设定QTUI对接的下层窗口管理系统为显示服务器wayland,创建界面应用环境QApplication类,QApplication用来处理QT的后台调度。设定QTUI的字体格式。执行QApplication的exec函数,这是一个死循环,在其中会调度QT后台事件,刷新显示界面,处理所有的QT信号并执行对应的槽函数。由于QTUI的特性要求所有的部件操作(创建、更改、删除)都必须在主线程中执行,但应用程序需要灵活的更改界面,无法在主线程中直接创建固定的界面,因此采用QT提供的信号-槽机制,通过发送QT信号来触发QT槽函数,槽函数会在QApplication的exec函数中被调度执行,并且信号发送不需要和槽函数在同一线程内。因此规定应用程序选用QTUI时,需要在主线程中调用UIRunning接口,来执行QApplication的exec函数,而在应用程序调用创建、刷新、销毁QTUI界面时实际上是发送信号,来触发对应的槽函数,即可实现灵活更改界面的功能。另外,通过信号-槽的方式,每次界面更改都是异步的,可以不必再类似LVGL一样创建线程用来处理事件。
S306、确定每个所述待选函数指针中存储的待选请求事件。
可选的,每个待选函数指针有唯一对应的待选请求事件。
结合场景示例来说,确定待选函数指针与待选请求事件的对应关系,通过对应关系可以准确确定对应的待选请求事件。
S307、将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
结合场景示例来说,针对任意一个目标请求事件,根据请求事件的类型确定该目标请求事件对应的目标函数指针,将确定的目标函数指针汇总得到多个目标函数指针。
S308、从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序。
结合场景示例来说,多个请求事件在不同的执行顺序下执行可能会得到不同的用户界面,为了准确实现用户的需求,因此确定执行顺序参数,并且按照执行顺序执行用户界面生成请求。
S309、根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面。
一种可行的实现方式,针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
下面,结合图5对循环执行目标请求事件进行说明。
图5为本申请实施例提供的循环执行目标请求事件示意图。如图5所示,循环执行以下操作直至多个目标请求事件中不存在剩余请求事件:取出一个目标请求事件,确定对应的目标指针函数,通过目标指针函数执行该目标请求事件,得到对应的子用户界面。
在该种可行的实现方式中,通过确定循环终止条件执行目标请求事件,可以避免重复执行或者遗漏执行,从而提升用户界面的生成的准确性。
S310、将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
可选的,对执行顺序进行验证处理,若验证通过则按照所述执行顺序组合。
基于以上实施方式,通过验证执行顺序,可以避免人为导致的执行顺序错误,从而提升用户界面的生成的准确性。
图6为本申请实施例提供的一种用户界面的生成装置的结构示意图。如图6所示,该用户界面的生成装置60可以包括:接收模块61、确定模块62、筛选模块63以及生成模块64,其中,
所述接收模块61,用于通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件。
所述确定模块62,用于根据所述目标用户界面组件的类型,确定目标用户界面组件。
所述筛选模块63,用于根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针。
所述生成模块64,用于根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
可选的,接收模块61可以执行图2实施例中的S201。
可选的,确定模块62可以执行图2实施例中的S202。
可选的,筛选模块63可以执行图2实施例中的S203。
可选的,生成模块64可以执行图2实施例中的S204。
需要说明的是,本申请实施例所示的用户界面的生成装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述确定模块62,具体用于:
确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面;
根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件。
在一种可能的实施方式中,所述确定模块62,具体用于:
判断所述组件库中是否存在所述目标用户界面组件的类型;
若是,则将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
图7为本申请实施例提供的一种用户界面的生成装置的结构示意图。在图6所示实施例的基础上,如图7所示,该用户界面的生成装置70还包括:扩展模块65、对应模块66以及执行模块67,其中:
所述扩展模块65,用于:
若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;
将所述未关联组件进行实例化处理,得到实例化组件;
将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
所述对应模块66,用于:
确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件;
确定每个所述待选函数指针中存储的待选请求事件;
将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
所述执行模块67,用于:
从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序;
根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面;
将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
在一种可能的实施方式中,所述执行模块67,具体用于:
针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;
根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;
根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
图8为本申请实施例中提供的一种电子设备的结构示意图,如图8所示,该电子设备包括:
处理器(processor)291,电子设备还包括了存储器(memory)292;还可以包括通信接口(Communication Interface)293和总线294。其中,处理器291、存储器292、通信接口293、可以通过总线294完成相互间的通信。通信接口293可以用于信息传输。处理器291可以调用存储器292中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器292中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器292作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器291通过运行存储在存储器292中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器292可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器292可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供一种非临时性计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述实施例所述的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中用户界面的生成方法的技术方案。
本申请实施例还提供一种运行指令的芯片,所述芯片上存储有计算机程序,所述计算机程序被所述芯片执行时,实现用户界面的生成所述的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (17)
1.一种用户界面的生成方法,其特征在于,包括:
通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;
根据所述目标用户界面组件的类型,确定目标用户界面组件;
根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;
根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
2.根据权利要求1所述的方法,其特征在于,根据所述目标用户界面组件的类型,确定目标用户界面组件,包括:
确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面;
根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件。
3.根据权利要求2所述的方法,其特征在于,根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件,包括:
判断所述组件库中是否存在所述目标用户界面组件的类型;
若是,则将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;
将所述未关联组件进行实例化处理,得到实例化组件;
将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
5.根据权利要求1-4中任一项所述的方法,其特征在于,根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针,包括:
确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件;
确定每个所述待选函数指针中存储的待选请求事件;
将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
6.根据权利要求1-5中任一项所述的方法,其特征在于,根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,包括:
从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序;
根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面;
将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
7.根据权利要求6所述的方法,其特征在于,根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面,包括:
针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;
根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;
根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
8.一种用户界面的生成装置,其特征在于,包括:
接收模块,用于通过代理接口,接收终端设备发送的用户界面生成请求,所述用户界面生成请求包括目标用户界面组件的类型以及多个目标请求事件;
确定模块,用于根据所述目标用户界面组件的类型,确定目标用户界面组件;
筛选模块,用于根据所述多个目标请求事件和所述目标用户界面组件,确定多个目标函数指针;
生成模块,用于根据所述多个目标函数指针对应的响应函数执行所述多个目标请求事件,得到所述用户界面生成请求对应的用户界面,并向所述终端设备发送所述用户界面生成请求对应的用户界面。
9.根据权利要求8所述的装置,其特征在于,
所述确定模块,具体用于确定组件库,所述组件库中包括多个关联用户界面组件,以及每个所述关联用户界面组件的类型,所述多个关联用户界面组件用于根据请求事件生成用户界面;
所述确定模块,具体还用于根据所述目标用户界面组件的类型以及所述关联用户界面组件的类型,确定所述目标用户界面组件。
10.根据权利要求9所述的装置,其特征在于,
所述确定模块,具体用于判断所述组件库中是否存在所述目标用户界面组件的类型;
所述确定模块,具体还用于若是,则将所述组件库中,所述目标用户界面组件的类型对应的关联用户界面组件确定为所述目标用户界面组件。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
扩展模块,用于若所述组件库中不存在所述目标用户界面组件的类型,则通过应用程序编程API接口,查询所述目标用户界面组件的类型对应的未关联组件;
所述扩展模块,还用于将所述未关联组件进行实例化处理,得到实例化组件;
所述扩展模块,还用于将所述实例化组件确定为所述目标用户界面组件,并通过所述实例化组件更新所述组件库。
12.根据权利要求8-11中任一项所述的装置,其特征在于,所述装置还包括:
对应模块,用于确定所述目标用户界面组件对应的多个待选函数指针,每个所述待选函数指针中存储对应的待选请求事件以及响应函数,所述响应函数用于执行对应的待选请求事件;
所述对应模块,还用于确定每个所述待选函数指针中存储的待选请求事件;
所述对应模块,还用于将与所述目标请求事件相同的待选请求事件所对应的所述待选函数指针,确定为所述多个目标函数指针。
13.根据权利要求8-12中任一项所述的装置,其特征在于,所述装置还包括:
执行模块,用于从所述用户界面生成请求中确定所述多个目标请求事件的执行顺序;
所述执行模块,还用于根据所述执行顺序,依次根据所述多个目标函数指针对应的所述响应函数执行所述多个目标请求事件,得到每个所述目标请求事件对应的子用户界面;
所述执行模块,还用于将所述多个子用户界面按照所述执行顺序进行组合,得到所述用户界面生成请求对应的用户界面。
14.根据权利要求13所述的装置,其特征在于,
所述执行模块,具体用于针对任意一个所述目标请求事件,确定所述目标请求事件对应的所述目标函数指针;
所述执行模块,具体还用于根据所述目标请求事件对应的所述目标函数指针,确定所述目标请求事件对应的目标函数;
所述执行模块,具体还用于根据所述目标请求事件对应的目标函数执行所述目标请求事件,得到所述目标请求事件对应的所述子用户界面。
15.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524924.7A CN117453336A (zh) | 2023-11-15 | 2023-11-15 | 用户界面的生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524924.7A CN117453336A (zh) | 2023-11-15 | 2023-11-15 | 用户界面的生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453336A true CN117453336A (zh) | 2024-01-26 |
Family
ID=89589045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311524924.7A Pending CN117453336A (zh) | 2023-11-15 | 2023-11-15 | 用户界面的生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453336A (zh) |
-
2023
- 2023-11-15 CN CN202311524924.7A patent/CN117453336A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868785B2 (en) | Application program page processing method and device | |
EP3309676B1 (en) | Method and apparatus for providing screenshot service on terminal device and storage medium and device | |
CN108182131B (zh) | 监控应用运行状态的方法、装置、存储介质及电子设备 | |
CN107608609B (zh) | 一种事件对象发送方法与装置 | |
US11455075B2 (en) | Display method when application is exited and terminal | |
CN108549562A (zh) | 一种图像加载的方法及装置 | |
CN110496395B (zh) | 一种针对虚幻引擎的组件运行方法、系统及设备 | |
TW201941132A (zh) | 資訊展示方法、裝置及設備 | |
CN112256421A (zh) | 通信处理方法、装置、存储介质及电子设备 | |
CN112925718A (zh) | 调用栈回溯方法、装置、设备和介质 | |
EP3869377A1 (en) | Method and apparatus for data processing based on smart contract, device and storage medium | |
US10289219B2 (en) | Communicating with an unsupported input device | |
CN111459481A (zh) | 页面侧滑方法、装置、电子设备和存储介质 | |
CN117453336A (zh) | 用户界面的生成方法、装置、电子设备及存储介质 | |
US20180373512A1 (en) | Method and device for simulating synchronous blocking in asynchronous environment, storage medium, server and terminal | |
CN112860235B (zh) | 处理文本的方法、装置、设备和存储介质 | |
CN114510334A (zh) | 类实例的调用方法、装置、电子设备及自动驾驶车辆 | |
US20120072891A1 (en) | Computer Language Syntax for Automatic Callback Function Generation | |
CN111881212A (zh) | 执行检查点操作的方法、装置、设备及存储介质 | |
CN113065072A (zh) | 用于社群营销管理的数据处理方法及系统 | |
CN112416444A (zh) | 一种板卡切换控制方法、装置、设备及介质 | |
CN111931111A (zh) | 一种网页开发方法、网页展示方法、装置及设备 | |
CN112506592A (zh) | 页面加载时长的确定方法、装置、设备和存储介质 | |
CN116700694B (zh) | 小程序引擎 | |
CN113032169B (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 |