一种弹窗的输出方法、装置及终端制造方法及图纸

技术编号:14786048 阅读:28 留言:0更新日期:2017-03-11 00:06
本发明专利技术公开了一种弹窗的输出方法、装置及终端,通过由弹窗任务管理器对弹窗任务进行统一管理,每个弹窗任务中均包含显示函数,而每个显示函数中均包含需要由弹窗的实现类实现的回调函数的方式,达到既能够满足弹窗显示的多样性需求,又能够实现复杂的显示逻辑的目的。本发明专利技术提供了弹窗输出的框架,在这种框架下,通过对弹窗任务中的参数进行设计并根据具体弹窗的相关业务对所述参数进行赋值,即可实现对弹窗显示时机的控制,进而解决多个弹窗同时显示的冲突,减少显示弹窗时对用户的打扰。同时让许多不方便获得弹窗的实现类的实例的输出页面也能方便地进行弹窗的相关操作,因而有效规避一些常见的异常。

【技术实现步骤摘要】

本专利技术涉及计算机通信
,尤其涉及一种弹窗的输出方法、装置及终端
技术介绍
弹窗是指打开网页、软件、手机APP等的时候自动弹出的窗口,通常因某种逻辑被触发的,覆盖在屏幕页面上的浮层,提示框和控件等均被称之为弹窗。弹窗的常规输出方法为:构建一个弹窗的抽象基类,让应用程序中的弹窗都继承于这个抽象基类,同时维护一个弹窗队列,在多个弹窗同时输出时按照先入先出的顺序,让弹窗依次输出,然而,这种方式存在以下问题:(1)不适用于不支持多继承的编程环境:弹窗多种多样,在不支持多继承的编程环境下,难以以公共抽象基类的思想来统一管理一个弹窗队列,因此,这种方式难以满足弹窗显示方式的多样性需求,从而影响用户体验。(2)对于不方便获取弹窗的实现类(弹窗的实现类为实现所述弹窗的显示功能的类)的实例的模块,在需要处理弹窗时只能依赖复杂的回调来实现与弹窗相关的业务逻辑,导致业务代码的复杂程度增加。(3)难以实现复杂的显示逻辑,比如,下述弹窗逻辑难以实现:A弹窗只能在B页面输出,若B页面被隐藏时,则需要延至B页面回到前台后才能输出;或者,A弹窗在输出时,如果当前有其他弹窗正在输出,则本次启动周期内A弹窗不得输出。
技术实现思路
为了解决上述技术问题,本专利技术提出了一种弹窗的输出方法、装置及终端。通过由弹窗任务管理器对弹窗任务进行统一管理,每个弹窗任务中均包含显示函数,而每个显示函数中均包含需要由弹窗的实现类实现的回调函数的方式,达到既能够满足弹窗显示的多样性需求,又能够实现复杂的显示逻辑的目的。本专利技术是以如下技术方案实现的,一种弹窗的输出方法,所述方法包括:检测激活指令,若接收到所述激活指令,则判断弹窗任务管理器中是否存在弹窗任务:若是,则获取排在首位的弹窗任务,将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,由所述输出页面控制弹窗的输出,并将所述弹窗任务从所述弹窗任务管理器中删除;所述显示函数中包括用于对所述弹窗进行显示的回调函数。进一步地,所述弹窗任务中包括弹窗的显示函数和弹窗的优先级,所述弹窗任务管理器按照弹窗的优先级从高到低的顺序对弹窗所在的弹窗任务进行排序。进一步地,获取排在首位的弹窗任务之后,还包括:判断是否允许在当前运行环境输出所述弹窗任务对应的弹窗:若是,则将所述弹窗任务中的显示函数的处置权交由所述弹窗的输出页面,并将所述弹窗任务从所述弹窗任务管理器中删除;若否,直接将所述弹窗任务从所述弹窗任务管理器中删除。进一步地,还包括:在所述弹窗任务中获取弹窗的输出页面的信息;根据所述信息,将所述弹窗任务的显示函数的处置权交由所述弹窗的输出页面。进一步地,通过事件总线和/或广播将所述弹窗任务的显示函数的处置权交由弹窗的输出页面。进一步地,将所述弹窗任务的显示函数的处置权交由弹窗的输出页面后,还包括:根据所述输出页面的运行环境判断所述弹窗是否允许被输出:若是,则由所述弹窗任务中的显示函数调用回调函数输出所述弹窗;若否,不输出所述弹窗。进一步地,若所述弹窗被关闭,则向弹窗任务管理器发送用于表示所述弹窗被关闭的通知消息。进一步地,由弹窗类实现所述回调函数,所述弹窗类包括原生的弹窗类、构造的视图类和/或构造的窗口类。一种弹窗输出装置,包括:激活指令检测模块,用于检测激活指令;判断模块,用于判断弹窗任务管理器中是否存在弹窗任务;弹窗任务处置模块,用于获取排在首位的弹窗任务,将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,并将所述弹窗任务从所述弹窗任务管理器中删除;页面输出模块,用于所述输出页面控制弹窗的输出;弹窗任务管理器,用于对弹窗任务进行管理。进一步地,所述弹窗任务中包括弹窗的显示函数和弹窗的优先级,所述弹窗任务管理器按照弹窗的优先级从高到低的顺序对弹窗所在的弹窗任务进行排序。进一步地,所述弹窗任务管理器还包括:弹窗判断第一子模块,用于判断是否允许在当前运行环境输出所述弹窗任务对应的弹窗:若是,则由弹窗任务处置模块将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,并将所述弹窗任务从所述弹窗任务管理器中删除;若否,则由弹窗任务处置模块直接将所述弹窗任务从所述弹窗任务管理器中删除。进一步地,所述弹窗任务处置模块还包括:页面信息获取子模块,用于在所述弹窗任务中获取弹窗的输出页面的信息;处置权转移子模块,用于根据所述信息,将所述弹窗任务的显示函数的处置权交由所述弹窗的输出页面。进一步地,所述页面输出模块包括:弹窗判断第二子模块,用于根据所述输出页面的运行环境判断所述弹窗是否允许被输出;显示子模块,用于在所述输出页面由显示函数调用回调函数对所述弹窗进行显示。进一步地,所述页面输出模块还包括:通知子模块,用于若所述弹窗被关闭,则向弹窗任务管理器发送用于表示所述弹窗被关闭的通知消息。一种弹窗输出终端,所述终端包括上述的弹窗输出装置。。本专利技术提出的一种弹窗的输出方法、装置及终端,具有如下有益效果:1、通过让弹窗的实现类(弹窗的实现类为实现所述弹窗的显示功能的类)实现回调函数的方法,根据实现类的不同可以取得不同的弹窗的输出效果,避免构建抽象公共基类,并且能够满足弹窗的显示多样性需求,提升用户体验。2、将弹窗封装成弹窗任务,由弹窗任务管理器对于弹窗对应的任务利用优先级的概念进行管理,方便对弹窗任务进行调度,能够实现复杂的显示逻辑,满足复杂的业务需求。3、使得某些难以获取弹窗的实现类的实例的输出页面,能够方便地进行与弹窗有关的UI操作。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本专利技术实施例1提供的一种弹窗的输出方法流程图;图2是本专利技术实施例1提供的输出页面显示弹窗的方法流程图;图3是本专利技术实施例1提供的用于表示实现弹窗输出的有关类之间关系的类图;图4是本专利技术实施例2提供的弹窗任务管理器的管理方法的流程图;图5是本专利技术实施例3提供的一种弹窗输出装置示意图;图6是本专利技术实施例4提供的计算机终端的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1:一种弹窗的输出方法,如图1所示,所述方法包括:S101.检测激活指令,检测激活指令至少存在两种实现方式:(1)由弹窗任务管理器提供接口供其它线程、函数或模块调用,从而激活所述弹窗任务管理器。(2)所述弹窗任务管理器监听其它线程、函数或模块发出的通知消息,当监听到通知消息时,弹窗任务管理器被激活。S102.若接收到所述激活指令,S103.则判断弹窗任务管理器中是否存在弹窗任务。S104.若是,则获取排在首位的弹窗任务,将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,由所述输出页面控制弹窗的输出,并将所述弹窗任务从所述弹窗任务管理器中删除;所述显示函数中包括用于对所述弹窗进行显示的回调函数。具体地,获取排在首位的弹窗任务本文档来自技高网...
一种弹窗的输出方法、装置及终端

【技术保护点】
一种弹窗的输出方法,其特征在于,所述方法包括:检测激活指令,若接收到所述激活指令,则判断弹窗任务管理器中是否存在弹窗任务:若是,则获取排在首位的弹窗任务,将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,由所述输出页面控制弹窗的输出,并将所述弹窗任务从所述弹窗任务管理器中删除;所述显示函数中包括用于对所述弹窗进行显示的回调函数。

【技术特征摘要】
1.一种弹窗的输出方法,其特征在于,所述方法包括:检测激活指令,若接收到所述激活指令,则判断弹窗任务管理器中是否存在弹窗任务:若是,则获取排在首位的弹窗任务,将所述弹窗任务中的显示函数的处置权交由弹窗的输出页面,由所述输出页面控制弹窗的输出,并将所述弹窗任务从所述弹窗任务管理器中删除;所述显示函数中包括用于对所述弹窗进行显示的回调函数。2.根据权利要求1所述的方法,其特征在于,所述弹窗任务中包括弹窗的显示函数和弹窗的优先级,所述弹窗任务管理器按照弹窗的优先级从高到低的顺序对弹窗所在的弹窗任务进行排序。3.根据权利要求1所述的方法,其特征在于,获取排在首位的弹窗任务之后,还包括:判断是否允许在当前运行环境输出所述弹窗任务对应的弹窗:若是,则将所述弹窗任务中的显示函数的处置权交由所述弹窗的输出页面,并将所述弹窗任务从所述弹窗任务管理器中删除;若否,直接将所述弹窗任务从所述弹窗任务管理器中删除。4.根据权利要求1所述的方法,其特征在于,还包括:在所述弹窗任务中获取弹窗的输出页面的信息;根据所述信息,将所述弹窗任务的显示函数的处置权交由所述弹窗的输出页面。5.根据权利要求1所述的方法,其特征在于:通过事件总线和/或广播将所述弹窗任务的显示函数的处置权交由弹窗的输出页面。6.根据权利要求1所述的方法,其特征在于,将所述弹窗任务的显示函数的处置权交由弹窗的输出页面后,还包括:根据所述输出页面的运行环境判断所述弹窗是否允许被输出:若是,则由所述弹窗任务中的显示函数调用回调函数输出所述弹窗;若否,不输出所述弹窗。7.根据权利要求6所述的方法,其特征在于,若所述弹窗被关闭,则向弹窗任务管理器发送用于表示所述弹窗被关闭的通知消息。8.根据权利要求1所述的方法,其特征在于:由弹窗类实现所述回调函数,所述弹窗类包括原生的弹窗类、构造的视图类和/或构造的窗口类。9....

【专利技术属性】
技术研发人员:钟壮驰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1