一种调用方法及装置的制造方法

文档序号:10654319阅读:163来源:国知局
一种调用方法及装置的制造方法
【专利摘要】本发明实施例提供了一种调用方法及装置。其中,该方法应用于移动终端,移动终端中安装有第一应用程序,第一应用程序具有多个通信接口和多个从功能模块,通信接口的数量与从功能模块的数量相同,该方法包括如下步骤:接收用户输入的针对第一应用程序中的第一从功能模块的第一调用请求;判断第一应用程序的主进程是否正在运行;若是,为第一从功能模块分配第一从进程和第一通信接口,控制主进程通过第一通信接口调用第一从进程。可以看出,本发明实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
【专利说明】
_种调用方法及装置
技术领域
[0001 ]本发明涉及计算机软件技术领域,特别是涉及一种调用方法及装置。
【背景技术】
[0002]对于现有的应用程序而言,其通常包括一个主功能模块和多个从功能模块。当应用程序被启动后,该应用程序的主功能模块即运行在主进程中,在应用程序的运行过程中,若任一从功能模块接收到调用请求,则该从功能模块也会运行在主进程中。也就是说,应用程序中的各功能模块均同时运行在主进程中。因此,当该应用程序中的任意一个从功能模块出现问题,例如崩溃时,主功能模块就会同时崩溃,此时该应用程序将无法正常运行。可以看出,如何避免应用程序中的主功能模块容易由于从功能模块出现问题而受到影响是一个亟待解决的问题。

【发明内容】

[0003]本发明实施例的目的在于提供一种调用方法及装置,以避免应用程序中的主功能模块容易由于从功能模块出现问题而受到影响。
[0004]—方面,本发明实施例提供了一种调用方法,应用于移动终端,所述移动终端中安装有第一应用程序,所述第一应用程序具有多个通信接口和多个从功能模块,所述通信接口的数量与所述从功能模块的数量相同,所述方法包括如下步骤:
[0005]接收用户输入的针对所述第一应用程序中的第一从功能模块的第一调用请求;
[0006]判断所述第一应用程序的主进程是否正在运行;
[0007]若是,为所述第一从功能模块分配第一从进程和第一通信接口,控制所述主进程通过所述第一通信接口调用所述第一从进程。
[0008]进一步地,上述方法中,所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,所述方法还包括:
[0009]当所述第一从进程经调用后存在第一返回数据时,判断所述第一应用程序的主进程是否正在运行;
[0010]若是,将所述第一返回数据通过所述第一通信接口发送至所述主进程。
[0011 ] 进一步地,上述方法中,所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,所述方法还包括:
[0012]判断当前是否满足与所述第一从功能模块存在关联关系的第二从功能模块的调用条件;
[0013]若满足,判断所述第一应用程序的主进程是否正在运行;
[0014]若是,为所述第二从功能模块分配第二从进程和第二通信接口,控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程。
[0015]进一步地,上述方法中,所述控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程之后,所述方法还包括:
[0016]当所述第二从进程经调用后存在第二返回数据时,判断所述第一应用程序的主进程是否正在运行;
[0017]若是,将所述第二返回数据通过所述第二通信接口发送至所述主进程,并控制所述主进程将所述第二返回数据通过所述第一通信接口发送至所述第一从进程。
[0018]进一步地,上述方法中,所述第一应用程序为安卓应用程序,所述通信接口为安卓接口定义语言服务aidl service。
[0019]另一方面,本发明实施例还提供了一种调用装置,应用于移动终端,所述移动终端中安装有第一应用程序,所述第一应用程序具有多个通信接口和多个从功能模块,所述通信接口的数量与所述从功能模块的数量相同,所述装置包括:
[0020]第一调用请求接收模块,用于接收用户输入的针对所述第一应用程序中的第一从功能模块的第一调用请求;
[0021]第一判断模块,用于判断所述第一应用程序的主进程是否正在运行;
[0022]第一调用模块,用于在所述第一判断模块的判断结果为是的情况下,为所述第一从功能模块分配第一从进程和第一通信接口,控制所述主进程通过所述第一通信接口调用所述第一从进程。
[0023]进一步地,所述装置还包括:
[0024]第二判断模块,用于在所述第一从进程经调用后存在第一返回数据时,判断所述第一应用程序的主进程是否正在运行;
[0025]第一返回数据发送模块,用于在所述第二判断模块的判断结果为是的情况下,将所述第一返回数据通过所述第一通信接口发送至所述主进程。
[0026]进一步地,所述装置还包括:
[0027]调用条件判断模块,用于在所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,判断当前是否满足与所述第一从功能模块存在关联关系的第二从功能模块的调用条件;
[0028]第三判断模块,用于在所述调用条件判断模块的判断结果为是的情况下,判断所述第一应用程序的主进程是否正在运行;
[0029]第二调用模块,用于在所述第三判断模块的判断结果为是的情况下,为所述第二从功能模块分配第二从进程和第二通信接口,控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程。
[0030]进一步地,所述装置还包括:
[0031]第四判断模块,用于在所述第二从进程经调用后存在第二返回数据时,判断所述第一应用程序的主进程是否正在运行;
[0032]第二返回数据发送模块,用于在所述第四判断模块的判断结果为是的情况下,将所述第二返回数据通过所述第二通信接口发送至所述主进程,并控制所述主进程将所述第二返回数据通过所述第一通信接口发送至所述第一从进程。
[0033]进一步地,上述装置中,所述第一应用程序为安卓应用程序,所述通信接口为安卓接口定义语言服务aidl service。
[0034]本发明实施例提供了一种调用方法及装置。其中,该方法应用于移动终端,移动终端中安装有第一应用程序,第一应用程序具有多个通信接口和多个从功能模块,通信接口的数量与从功能模块的数量相同,该方法包括如下步骤:接收用户输入的针对第一应用程序中的第一从功能模块的第一调用请求;判断第一应用程序的主进程是否正在运行;若是,为第一从功能模块分配第一从进程和第一通信接口,控制主进程通过第一通信接口调用第一从进程。对于第一应用程序而言,当为第一从功能模块分配的第一从进程被调用之后,第一从功能模块就会运行在移动终端专门为其分配的第一从进程中,而主功能模块则始终运行在主进程中,也就是说,主功能模块与第一从功能模块分别运行在不同的进程中,这样,当第一从功能模块出现问题,例如崩溃时,主功能模块仍然可以继续运行,相应地,第一应用程序仍然可以实现除了第一从功能模块所对应的功能之外的其余功能。此外,由于移动终端专门为第一从功能模块分配了第一通信接口,故第一从功能模块与主功能模块之间可以通过第一通信接口进行通信,以保证第一应用程序的正常运行。可以看出,本发明实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1为本发明实施例提供的调用方法的流程图;
[0037]图2为本发明实施例提供的调用方法的又一流程图;
[0038]图3为本发明实施例提供的调用装置的结构框图。
【具体实施方式】
[0039]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]为了解决现有技术存在的问题,本发明实施例提供了一种调用方法和装置。
[0041]下面首先对本发明实施例所提供的一种调用方法进行介绍。
[0042]需要说明的是,本发明实施例所提供的一种调用方法可以应用于移动终端中。在实际应用中,该移动终端可以为智能手机、平板电脑、笔记本电脑等,这都是合理的。
[0043]另外,该移动终端中可以安装有第一应用程序,第一应用程序可以具有多个通信接口和多个从功能模块,通信接口的数量与从功能模块的数量可以相同。需要说明的是,在本发明实施例中,与现有技术相同的是,当第一应用程序被启动后,第一应用程序中的主功能模块即运行在主进程中,不同之处在于,当任一从功能模块接收到调用请求时,该从功能模块将不再运行于主进程中。
[0044]可以理解的是,各个从功能模块可以分别对应着不同的功能,例如,第一应用程序中的多个从功能模块具体可以包括:视频播放模块、电影票模块等,用户可以通过视频播放模块观看自己感兴趣的视频,或者通过电影片模块购买电影票。
[0045]参见图1,图中示出了本发明所提供的一种调用方法的流程图。如图1所示,该方法可以包括:
[0046]步骤SlOl,接收用户输入的针对第一应用程序中的第一从功能模块的第一调用请求。
[0047]其中,第一从功能模块可以为第一应用程序中的任意一个从功能模块。当移动终端接收到用户输入的针对第一应用程序中的第一从功能模块的第一调用请求时,即说明用户想要通过调用第一从功能模块,以实现与第一从功能模块相对应的第一功能。
[0048]步骤S102,判断第一应用程序的主进程是否正在运行,若是,执行步骤S103。
[0049]本领域技术人员应当理解,当一个应用程序被启动之后,该应用程序的主进程就会持续运行,此时该应用程序中的任一从功能模块才有可能实现相应的功能;若该应用程序中的主进程当前并未运行,则说明该应用程序在运行过程中出现了一些故障,此时该应用程序中的任一从功能模块均无法正常运行,相应地,各从功能模块也无法实现相应的功能。因此,只有当第一应用程序的主进程正在运行,此时移动终端才会执行后续的步骤S103,以使第一从功能模块实现相应的功能;若第一应用程序的主进程当前未运行,此时移动终端就不会执行后续的步骤S103,相应的,第一从功能模块将无法实现相应的功能。
[0050]步骤S103,为第一从功能模块分配第一从进程和第一通信接口,控制主进程通过第一通信接口调用第一从进程。
[0051]对于第一应用程序而言,当为第一从功能模块分配的第一从进程被调用之后,第一从功能模块就会运行在移动终端专门为其分配的第一从进程中,而主功能模块则始终运行在主进程中,也就是说,主功能模块与第一从功能模块分别运行在不同的进程中,这样,当第一从功能模块出现问题,例如崩溃时,主功能模块仍然可以继续运行,相应地,第一应用程序仍然可以实现除了第一从功能模块对应的功能之外的其余功能。此外,由于移动终端专门为第一从功能模块分配了第一通信接口,故第一从功能模块与主功能模块之间可以通过第一通信接口进行通信,以更好地保证第一应用程序的正常运行。
[0052]需要说明的是,具体实施时,第一应用程序可以为安卓应用程序,相应地,通信接口即为安卓接口定义语言服务aidl service。当然,第一应用程序也可以为其他类型的应用程序,相应地,通信接口即为与该其他类型的应用程序相适配的接口,第一应用程序的具体类型可以根据实际情况来确定,本实施例对此不做任何限定。
[0053]可以看出,本实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
[0054]参见图2,图中示出了本发明所提供的一种调用方法的又一流程图。如图2所示,该方法可以包括:
[0055]步骤S201,接收用户输入的针对第一应用程序中的第一从功能模块的第一调用请求。
[0056]步骤S102,判断第一应用程序的主进程是否正在运行,若是,执行步骤S203。
[0057]步骤S203,为第一从功能模块分配第一从进程和第一通信接口,控制主进程通过第一通信接口调用第一从进程。
[0058]其中,步骤S201至步骤S203的具体实施过程参照对步骤SlOl至步骤S103的具体实施过程即可,在此不再赘述。
[0059]步骤S204,当第一从进程经调用存在第一返回数据时,判断第一应用程序的主进程是否正在运行,若是,执行步骤S205。
[0060]对于一部分从功能模块而言,当主进程通过对应的通信接口将为该从功能模块分配的从进程调用起来之后,该从功能模块就会自己单独去执行相应的功能,其与主功能模块之间不需要进行其他的信息的交互;而对于另一部分从功能模块,例如第一从功能模块而言,当主进程通过对应的通信接口将为该从功能模块分配的从进程调用起来之后,该从功能模块不仅会去执行相应的功能,其还会生成一些回传数据,这些数据是用来使该从功能模块与主功能模块进行交互的数据,因此,当移动终端判断第一应用程序正在运行时,移动终端就会执行后续的步骤S205。
[0061 ]步骤S205,将第一返回数据通过第一通信接口发送至主进程。
[0062]可以看出,通过将第一从进程经调用后得到的第一返回数据发送至主进程可以较好地实现第一从功能模块与主功能模块之间的信息交互。
[0063]更进一步的,控制主进程通过第一通信接口调用第一从进程之后,该方法还可以包括:
[0064]判断当前是否满足与第一从功能模块存在关联关系的第二从功能模块的调用条件。
[0065]其中,第一从功能模块与第二从功能模块之间具有关联关系是指:在第一从功能模块运行于第一从进程的过程中,第一从功能模块需要利用第二从功能模块所对应的功能。需要说明的是,第二从功能模块的调用条件为第一应用程序的开发商预先定义好的,故第一从功能模块在运行于第一从进程中的任意时刻去调用第二从功能模块都是可能的。
[0066]若满足,判断第一应用程序的主进程是否正在运行。
[0067]若第二从功能模块的调用条件满足,且第一应用程序的主进程正在运行,则说明此时需要去调用第二从功能模块才能让第一从进程更好地运行,故移动终端可以执行后续的调用第二从功能模块的操作。
[0068]若是,为第二从功能模块分配第二从进程和第二通信接口,控制第一从进程通过第一通信接口调用主进程,并控制主进程通过第二通信接口调用第二从进程。
[0069]本实施例中,当为第二从功能模块分配的第二从进程被调用之后,第二从功能模块就会运行在移动终端专门为其分配的第二从进程中,而第一从功能模块则运行在移动终端专门为其分配的第一从进程中,也就是说,第一从功能模块和第二从功能模块也分别运行在不同的进程中,故当第一从功能模块和第二从功能模块中的任一个出现问题时,另一个仍然可以继续正常地运行,以实现相应的功能。此外,由于移动终端专门为第二从功能模块分配了第二通信接口,故第一从进程可以通过第一通信接口调用主进程,并使主进程通过第二通信接口调用第二从进程,这样即实现了第一从进程对第二从进程的调用。
[0070]可以看出,本实施例不仅较好地保证了各从功能模块对应的从进程之间的相互调用,同时也较好地解决了各个从功能模块之间相互影响的问题。
[0071]更进一步的,控制第一从进程通过第一通信接口调用主进程,并控制主进程通过第二通信接口调用第二从进程之后,该方法还可以包括:
[0072]当第二从进程经调用后存在第二返回数据时,判断第一应用程序的主进程是否正在运行;
[0073]若是,将第二返回数据通过第二通信接口发送至主进程,并控制主进程将第二返回数据通过第一通信接口发送至第一从进程。
[0074]需要说明的是,在第一从进程通过主进程将第二从进程调起之后,第二从功能模块会单独去执行相应的功能,此时其与第一从功能模块之间不需要进行信息的交互;或者,第二从功能模块不仅会去执行相应的功能,其还会生成一些回传数据,这些数据是用来使第一从功能模块与第二从功能模块进行交互的数据,因此,当移动终端判断第一应用程序的主进程正在运行时,移动终端就会执行后续的将第二返回数据发送至第一从进程的步骤。
[0075]可以看出,通过将第二从进程经调用后得到的第二返回数据经主进程发送至第一从进程,可以较好地实现第一从功能模块与第二从功能模块之间的信息交互。
[0076]综上,本发明实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
[0077]相应于上述方法实施例,本发明实施例还提供了一种调用装置。下面对本发明所提供的一种调用装置进行说明。
[0078]需要说明的是,本发明实施例所提供的一种调用装置可以应用于移动终端中,该移动终端中安装有第一应用程序,第一应用程序具有多个通信接口和多个从功能模块,通信接口的数量与从功能模块的数量相同,
[0079]参见图3,图中示出了本发明所提供的一种调用装置的结构框图。如图3所示,该装置包括:
[0080]第一调用请求接收模块31,用于接收用户输入的针对第一应用程序中的第一从功能模块的第一调用请求;
[0081]第一判断模块32,用于判断第一应用程序的主进程是否正在运行;
[0082]第一调用模块33,用于在第一判断模块的判断结果为是的情况下,为第一从功能模块分配第一从进程和第一通信接口,控制主进程通过第一通信接口调用第一从进程。
[0083]可以看出,本实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
[0084]更进一步的,上述装置还包括:
[0085]第二判断模块,用于在第一从进程经调用后存在第一返回数据时,判断第一应用程序的主进程是否正在运行;
[0086]第一返回数据发送模块,用于在第二判断模块的判断结果为是的情况下,将第一返回数据通过第一通信接口发送至主进程。
[0087]更进一步的,上述装置还包括:
[0088]调用条件判断模块,用于在控制主进程通过第一通信接口调用第一从进程之后,判断当前是否满足与第一从功能模块存在关联关系的第二从功能模块的调用条件;
[0089]第三判断模块,用于在调用条件判断模块的判断结果为是的情况下,判断第一应用程序的主进程是否正在运行;
[0090]第二调用模块,用于在第三判断模块的判断结果为是的情况下,为第二从功能模块分配第二从进程和第二通信接口,控制第一从进程通过第一通信接口调用主进程,并控制主进程通过第二通信接口调用第二从进程。
[0091 ]更进一步的,上述装置还包括:
[0092]第四判断模块,用于在第二从进程经调用后存在第二返回数据时,判断第一应用程序的主进程是否正在运行;
[0093]第二返回数据发送模块,用于在第四判断模块的判断结果为是的情况下,将第二返回数据通过第二通信接口发送至主进程,并控制主进程将第二返回数据通过第一通信接口发送至第一从进程。
[0094]更加一步的,上述装置中,第一应用程序为安卓应用程序,通信接口为安卓接口定义语言服务aidl service。
[0095]可以看出,本发明实施例较好地解决了应用程序中的主功能模块容易由于从功能模块出现问题而受到影响的问题。
[0096]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0097]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0098]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种调用方法,其特征在于,应用于移动终端,所述移动终端中安装有第一应用程序,所述第一应用程序具有多个通信接口和多个从功能模块,所述通信接口的数量与所述从功能模块的数量相同,所述方法包括如下步骤: 接收用户输入的针对所述第一应用程序中的第一从功能模块的第一调用请求; 判断所述第一应用程序的主进程是否正在运行; 若是,为所述第一从功能模块分配第一从进程和第一通信接口,控制所述主进程通过所述第一通信接口调用所述第一从进程。2.如权利要求1所述的方法,其特征在于,所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,所述方法还包括: 当所述第一从进程经调用后存在第一返回数据时,判断所述第一应用程序的主进程是否正在运行; 若是,将所述第一返回数据通过所述第一通信接口发送至所述主进程。3.如权利要求1所述的方法,其特征在于,所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,所述方法还包括: 判断当前是否满足与所述第一从功能模块存在关联关系的第二从功能模块的调用条件; 若满足,判断所述第一应用程序的主进程是否正在运行; 若是,为所述第二从功能模块分配第二从进程和第二通信接口,控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程。4.如权利要求3所述的方法,其特征在于,所述控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程之后,所述方法还包括: 当所述第二从进程经调用后存在第二返回数据时,判断所述第一应用程序的主进程是否正在运行; 若是,将所述第二返回数据通过所述第二通信接口发送至所述主进程,并控制所述主进程将所述第二返回数据通过所述第一通信接口发送至所述第一从进程。5.如权利要求1-4中任一项所述的方法,其特征在于,所述第一应用程序为安卓应用程序,所述通信接口为安卓接口定义语言服务aidl service。6.—种调用装置,其特征在于,应用于移动终端,所述移动终端中安装有第一应用程序,所述第一应用程序具有多个通信接口和多个从功能模块,所述通信接口的数量与所述从功能模块的数量相同,所述装置包括: 第一调用请求接收模块,用于接收用户输入的针对所述第一应用程序中的第一从功能模块的第一调用请求; 第一判断模块,用于判断所述第一应用程序的主进程是否正在运行; 第一调用模块,用于在所述第一判断模块的判断结果为是的情况下,为所述第一从功能模块分配第一从进程和第一通信接口,控制所述主进程通过所述第一通信接口调用所述第一从进程。7.如权利要求6所述的装置,其特征在于,所述装置还包括: 第二判断模块,用于在所述第一从进程经调用后存在第一返回数据时,判断所述第一应用程序的主进程是否正在运行; 第一返回数据发送模块,用于在所述第二判断模块的判断结果为是的情况下,将所述第一返回数据通过所述第一通信接口发送至所述主进程。8.如权利要求6所述的装置,其特征在于,所述装置还包括: 调用条件判断模块,用于在所述控制所述主进程通过所述第一通信接口调用所述第一从进程之后,判断当前是否满足与所述第一从功能模块存在关联关系的第二从功能模块的调用条件; 第三判断模块,用于在所述调用条件判断模块的判断结果为是的情况下,判断所述第一应用程序的主进程是否正在运行; 第二调用模块,用于在所述第三判断模块的判断结果为是的情况下,为所述第二从功能模块分配第二从进程和第二通信接口,控制所述第一从进程通过所述第一通信接口调用所述主进程,并控制所述主进程通过所述第二通信接口调用所述第二从进程。9.如权利要求8所述的装置,其特征在于,所述装置还包括: 第四判断模块,用于在所述第二从进程经调用后存在第二返回数据时,判断所述第一应用程序的主进程是否正在运行; 第二返回数据发送模块,用于在所述第四判断模块的判断结果为是的情况下,将所述第二返回数据通过所述第二通信接口发送至所述主进程,并控制所述主进程将所述第二返回数据通过所述第一通信接口发送至所述第一从进程。10.如权利要求6-9中任一项所述的装置,其特征在于,所述第一应用程序为安卓应用程序,所述通信接口为安卓接口定义语言服务aidl service。
【文档编号】G06F9/48GK106020960SQ201610371870
【公开日】2016年10月12日
【申请日】2016年5月30日
【发明人】黄博, 谢鹏冲, 杨子斌
【申请人】北京奇艺世纪科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1