CN114217710B - 弹框控制方法、装置、存储介质及系统 - Google Patents
弹框控制方法、装置、存储介质及系统 Download PDFInfo
- Publication number
- CN114217710B CN114217710B CN202111567239.3A CN202111567239A CN114217710B CN 114217710 B CN114217710 B CN 114217710B CN 202111567239 A CN202111567239 A CN 202111567239A CN 114217710 B CN114217710 B CN 114217710B
- Authority
- CN
- China
- Prior art keywords
- frame
- bullet
- bullet frame
- frame object
- current
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
Abstract
本发明涉及终端弹框技术领域,提供一种弹框控制方法、装置、存储介质及系统,弹框控制方法包括:预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;获取启动弹框指令;基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象;本发明的弹框控制方法、装置、存储介质及系统能够实现弹框的有序、唯一显示,提升页面显示效果;确保每次只显示一个且为当前最高优先级的弹框,无需进行弹框间的关联嵌套开发。
Description
技术领域
本发明涉及终端弹框技术领域,特别是涉及弹框控制方法、装置、存储介质及系统。
背景技术
目前,弹框是一种常用的展示提示信息并与用户交互的手段,弹框的原理是弹出一个页面,在页面显示界面并与用户交互,这里的页面本身没有优先级,仅依照代码的执行顺序依次弹出,由于是页面不存在唯一性,多个弹框页面可以同时存在,比如,当有多个业务都需要弹框时,会在满足各自的弹出条件后弹出各自的弹框页面,多个弹框无序地弹出在页面上会导致彼此间的显示重叠,进而导致信息遮挡,因此页面显示效果差。
现有技术中对有多个弹框的情况主要有2种处理方法,方法一:使用一个全局变量总体控制当前是否有弹框,具体的,每个弹框在弹出前先判断是否能弹出,默认为否,当第一个弹框弹出后,全局变量变为是;后续弹框暂不能弹出;等待第一个弹框被销毁时发出通知给其他等待的弹框,再按上述方法进行弹框操作。方法二:根据事先确定的弹框顺序,在每个弹框中处理下一个弹框的逻辑。方法一的处理虽然能够解决多个弹框同时弹出的问题,但不能适用需要优先级排序的业务场景;方法二的处理虽然解决了多个弹框的同时弹出和优先级排序的问题,但代码耦合严重,如弹框顺序需要改变时需要重构代码,开发效率低。
因此,如何保证弹框的优先级,并有序、唯一显示是一个亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种弹框控制方法、装置、存储介质及系统,用于解决现有技术中无法保证弹框的优先级,并有序、唯一显示的问题。
为实现上述目的及其他相关目的,本发明提供一种弹框控制方法,包括以下步骤:预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;获取启动弹框指令;基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象。
于本发明的一实施例中,所述获取启动弹框指令之前,还包括:预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;其中,所述工具类包括:存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;所述弹框优先级基于数字的自然排序依次降低。
于本发明的一实施例中,所述基于所述启动弹框指令,接收弹框对象,包括:基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中。
于本发明的一实施例中,所述基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象,包括:将所述弹框对象存入所述弹框可变数组中;基于所述弹框可变数组,应用小顶堆算法,判断所述弹框可变数组中的弹框对象次序是否需要调整;当判断结果为所述弹框对象次序需要调整时,应用所述小顶堆算法进行调整;基于所述调整后的弹框对象次序、所述弹框优先级,确定所述当前待弹框对象。
于本发明的一实施例中,所述判断当前是否已存在弹框;基于判断结果,控制所述当前待弹框对象的弹出,包括:基于所述布尔值,判断当前是否已存在弹框;当判断结果为没有存在弹框时,调用弹出指令;基于所述弹出指令,将所述当前待弹框对象弹出;并将所述当前弹框对象名称标识为所述当前待弹框对象的名称;以及所述布尔值标识表示已有正在显示的弹框。
于本发明的一实施例中,所述控制所述当前待弹框对象的弹出之后,还包括:基于所述当前弹框对象名称,删除所述弹框可变数组中对应的弹框对象;对删除操作后的所述弹框可变数组,应用所述小顶堆算法进行调整;当调整完成后,将所述当前弹框对象名称标识为空;所述布尔值标识表示没有正在显示的弹框;并调用所述弹出指令以进行弹框控制。
对应地,本发明提供一种弹框控制装置,包括:第一处理模块,用于预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;获取模块,用于获取启动弹框指令;第二处理模块,用于基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;确定模块,用于基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象。
于本发明的一实施例中,所述工具类包括:存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;所述弹框优先级基于数字的自然排序依次降低。本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的弹框控制方法。
本发明提供一种弹框控制系统,包括存储器,用于存储计算机程序,以及根据实际需求,存储实际应用时生成的图像集;处理器,用于运行所述计算机程序以实现上述的弹框控制方法。
如上所述,本发明的弹框控制方法及装置,具有以下有益效果:
(1)能够实现弹框的有序、唯一显示,提升页面显示效果。
(2)能够在极少的时间和空间复杂度下实现多个弹框按优先级顺序弹出,确保每次只显示一个且为当前最高优先级的弹框,从而在开发时无需进行弹框间的关联嵌套。
附图说明
图1显示为本发明的弹框控制方法于一实施例中的流程图。
图2显示为本发明的弹框控制方法于一实施例中的可变数组图。
图3显示为本发明的弹框控制方法于一实施例中的小顶堆算法调整图。
图4显示为本发明的弹框控制方法于一实施例中的删除操作后的小顶堆算法调整图。
图5显示为本发明的弹框控制方法于一实施例中的整体流程图。
图6显示为本发明的弹框控制装置于一实施例中的结构示意图。
图7显示为本发明的弹框控制装置于一实施例中的弹框控制系统。
元件标号说明
61 第一处理模块
62 获取模块
63 第二处理模块
64 确定模块
71 处理器
72 存储器
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的弹框控制方法及装置,能够实现弹框的有序、唯一显示,提升页面显示效果;能够在极少的时间和空间复杂度下实现多个弹框按优先级顺序弹出,确保每次只显示一个且为当前最高优先级的弹框,从而在开发时无需进行弹框间的关联嵌套。
如图1所示,于本实施例中,本发明的弹框控制方法包括以下步骤:
步骤S1、预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级。
具体地,预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;其中,所述工具类包括:存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;所述弹框优先级基于数字的自然排序依次降低。
进一步具体地,基于业务需求定义的弹框优先级包括:运营弹框优先级高于权限弹框优先级,权限弹框优先级高于业务弹框优先级;从1开始,数字越大,优先级越低;比如,运营弹框优先级为2,权限弹框优先级为3,业务弹框优先级为4;弹框优先级可根据实际应用场景灵活调整设置,比如,在实际应用场景中版本升级的优先级最高,则在设置弹框优先级时,可将版本升级的优先级设置为1;同一优先级序列的弹框按照后续小顶堆算法的数据结构排序结果确定,比如在处理弹框时,业务弹框优先级为4的两个弹框先后进入准备弹框中,这两个弹框的弹出顺序虽然在高于它的优先级的弹框之后,比如权限弹框优先级、运营弹框优先级之后,但在业务弹框优先级内的这两个弹框的优先级并不是基于这两个弹框自身的先后顺序,而是需要按照后续小顶堆算法的数据结构排序结果确定的。
进一步具体地,本方案是以插件工具的方式实施进行,上述预定义的工具类、弹框对象属性以及弹框优先级即为插件工具在应用时对应不同内容。
步骤S2、获取启动弹框指令。
步骤S3、基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中。
具体地,工具类指令带有的自身属性即包括上述预定义的工具类内容,包括存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称。预先对弹框对象进行封装,即按照弹框对象包含的属性:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级进行整体封装,其中,弹框所需参数包括弹框显示的内容和弹框处理的逻辑;弹框对象名称为该弹框对应的标识;弹框方法名称为包含该弹框执行的代码;权限等级为该弹框对应的优先级。
步骤S4、基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象。
具体地,将所述弹框对象存入所述弹框可变数组中;基于所述弹框可变数组,应用小顶堆算法,判断所述弹框可变数组中的弹框对象次序是否需要调整;当判断结果为所述弹框对象次序需要调整时,应用所述小顶堆算法进行调整;基于所述调整后的弹框对象次序、所述弹框优先级,确定所述当前待弹框对象。
进一步具体地,工具类在接收到弹框对象后,将弹框对象存入弹框可变数组中,其中,可变数组为一维的可扩展数组,以用于当后续有弹框对象时,能方便的加入数组中。可变数组中每个元素位置上存储的弹框对象,包含有该弹框对象的权限等级,即该弹框对象的优先级,基于该优先级,应用小顶堆算法进行数组的元素排序,以判断可变数组中的元素所在位置是否满足小顶堆算法的数据结构。当工具类接收到新的弹框对象时,可变数组中新增一个弹框对象,相应地,应用小顶堆算法判断可变数组中的元素所在位置是否满足小顶堆算法的数据结构,以确定是否对可变数组中的元素进行排序调整。
进一步具体地,当基于上述判断,确定可变数组不满足小顶堆算法的数据结构时,对可变数组进行向上调整。如图2所示,于本实施例中,本发明的可变数组图。原可变数组中各弹框对象的权限等级依次为[2,6,4,7,9,6]。当可变数组中新增一个优先级为1的弹框对象时,对应到完全二叉树的思维逻辑结构中,就是向树中的最后一层添加了一个新的叶节点,由于新的叶节点为1,而对应的父节点为4,即父节点值大于子节点值,可变数组不满足小顶堆算法的数据结构,因此,需要对可变数组的最后一个元素做递归上浮操作以使其满足小顶堆算法的数据结构。这里,基于小顶堆算法的性质定义,在调整时只需要进行父节点值与子节点值之间的大小关系比较,因此,当子节点值1小于父节点值4时,将子节点值与父节点值4交换,之后,再将交换后的节点值1和上一层的父节点值2进行比较,由于父节点值2大于子节点值1,因此继续进行父节点值2和子节点值1之间的交换,这种向上调整的处理原理即为在当前元素值小于其父节点值时,交换子节点与父节点值的位置,持续调整直至当前节点大于父节点的值或者调整到了堆顶。经上述调整后,如图3所示,于本实施例中,本发明的小顶堆算法调整图。经调整后的可变数组满足小顶堆算法的数据结构,并且可变数组中的第一个元素即为当前优先级最高的弹框,该优先级最高的弹框即为当前待弹框对象。
进一步具体地,当可变数组满足小顶堆算法的数据结构时,则不用对可变数组进行向上调整。举例来说,原可变数组中各弹框对象的权限等级依次为[2,6,4,7,9,6],当可变数组中新增一个优先级为5的弹框对象时,由于新的叶节点值5大于父节点值4,即父节点值小于子节点值,可变数据满足小顶堆算法的数据结构,因此,不用对可变数组进行向上调整。
根据上述步骤S1-S4的处理确定出当前待弹框对象后,需要基于当前是否已有弹框进行待弹框对象弹出的控制,具体详情如下。
判断当前是否已存在弹框;基于判断结果,控制所述当前待弹框对象的弹出。
具体地,基于所述布尔值,判断当前是否已存在弹框;当判断结果为没有存在弹框时,调用弹出指令;基于所述弹出指令,将所述当前待弹框对象弹出;并将所述当前弹框对象名称标识为所述当前待弹框对象的名称;以及所述布尔值标识表示已有正在显示的弹框。
进一步具体地,在上述基于小顶堆算法调整好可变数组中元素的顺序后,基于可变数组中的第一个元素准备弹框前,为避免第一个元素对应的弹框对象在弹出时有其他弹框对象存在导致重叠显示,信息遮挡的情况发生,先进行当前是否有弹框的判断,若当前记录弹框状态布尔值为true时,表示当前有弹框正在显示,暂停弹出指令的调用,可变数组中的第一个弹框对象暂先不弹出;若当前记录弹框状态布尔值为false时,表示当前无弹框存在,即可以弹出可变数组中的第一个弹框,这时调用弹出指令。
进一步具体地,基于弹出指令,取出可变数组中的第一个元素,将其对应的弹框对象按照弹框方法名称中包含的该弹框执行的代码进行弹出。即本方案的处理方法在调用工具对弹框对象进行弹框处理时,是基于弹框对象自身已包含的弹框方法对弹框对象进行弹框,并不涉及对弹框对象如何弹框的干涉处理。比如,预设的弹框对象1对应的是方法1;弹框对象2对应的是方法2,调用工具在对弹框对象进行弹框处理时,并没有通用的方法去处理弹框对象1、弹框对象2如何弹框,而是在调用工具对弹框对象1进行弹框处理时应用的是方法1,调用工具对弹框对象2进行弹框处理时应用的是方法2。
进一步具体地,在弹框对象弹出的同时,将当前弹框对象名称标识为当前待弹框对象的名称和布尔值标识为true,表示已有正在显示的弹框。
进一步具体地,所述控制所述当前待弹框对象的弹出之后,基于所述当前弹框对象名称,删除所述弹框可变数组中对应的弹框对象;对删除操作后的所述弹框可变数组,应用所述小顶堆算法进行调整;当调整完成后,将所述当前弹框对象名称标识为空;所述布尔值标识表示没有正在显示的弹框;并调用所述弹出指令以进行弹框控制。
进一步具体地,在上述删除可变数组中的对应的弹框对象后,需要对可变数组进行调整,以保证可变数组的第一个元素位置有弹框对象以及后续的每个元素次序满足小顶堆算法的数据结构。举例来说,上述可变数组在未进行删除操作前,数组内元素为[1,6,2,7,9,6,4],第一个数组元素对应的弹框对象优先级为1,在删除堆顶元素1后,基于小顶堆算法的原理,将最尾部元素赋值给最顶端,形成新的数据结构,由于新的数据结构中堆顶的父节点值4大于下一层子节点值2,不满足小顶堆算法的数据结构,需要对可变数组进行向下调整,在向下调整时,由于需要确保父节点值小于子节点值,因此,需要将父节点和对应的2个子节点、以及2个子节点之间都要进行对比以确定出三者中最小的值作为父节点值,这里,由于子节点值2小于父节点值4,并且子节点值2小于子节点值6,因此将子节点值2与父节点值4交换,形成新的数据结构,之后,再将新的数据结构中的节点值4和下一层的子节点值6进行比较,由于父节点值4小于子节点值6,因此无需交换,基于这种向下调整的处理,直至下一层子节点值都大于父节点值为止,完成调整操作。如图4所示,于本实施例中,本发明的删除操作后的小顶堆算法调整图。
进一步具体地,当可变数组中新增的弹框对象的优先级和原可变数组中排序最后的元素的优先级相同,且其原可变数组中元素的排序满足小顶堆算法的数据结构,在后续的排序调整中仍是以小顶堆算法为准。举例来说,原可变数组中各弹框对象的权限等级依次为[2,6,4,7,9,6],当可变数组中新增一个优先级为6的弹框对象时,由于新增弹框对象后的可变数组满足小顶堆算法,因此不用对可变数组进行向上调整,即判断当前是否有弹框,以确定是否调用弹出指令,如当前记录弹框状态的布尔值为false时,调用弹出指令,基于弹出指令,取出当前数组中的第一个元素,第一个元素即为当前待弹框对象的名称,将其弹框弹出,并将当前弹框对象名称标识为当前待弹框对象的名称;布尔值标识为true;当用户完成与弹框的交付,基于当前弹框对象名称,删除弹框可变数组中对应的弹框对象;在弹出下一个弹框前,对可变数组进行向下调整,先将新增的优先级赋值给最顶端,形成新的数据结构,由于新的数据结构中堆顶的父节点值6大于下一层子节点值4,不满足小顶堆算法的数据结构,需要对可变数组进行向下调整,因此,将父节点值6和2个节点值6、4比较,将父节点值6和子节点值4交换;之后,再将数据结构中的新的子节点6和再下一层的子节点比较,再下一层的子节点值也为6,因此,无需再向下调整;若后续在判断出当前无弹框,调用弹出指令时,即取出当前数组中第一个元素优先级为4的弹框弹出即可。
如图5所示,于本实施例中,本发明的整体流程图,通过上述步骤S1-S4,先进行弹框相关的预定义,包括定义工具类、定义弹框对象属性以及定义弹框优先级;再调用工具类指令等待弹框,将调用系统弹出的指令改为调用工具类指令,传入弹框对象。工具类接收到弹框对象后存入弹框可变数组中,可变数组基于小顶堆算法进行处理。当不满足小顶堆算法的数据结构时,对可变数组进行向上调整。判断当前是否有弹框,包括:当前记录弹框状态布尔值为true,表示当前有弹框正在显示,指令抛弃;当前记录弹框状态的布尔值为false,表示当前无弹框存在,调用弹出指令。当调用弹出指令时,基于弹出指令,取出当前数组中的第一个元素,将其弹框弹出,并将当前弹框对象名称标识为当前待弹框对象的名称;布尔值标识为true。当用户完成与弹框的交付,基于当前弹框对象名称,删除弹框可变数组中对应的弹框对象。在弹出下一个弹框前,对可变数组进行向下调整;向下调整完成后,重置记录当前的弹框对象名称标识为空,布尔值标识为flase,表示没有正在显示的弹框;并调用弹出指令,基于弹出指令,取出当前数组中的第一个元素,将其弹框弹出,并将当前弹框对象名称标识为当前待弹框对象的名称;布尔值标识为true,再进行后续的弹框处理,从而完成弹框的控制。
如图6所示,于本实施例中,本发明的弹框控制装置包括:
第一处理模块,用于预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;
获取模块,用于获取启动弹框指令;
第二处理模块,用于基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;
确定模块,用于基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象。
其中,所述工具类包括:存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;所述弹框优先级基于数字的自然排序依次降低。
本实施例的弹框控制装置具体实现的技术特征与实施例1中弹框控制方法中的各步骤的原理基本相同,方法和装置之间可以通用的技术内容不作重复赘述。
本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述的弹框控制方法。
如图7所示,于本实施例中,本发明的弹框控制系统包括:处理器71及存储器72。
所述存储器72用于存储计算机程序。
所述存储器72包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器71与所述存储器72相连,用于执行所述存储器72存储的计算机程序,以使所述弹框控制系统执行上述的弹框控制方法。
优选地,上述的处理器71可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)、图形处理器(Graphic Processing Unit,GPU)等,其中,在实际应用中,主要采用的通用处理器是图形处理器;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明的弹框控制方法及装置,能够实现弹框的有序、唯一显示,提升页面显示效果;能够在极少的时间和空间复杂度下实现多个弹框按优先级顺序弹出,确保每次只显示一个且为当前最高优先级的弹框,从而在开发时无需进行弹框间的关联嵌套。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (6)
1.一种弹框控制方法,其特征在于,所述弹框控制方法包括以下步骤:
预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;
获取启动弹框指令;
基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;
基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象;
其中,存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;
所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;
所述弹框优先级基于数字的自然排序依次降低;
所述基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象,包括:
将所述弹框对象存入所述弹框可变数组中;
基于所述弹框可变数组,应用小顶堆算法,判断所述弹框可变数组中的弹框对象次序是否需要调整;
当判断结果为所述弹框对象次序需要调整时,应用所述小顶堆算法进行调整;
基于所述调整后的弹框对象次序、所述弹框优先级,确定所述当前待弹框对象。
2.根据权利要求1所述的方法,其特征在于,所述确定当前待弹框对象之后,还包括:
基于所述布尔值,判断当前是否已存在弹框;
当判断结果为没有存在弹框时,调用弹出指令;
基于所述弹出指令,将所述当前待弹框对象弹出;并将所述当前弹框对象名称标识为所述当前待弹框对象的名称;以及所述布尔值标识表示已有正在显示的弹框。
3.根据权利要求2所述的方法,其特征在于,所述基于所述弹出指令,将所述当前待弹框对象弹出之后,还包括:
基于所述当前弹框对象名称,删除所述弹框可变数组中对应的弹框对象;
对删除操作后的所述弹框可变数组,应用所述小顶堆算法进行调整;
当调整完成后,将所述当前弹框对象名称标识为空;所述布尔值标识表示没有正在显示的弹框;并调用所述弹出指令以进行弹框控制。
4.一种弹框控制装置,其特征在于,包括:
第一处理模块,用于预先对弹框进行定义;所述定义的内容包括:基于弹框属性定义的工具类、基于弹框对象定义的弹框对象属性以及基于业务需求定义的弹框优先级;
获取模块,用于获取启动弹框指令;
第二处理模块,用于基于所述弹框对象属性,预先对所述弹框对象进行封装;基于所述启动弹框指令,调用所述工具类对应的指令;将封装后的所述弹框对象传入所述工具类中;
确定模块,用于基于所述弹框对象、预设的弹框可变数组,确定当前待弹框对象;
其中,存储弹框的可变数组、表示是否已有正在显示的弹框的布尔值以及当前弹框对象名称;
所述弹框对象属性包括:弹框所需参数、弹框对象名称、弹框方法名称以及权限等级;
所述弹框优先级基于数字的自然排序依次降低;
所述确定模块,具体用于:
将所述弹框对象存入所述弹框可变数组中;
基于所述弹框可变数组,应用小顶堆算法,判断所述弹框可变数组中的弹框对象次序是否需要调整;
当判断结果为所述弹框对象次序需要调整时,应用所述小顶堆算法进行调整;
基于所述调整后的弹框对象次序、所述弹框优先级,确定所述当前待弹框对象。
5.一种存储介质,存储有程序指令,其中,所述程序指令被执行时实现如权利要求1至权利要求3任一项所述的弹框控制方法的步骤。
6.一种弹框控制系统,其特征在于:包括存储器,用于存储计算机程序;处理器,用于运行所述计算机程序以实现如权利要求1至权利要求3任一权利要求所述的弹框控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567239.3A CN114217710B (zh) | 2021-12-20 | 2021-12-20 | 弹框控制方法、装置、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111567239.3A CN114217710B (zh) | 2021-12-20 | 2021-12-20 | 弹框控制方法、装置、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114217710A CN114217710A (zh) | 2022-03-22 |
CN114217710B true CN114217710B (zh) | 2023-07-21 |
Family
ID=80704577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111567239.3A Active CN114217710B (zh) | 2021-12-20 | 2021-12-20 | 弹框控制方法、装置、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217710B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648641A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种iOS系统设备上多层弹框的自动管理方法和系统 |
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
CN110688189A (zh) * | 2019-09-30 | 2020-01-14 | 北京拉勾网络技术有限公司 | 一种弹框的显示方法、装置及存储介质 |
CN113138843A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 应用内弹框显示顺序管理方法、装置和设备 |
CN113448463A (zh) * | 2020-10-27 | 2021-09-28 | 北京新氧万维科技咨询有限公司 | 一种异步交互的方法、装置、电子设备和存储介质 |
CN113722035A (zh) * | 2021-08-31 | 2021-11-30 | 平安消费金融有限公司 | 弹框任务管理及弹框展示方法、装置、设备和存储介质 |
WO2021252979A2 (en) * | 2020-06-11 | 2021-12-16 | Apple Inc. | User interfaces for customized navigation routes |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074528B2 (en) * | 2017-08-31 | 2021-07-27 | Accenture Global Solutions Limited | Robotic operations control system for a blended workforce |
-
2021
- 2021-12-20 CN CN202111567239.3A patent/CN114217710B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106648641A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种iOS系统设备上多层弹框的自动管理方法和系统 |
CN109726806A (zh) * | 2017-10-30 | 2019-05-07 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
CN110688189A (zh) * | 2019-09-30 | 2020-01-14 | 北京拉勾网络技术有限公司 | 一种弹框的显示方法、装置及存储介质 |
WO2021252979A2 (en) * | 2020-06-11 | 2021-12-16 | Apple Inc. | User interfaces for customized navigation routes |
CN113448463A (zh) * | 2020-10-27 | 2021-09-28 | 北京新氧万维科技咨询有限公司 | 一种异步交互的方法、装置、电子设备和存储介质 |
CN113138843A (zh) * | 2021-04-23 | 2021-07-20 | 上海中通吉网络技术有限公司 | 应用内弹框显示顺序管理方法、装置和设备 |
CN113722035A (zh) * | 2021-08-31 | 2021-11-30 | 平安消费金融有限公司 | 弹框任务管理及弹框展示方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114217710A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984317B (zh) | 进程间通信ipc的实现方法和装置 | |
US7681196B2 (en) | Providing optimal number of threads to applications performing multi-tasking using threads | |
CN106383742B (zh) | 一种基于linux的IO调度方法 | |
CN114217710B (zh) | 弹框控制方法、装置、存储介质及系统 | |
CN105138344A (zh) | 根据图片热度随机生成屏保的方法及系统 | |
CN111553847A (zh) | 图像处理方法及装置 | |
KR20210014561A (ko) | 다수 컨벌루션 윈도우 중의 이미지 데이터를 추출하는 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장매체 | |
CN102184105A (zh) | 基于组件方式的数据处理方法及数据中心系统 | |
CN105786449A (zh) | 基于图形处理的指令调度方法及装置 | |
CN107506375A (zh) | 数据存储方法及装置 | |
CN114328747A (zh) | 数据同步方法、装置、计算机设备和介质 | |
CN107688634A (zh) | 数据写入方法及装置、电子设备 | |
EP3507689B1 (en) | Java card application package used as a library package | |
WO2017001900A1 (en) | A data processing method | |
CN110941596A (zh) | 磁盘空间释放方法、装置、计算设备及计算机存储介质 | |
CN110673910A (zh) | 一种app系统中控制弹窗展现的控制方法及控制装置 | |
CN109144505B (zh) | Android页面的展示方法和装置 | |
CN112001837B (zh) | Cdvs多进程驱动方法、装置、电子设备及存储介质 | |
CN115546493B (zh) | 基于列数据的包裹识别信息过滤去重方法及装置及介质 | |
CN116700940B (zh) | 一种基于封装类的请求处置方法及系统及装置及介质 | |
CN102253970B (zh) | 一种图像处理方法 | |
CN110688352B (zh) | 一种文件删除方法、装置和计算机可读存储介质 | |
CN109800073B (zh) | 实时进程的调度方法、装置、终端及存储介质 | |
CN114328453A (zh) | Kv数据库数据管理方法、装置、计算设备及存储介质 | |
CN115964157A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |