卡片模板的生成方法、内容展示卡片的显示方法及终端

文档序号:681916 发布日期:2021-04-30 浏览:2次 >En<

阅读说明:本技术 卡片模板的生成方法、内容展示卡片的显示方法及终端 (Card template generation method, content display card display method and terminal ) 是由 李大伟 于 2021-01-06 设计创作,主要内容包括:本申请实施例公开了一种卡片模板的生成方法、内容展示卡片的显示方法及终端,属于计算机技术领域。该方法包括:基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件;按照模板生成指令中包含的数据转化关系,设置卡片组件对应的卡片内容;按照模板生成指令组建设置完成的卡片组件,生成内容展示卡片的卡片模板。响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件;将接收到的待展示内容转换为卡片组件对应的卡片内容;按照卡片模板所指示的卡片格式组建卡片组件,生成并显示内容展示卡片。提高了应用程序的开发效率,降低了开发成本,并且实现了卡片显示数据和业务数据的解耦,提高了卡片组件的利用率。(The embodiment of the application discloses a card template generation method, a content display card display method and a terminal, and belongs to the technical field of computers. The method comprises the following steps: loading a card assembly from a card assembly library based on the assembly style indicated by the template generation instruction; setting card contents corresponding to the card components according to the data conversion relation contained in the template generation instruction; and establishing the set card assembly according to the template generating instruction to generate a card template of the content display card. Responding to a card display instruction, and creating a card assembly according to a card template in the current application scene; converting the received contents to be displayed into card contents corresponding to the card components; and (4) constructing a card assembly according to the card format indicated by the card template, and generating and displaying the content display card. The development efficiency of the application program is improved, the development cost is reduced, decoupling of card display data and business data is realized, and the utilization rate of the card assembly is improved.)

卡片模板的生成方法、内容展示卡片的显示方法及终端

技术领域

本申请实施例涉及计算机技术领域,特别涉及一种卡片模板的生成方法、内容展示卡片的显示方法及终端。

背景技术

当前大部分具有信息推送功能的应用程序,例如社交类、问答类、视频类以及通讯类应用程序中,信息以信息流(Feed流)的形式在界面进行展示,Feed流由消息卡片组成,通常一个帖子或一条消息对应一个卡片,卡片中包含消息内容、发布者信息以及操作控件等,供用户浏览并对消息内容进行点赞、转发、评论等操作。

相关技术中,同一应用程序内通常会存在不同的业务场景,例如个人主页、联系人动态页以及应用程序的内容推荐页等,这些业务场景对应的卡片之间存在差异,例如相册页面中各个卡片内仅包含图片和视频,而联系人动态页的卡片中包含消息内容、联系人信息和操作控件等,开发者在应用程序开发过程中会分别针对不同的业务场景设计并生成单独的卡片,从而导致应用程序开发成本高,卡片的应用场景较为单一且利用率低的问题。

发明内容

本申请实施例提供了一种卡片模板的生成方法、内容展示卡片的显示方法及终端。所述技术方案如下:

一方面,本申请提供了一种卡片模板的生成方法,所述方法包括:

基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件,所述卡片组件用于组成内容展示卡片,不同的所述卡片组件用于展示不同用途的卡片内容;

按照所述模板生成指令中包含的数据转化关系,设置所述卡片组件对应的卡片内容,所述数据转化关系为业务数据与卡片显示数据之间的转化关系,所述业务数据为所述卡片内容对应的数据,所述卡片显示数据为显示所述卡片组件所需的数据;

按照所述模板生成指令组建设置完成的所述卡片组件,生成所述内容展示卡片的卡片模板。

另一方面,本申请提供了一种内容展示卡片的显示方法,所述方法包括:

响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件,内容展示卡片由至少一个所述卡片组件组成,不同的所述卡片组件用于展示不同用途的卡片内容;

将接收到的待展示内容转换为所述卡片组件对应的所述卡片内容;

按照所述卡片模板所指示的卡片格式组建所述卡片组件,生成并显示所述内容展示卡片。

另一方面,本申请实施例提供了一种卡片模板的生成装置,所述方法包括:

加载模块,用于基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件,所述卡片组件用于组成内容展示卡片,不同的所述卡片组件用于展示不同用途的卡片内容;

第一设置模块,用于按照所述模板生成指令中包含的数据转化关系,设置所述卡片组件对应的卡片内容,所述数据转化关系为业务数据与卡片显示数据之间的转化关系,所述业务数据为所述卡片内容对应的数据,所述卡片显示数据为显示所述卡片组件所需的数据;

第一生成模块,用于按照所述模板生成指令组建设置完成的所述卡片组件,生成所述内容展示卡片的卡片模板。

另一方面,本申请实施例提供了一种内容展示卡片的显示装置,所述装置包括:

第二生成模块,用于响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件,内容展示卡片由至少一个所述卡片组件组成,不同的所述卡片组件用于展示不同用途的卡片内容;

转化模块,用于将接收到的待展示内容转换为所述卡片组件对应的所述卡片内容;

显示模块,用于按照所述卡片模板所指示的卡片格式组建所述卡片组件,生成并显示所述内容展示卡片。

另一方面,本申请实施例公开了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的卡片模板的生成方法,或,内容展示卡片的显示方法。

另一方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的卡片模板的生成方法,或,内容展示卡片的显示方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。终端的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该终端执行上述方面的各种可选实现方式中提供的卡片模板的生成方法,或,内容展示卡片的显示方法。

本申请实施例提供的技术方案的有益效果至少包括:

本申请实施例中,对内容展示卡片的卡片进行元素化设计,使内容展示卡片由卡片组件组成,在生成卡片模板时从卡片组件库中加载所需要的卡片组件,并按照各个卡片组件的卡片显示数据设置对应的卡片内容,对于包含不同应用场景的应用程序,无需针对每个应用场景单独开发设计内容展示卡片,提高了应用程序的开发效率,降低了开发成本,并且将卡片显示数据和业务数据分离,在实现数据与内容展示卡片解耦的同时实现了卡片显示数据和业务数据的解耦,提高了卡片组件的利用率。

在应用阶段,基于当前应用场景对应的卡片模板创建各个卡片组件并显示相应的卡片内容,从而生成并显示所述内容展示卡片,当不同应用场景对应的卡片模板中存在相同的卡片组件时,可以减少加载卡片所需的存储空间,提高卡片显示效率。

附图说明

图1是本申请一个示例性实施例提供的两种应用场景下内容展示卡片的示意图;

图2是本申请一个示例性实施例提供的卡片模板的生成方法的流程图;

图3是本申请一个示例性实施例提供的卡片组件的示意图;

图4是本申请另一个示例性实施例提供的卡片模板的生成方法的流程图;

图5是本申请另一个示例性实施例提供的卡片模板的生成方法的流程图;

图6是本申请一个示例性实施例提供的卡片组件对应程序代码中类的关系示意图;

图7是本申请一个示例性实施例提供的内容展示卡片的显示方法的流程图;

图8是本申请另一个示例性实施例提供的内容展示卡片的显示方法的流程图;

图9是本申请一个示例性实施例提供的卡片模板的生成装置的结构框图;

图10是本申请一个示例性实施例提供的内容展示卡片的显示装置的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

目前大部分应用程序中的信息以信息流Feed流的形式在界面进行展示,Feed流由消息卡片组成,卡片中包含消息内容、发布者信息以及操作控件等,供用户浏览并对消息内容进行点赞、转发、评论等操作。相关技术中,同一应用程序内通常会存在不同的业务场景,例如个人主页、联系人动态页以及应用程序的内容推荐页等,如图1所示,对于相同的视频内容,当内容发送方属于用户的联系人时,终端在联系人页面以左侧的内容展示卡片101展示该视频内容,同时,终端还可以在内容推荐页中以右侧的内容展示卡片102展示该视频内容,内容展示卡片101中除了展示该视频内容、相关文字内容,还展示有内容发送方的用户信息,以及对应的交互控件等。而内容展示卡片102中仅展示了视频内容以及相关联的文字内容、观看人数等信息。开发者在应用程序开发过程中会分别针对不同的业务场景设计并生成单独的卡片,从而导致应用程序开发成本高,卡片的应用场景较为单一且利用率低的问题。

为了解决上述技术问题,本申请实施例提供了一种卡片模板的生成方法和内容展示卡片的显示方法,其中内容展示卡片由卡片组件组成,业务方可以根据实际需求选择需要的卡片组件,生成卡片模板,无需针对每个业务场景单独设计并开发完整的内容展示卡片,能够提高应用程序的开发效率,降低开发成本。

图2示出了本申请一个示例性实施例提供的卡片模板的生成方法的流程图。本实施例以该方法用于具有应用程序开发功能的终端为例进行说明,该方法包括如下步骤:

步骤201,基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件,卡片组件用于组成内容展示卡片,不同的卡片组件用于展示不同用途的卡片内容。

其中,卡片组件库中包含有预先设计开发的卡片组件。在一种可能的实施方式中,开发人员基于各种应用场景下的内容展示卡片的特点,设计并开发用于展示不同用途的卡片内容的卡片组件,使卡片组件可以组合得到内容展示卡片。该卡片组件库可以提供给业务方,即应用程序开发人员,用于开发以卡片形式的Feed流进行内容展示的应用程序,当应用程序内包含不同的应用场景,且不同应用场景下内容展示卡片的样式不同时,开发人员可以基于实际需求从卡片组件库中选择合适的卡片组件,而无需针对每个应用场景单独设计一套完整的内容展示卡片。

可选的,卡片组件库中的各个卡片组件单独存放,或按照卡片组件的类型分类存放,或者按照预设的内容展示卡片成套存放等。

例如,如图3所示,卡片组件库中包含五种卡片组件,其中头部区域组件301用于展示内容发送方的相关信息(如头像、昵称等),文字区域组件302用于展示帖子的文字内容,即内容发送方所输入的文字内容,视频区域组件303用于展示内容发送方所发送的视频内容,附加信息区域组件304用于展示图中所示帖子的主题,互动区域组件305用于展示帖子所附带的用户界面(User Interface,UI)控件,例如点赞控件、评论控件、转发控件等。当终端接收到生成由上述五种卡片组件组成的卡片模板的模板生成指令时,终端从卡片组件库中加载上述五种卡片组件。

示意性的,终端运行用于开发应用程序的计算机代码文件,并在运行过程中,获取模板生成指令。

步骤202,按照模板生成指令中包含的数据转化关系,设置卡片组件对应的卡片内容,数据转化关系为业务数据与卡片显示数据之间的转化关系,业务数据为卡片内容对应的数据,卡片显示数据为显示卡片组件所需的数据。

由于卡片组件库中的卡片组件是能够反复利用的模板,且能够应用于不同应用场景以及应用程序的开发,因此开发人员需要对卡片组件的卡片显示数据以及应用程序对应的业务数据进行解耦,从而使终端在生成卡片模板时,只需基于模板生成指令指示的数据转化关系,将应用场景对应的业务数据转化为卡片显示数据,提高卡片组件的利用率。

例如,终端创建了用于展示帖子内容的卡片组件后,从模板生成指令中确定出该卡片组件在目标应用场景下用于展示内容发送方所上传的视频,从而将内容发送方所上传的视频确定为该卡片组件对应的卡片内容。

步骤203,按照模板生成指令组建设置完成的卡片组件,生成内容展示卡片的卡片模板。

可选的,针对某一应用场景中卡片模板的开发,终端可以基于模板生成指令所指示的卡片格式,依次生成并添加卡片组件,当完成对最后一个卡片组件的创建和数据转化时,终端即生成了该应用场景下内容展示卡片的卡片模板;或者,终端可同时并行创建模板生成指令所指示的多个卡片组件,在卡片组件全部创建完成后,基于模板生成指令所指示的组件尺寸、排列顺序等信息,组建设置完成的卡片组件,生成内容展示卡片的卡片模板,本申请实施例对此不作限定。

示意性的,终端按照头部区域组件301、文字区域组件302、视频区域组件303、附加信息区域组件304和互动区域组件305由上到下的顺序进行排序,并确定各个组件的尺寸,从而生成图3所示内容展示卡片的卡片模板。

综上所述,本申请实施例中,对内容展示卡片的卡片进行元素化设计,使内容展示卡片由卡片组件组成,在生成卡片模板时从卡片组件库中加载所需要的卡片组件,并按照各个卡片组件的卡片显示数据设置对应的卡片内容,对于包含不同应用场景的应用程序,无需针对每个应用场景单独开发设计内容展示卡片,提高了应用程序的开发效率,降低了开发成本,并且将卡片显示数据和业务数据分离,在实现数据与内容展示卡片解耦的同时实现了卡片显示数据和业务数据的解耦,提高了卡片组件的利用率。

图4示出了本申请另一个示例性实施例提供的卡片模板的生成方法的流程图。本实施例以该方法用于具有应用程序开发功能的终端为例进行说明,该方法包括如下步骤:

步骤401,基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件,卡片组件用于组成内容展示卡片,不同的卡片组件用于展示不同用途的卡片内容。

步骤401的具体实施方式可以参考上述实施例中的步骤201,本申请实施例在此不再赘述。

步骤402,基于模板生成指令中包含的数据转化方法,通过数据转化接口,将卡片组件对应的业务数据转化为组件显示数据。

由于卡片组件库中的卡片组件用于多种应用场景下的卡片设计和开发,因此其并未设置业务数据,业务方在开发内容展示卡片时,可以根据实际需求选择卡片组件,并为其设置具体的业务数据,在一种可能的实施方式中,终端通过数据转化接口,将业务数据转化为组件显示数据。

示意性的,程序代码中卡片组件属于卡片显示类(CardView),其中包含头部显示类(HeaderView)、底部显示类(BottomView)等,CardView以及卡片组件中需要显示的各个UI元素,均属于共用显示基类(BaseCommonView)。Base CommonView中包含有用于指示业务数据的参数,即原始数据(originData),终端将originData转化为组件显示数据,其中,组件显示数据在程序代码中属于共用显示数据基类(BaseCommonViewData)。

在一种可能的实施方式中,数据转化接口(CardViewDataConvertProcessor)中包含数据转化函数(Convert),开发人员预先根据需求,在数据转化函数中写入将业务数据转化为组件显示数据的转化逻辑,终端在执行模板生成指令时,依据该转化逻辑将业务数据转化为组件显示数据,步骤402包括如下步骤:

步骤402a,通过数据转化接口中的数据转化函数,获取将业务数据转化为组件显示数据的转化逻辑。

在一种可能的实施方式中,Convert中包含有业务数据到卡片组件所需的数据类的转化逻辑,各个卡片组件都对应有Convert。例如,头部组件的Convert中规定了将包含内容发送方的头像和昵称的业务数据转化为组件显示数据,底部组件的Convert中规定了将包含点赞、转发、评论的UI控件业务数据转化为组件显示数据。

步骤402b,利用数据转化方法,按照转化逻辑将卡片组件对应的业务数据转化为组件显示数据。

当终端确定了转化逻辑后,利用卡片组件对应的数据转化方法(registerConvertProcessor)完成数据转化,即按照上述转化逻辑,将卡片组件对应的业务数据转化为组件显示数据。

步骤403,基于模板生成指令,为卡片组件设置更新标记(updateFlag),更新标记用于指示卡片组件中卡片内容的更新方式。

在一种可能的实施方式中,终端基于模板生成指令为卡片组件设置updateFlag,使后续应用阶段中,用户终端可以根据updateFlag确定各个组件是否更新以及更新方式等。

示意性的,终端利用卡片组件对应的数据更新及转化方法(updateDataWithConvert),为卡片组件设置updateFlag,以实现UI内容的更新。

步骤404,基于模板生成指令,为卡片组件设置预设埋点,预设埋点用于指示触发操作对应的触发事件。

由于在实际显示内容展示卡片时,卡片组件中的卡片内容或控件等属于可触发的UI元素,用户可以通过对卡片组件或卡片组件中的控件的触发操作,触发相应的事件,例如,当终端接收到对评论控件的触发操作时,显示内容展示卡片的评论区域,当终端接收到对视频内容组件的触发操作时,播放内容发送方所上传的视频等。在一种可能的实施方式中,开发人员根据实际需求为卡片组件设置埋点,终端在生成卡片模板的过程中,基于模板生成指令,为卡片组件设置预设埋点,以实现用户的触发操作。

示意性的,终端通过卡片组件回调接口(CardViewCallback),为卡片组件设置预设埋点。

值得一提的是,上述步骤403与步骤404为并列关系,并且模板生成指令中,各个卡片组件并不一定均设置有更新标记或预设埋点,开发人员可以根据实际需求进行选择。

步骤405,按照模板生成指令组建设置完成的卡片组件,生成内容展示卡片的卡片模板。

步骤405的具体实施方式可以参考上述实施例中的步骤203,本申请实施例在此不再赘述。

本申请实施例中,通过数据转化接口将业务数据转化为组件显示数据,相比于相关技术中直接将业务数据绑定至卡片组件的方式,实现了业务数据与组件显示数据的分离,使卡片组件能够提供给不同的应用场景;分别为各个卡片组件设置更新标记,便于应用阶段的终端基于更新标记进行更新,而无需更新完整的内容展示卡片,能够提高卡片更新效率。

上述各个实施例示出了基于模板生成指令,利用卡片组价库生成卡片模板的过程,在一种可能的实施方式中,终端还可以创建新的卡片组件,并添加至卡片组件库中,即业务方可以根据需求自行设计卡片组件,并用于内容展示卡片的开发。图5示出了本申请另一个示例性实施例提供的卡片模板的生成方法的流程图,本实施例以该方法用于具有应用程序开发功能的终端为例进行说明,该方法包括如下步骤:

步骤501,响应于卡片组件生成指令,基于卡片组件库中卡片组件的编码格式,生成自定义卡片组件。

在一种可能的实施方式中,卡片组件库中的卡片组件可能无法完全满足业务方的需求,因此业务方可以在卡片组件库中所包含的卡片组件基础上,自行设计开发卡片组件,并按照相同的编码格式进行编码。终端执行卡片组件生成指令时,按照该编码格式创建新的卡片组件,即自定义卡片组件。

步骤502,为自定义卡片组件设置自定义数据类和自定义数据转化类,自定义数据类和自定义数据转化类的基类,与卡片组件库中卡片组件对应的基类相同。

在一种可能的实施方式中,终端基于卡片组件库中卡片组件对应的基类,执行卡片组件生成指令,为自定义卡片组件设置自定义数据类和自定义数据转化类。

示意性的,图6示出了一种卡片组件库中原有卡片组件对应代码中各个类的关系图,其中包含三种基类,即BaseCommonView、BaseCommonViewData以及数据转化基类(IViewDataConvertProcessor),卡片组件库中的卡片组件,其对应有继承于BaseCommonViewData的数据类(CardData)、继承于BaseCommonView的组件类(CardView)以及回调函数(Callback),以及继承于IViewDataConvertProcessor的数据转化接口Process01、Process02、Process03,Process01、Process02、Process03用于将对应的业务数据(BusinessData),即BusinessData01、BusinessData02、BusinessData03转化为CardData。终端执行卡片组件生成指令时,在上述逻辑下,为自定义卡片组件的自定义组件类(xxxView)设置自定义数据类(XXXData)以及自定义数据转化类(xxxViewDataConvertProcessor),其中,xxxView继承于BaseCommonView,XXXData继承于BaseCommonViewData,xxxViewDataConvertProcessor继承于IViewDataConvertProcessor。

步骤503,将自定义卡片组件添加至卡片组件库。

在一种可能的实施方式中,终端将自定义卡片组件添加至卡片组件库,以便后续生成卡片模板时,通过卡片组件库加载自定义卡片组件。当模板生成指令所指示的卡片模板中包含自定义模板时,终端从卡片组件库中加载自定义卡片组件以及其它的卡片组件,进而生成卡片模板。

本申请实施例中,终端不仅能够利用卡片组件库中已有的卡片组件生成卡片模板,还可以在卡片组件库的基础上自行添加自定义卡片组件,从而满足不同的应用场景需求,便于业务方对卡片模板进行个性化定制,提高了卡片组件的利用率。

上述各个实施例示出了应用开发阶段中,终端生成内容展示卡片的卡片模板的过程,在应用阶段,终端基于上述卡片模板生成以及更新内容展示卡片。图7示出了本申请一个示例性实施例提供的内容展示卡片的显示方法的流程图,本实施例以该方法用于具有显示内容展示卡片功能的终端为例进行说明,该方法包括如下步骤:

步骤701,响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件,内容展示卡片由至少一个卡片组件组成,不同的卡片组件用于展示不同用途的卡片内容。

在一种可能的实施方式中,在应用阶段,终端接收到卡片显示指令后显示内容展示卡片,该内容展示卡片中显示有内容发送方所发送的内容以及相关信息等,内容发送方可以是应用程序的用户,也可以是应用程序的后台服务器。例如,当终端接收到对应用程序的开启指令,在终端显示以内容展示卡片的形式展示内容的默认页面前,终端确定接收到卡片显示指令;当终端接收到对内容展示卡片的形式展示内容页面的刷新操作时,确定接收到卡片显示指令。应用程序中可能包含多种应用场景,不同应用场景中内容展示卡片的形式不同,例如内容推荐页中的内容展示卡片不包含内容发送方的用户信息(头像、昵称等),而关注页或内容详情页中的内容展示卡片包含发送方的用户信息。

步骤702,将接收到的待展示内容转换为卡片组件对应的卡片内容。

终端创建卡片组件后,将各个卡片组件需要展示的内容绑定至对应的卡片组件,例如,将内容发送方的用户信息绑定至头部区域组件,将内容发送方所发送的内容绑定至内容展示区域组件,将转发、点赞、评论等UI控件绑定至互动区域组件等。

步骤703,按照卡片模板所指示的卡片格式组建卡片组件,生成并显示内容展示卡片。

终端将待展示内容转化为卡片组件对应的卡片内容后,按照卡片模板所指示的卡片格式(例如卡片组件的排列方式、卡片组件的显示尺寸等),生成并显示内容展示卡片。

综上所述,在应用阶段,基于当前应用场景对应的卡片模板创建各个卡片组件并显示相应的卡片内容,从而生成并显示所述内容展示卡片,当不同应用场景对应的卡片模板中存在相同的卡片组件时,可以减少加载卡片所需的存储空间,提高卡片显示效率。

图8示出了本申请另一个示例性实施例提供的内容展示卡片的显示方法的流程图,本实施例以该方法用于具有显示内容展示卡片功能的终端为例进行说明,该方法包括如下步骤:

步骤801,响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件,内容展示卡片由至少一个卡片组件组成,不同的卡片组件用于展示不同用途的卡片内容。

步骤801的具体实施方式可以参考上述实施例中的步骤701,本申请实施例在此不再赘述。

步骤802,获取目标卡片组件对应的目标业务数据。

在一种可能的实施方式中,不同卡片组件所需展示的业务数据不同,终端基于目标卡片组件的目标业务数据,从待展示内容中获取目标展示内容,或者从预设数据中获取目标展示内容。例如,对于图3中的头部区域组件301,其目标业务数据为内容发送方的头像和昵称,对于附加信息区域组件304,其目标业务数据为帖子的主题,对于互动区域组件305,其目标业务数据为其中的控件以及各个控件对应的互动人数。

步骤803,确定与目标业务数据相匹配的目标待展示内容。

目标待展示内容为针对当前待展示内容,目标卡片组件所需展示的内容,终端基于目标业务数据,从服务器所转发的内容以及相关信息中获取目标待展示内容,例如,对于图3中的头部区域组件301,终端从待展示内容中获取内容发送方的头像和昵称,对于附加信息区域组件304,终端将服务器所转发的主题“#可爱宠物”确定为目标待展示内容,而对于互动区域组件305,终端将其中的控件对应的显示数据,以及服务器所发送的当前待展示内容对应各个互动方式下的互动人数确定为目标业务数据。

步骤804,将目标待展示内容绑定至目标卡片组件。

在一种可能的实施方式中,由于UI数据与组件解耦,因此终端需要将目标待展示内容绑定至目标卡片组件,即将目标待展示内容的相关数据转化为卡片显示数据,从而在显示卡片组件时显示目标待展示内容,步骤804包括如下步骤:

步骤804a,基于卡片组件对应的数据转化方法,通过数据转化接口将目标待展示内容转化为卡片显示数据,卡片显示数据为显示卡片组件所需的数据,数据转化接口中包含数据转化函数,数据转化函数用于指示将业务数据转化为卡片显示数据的转化逻辑。

在一种可能的实施方式中,Convert中包含有业务数据到卡片组件所需的数据类的转化逻辑,各个卡片组件都对应有Convert。例如,头部组件的Convert中规定了将包含内容发送方的头像和昵称的业务数据转化为组件显示数据,底部组件的Convert中规定了将包含点赞、转发、评论的UI控件业务数据转化为组件显示数据。

终端利用registerConvertProcessor,实现Convert中包含的转化逻辑,将目标业务数据对应的目标待展示内容绑定至目标卡片组件。

步骤805,按照卡片模板所指示的卡片格式组建卡片组件,生成并显示内容展示卡片。

步骤805的具体实施方式可以参考上述实施例中的步骤703,本申请实施例在此不再赘述。

步骤806,响应于对内容展示卡片的卡片更新指令,获取各个卡片组件的更新标记。

由于内容发送方的编辑操作、其它用户的互动操作等因素,内容展示卡片中所展示内容可能发生变化,因此当接收到对内容展示卡片的卡片更新指令时,终端需要对内容展示卡片中各个卡片组件中的内容进行更新。然而通常情况下,内容展示卡片中存在无法更新或者无需更新的内容,例如,对于发送后内容不可编辑的内容展示卡片,其内容展示区域对应的卡片组件中不存在更新内容。为了减少终端更新内容展示卡片时所消耗的资源,提高更新效率,终端基于卡片组件中的更新标记进行更新。

步骤807,响应于卡片组件设置有更新标记,按照更新标记所指示的更新方式,更新卡片组件中的卡片内容。

对于设置有更新标记的卡片组件,终端按照更新标记所指示的更新方式,更新卡片组件中的卡片内容,例如对于互动区域组件,其中设置有更新标记,更新方式为更新各个控件对应的互动人数。

步骤808,响应于卡片组件未设置更新标记,保持卡片组件中的卡片内容不变。

对于未设置有更新标记的卡片组件,终端保持卡片组件中的卡片内容不变。因此,终端在更新内容展示卡片中,只需更新部分需要更新的卡片组件,从而提高更新效率,减少资源的消耗。

步骤809,响应于对卡片组件中预设埋点的触发操作,基于预设埋点确定触发事件。

当终端接收到触发操作时,基于触发操作对应的预设埋点,确定触发事件。例如,若接收到对点赞控件的触发操作,则确定触发事件为对内容展示卡片对应的内容进行点赞,若接收到对视频内容的触发操作,则确定触发事件为播放视频。

步骤810,按照预设方式响应触发事件。

终端确定触发事件后,按照预设方式进行响应。例如,当触发事件为对内容展示卡片对应的内容进行点赞时,终端按照预设方式改变点赞控件的显示方式,并显示点赞效果动画,当触发事件为对内容展示卡片对应的内容进行评论时,终端显示内容展示卡片的评论区。

本申请实施例中,终端按照当前应用场景下的卡片模板,创建卡片组件并为各个卡片组件绑定待展示内容,从而生成并显示内容展示卡片,当接收到对内容展示卡片的更新操作时,终端只需对设置有更新标记的卡片组件进行更新,而无需更新其它卡片组件,降低了卡片更新过程中的资源消耗量,提高了卡片更新效率。

图9是本申请一个示例性实施例提供的卡片模板的生成装置的结构框图,该装置包括:

加载模块901,用于基于模板生成指令所指示的组件样式,从卡片组件库中加载卡片组件,所述卡片组件用于组成内容展示卡片,不同的所述卡片组件用于展示不同用途的卡片内容;

第一设置模块902,用于按照所述模板生成指令中包含的数据转化关系,设置所述卡片组件对应的卡片内容,所述数据转化关系为业务数据与卡片显示数据之间的转化关系,所述业务数据为所述卡片内容对应的数据,所述卡片显示数据为显示所述卡片组件所需的数据;

第一生成模块903,用于按照所述模板生成指令组建设置完成的所述卡片组件,生成所述内容展示卡片的卡片模板。

可选的,所述第一设置模块902,包括:

第一转化单元,用于基于所述模板生成指令中包含的数据转化方法,通过数据转化接口,将所述卡片组件对应的所述业务数据转化为所述组件显示数据。

可选的,所述第一转化单元,还用于:

通过所述数据转化接口中的数据转化函数,获取将所述业务数据转化为所述组件显示数据的转化逻辑;

利用所述数据转化方法,按照所述转化逻辑将所述卡片组件对应的所述业务数据转化为所述组件显示数据。

可选的,所述装置还包括:

第二设置模块,用于基于所述模板生成指令,为所述卡片组件设置更新标记,所述更新标记用于指示所述卡片组件中所述卡片内容的更新方式。

可选的,所述装置还包括:

第三设置模块,用于基于所述模板生成指令,为所述卡片组件设置预设埋点,所述预设埋点用于指示触发操作对应的触发事件。

可选的,所述装置还包括:

第三生成模块,用于响应于卡片组件生成指令,基于所述卡片组件库中所述卡片组件的编码格式,生成自定义卡片组件;

第四设置模块,用于为所述自定义卡片组件设置自定义数据类和自定义数据转化类,所述自定义数据类和所述自定义数据转化类的基类,与所述卡片组件库中所述卡片组件对应的基类相同;

添加模块,用于将所述自定义卡片组件添加至所述卡片组件库。

图10是本申请一个示例性实施例提供的内容展示卡片的显示装置的结构框图,该装置包括:

第二生成模块1001,用于响应于卡片显示指令,按照当前应用场景下的卡片模板创建卡片组件,内容展示卡片由至少一个所述卡片组件组成,不同的所述卡片组件用于展示不同用途的卡片内容;

转化模块1002,用于将接收到的待展示内容转换为所述卡片组件对应的所述卡片内容;

显示模块1003,用于按照所述卡片模板所指示的卡片格式组建所述卡片组件,生成并显示所述内容展示卡片。

可选的,所述转化模块1002,包括:

获取单元,用于获取目标卡片组件对应的目标业务数据;

确定单元,用于确定与所述目标业务数据相匹配的目标待展示内容;

绑定单元,用于将所述目标待展示内容绑定至所述目标卡片组件。

可选的,所述绑定单元,还用于:

基于所述卡片组件对应的数据转化方法,通过数据转化接口将所述目标待展示内容转化为卡片显示数据,所述卡片显示数据为显示所述卡片组件所需的数据,所述数据转化接口中包含数据转化函数,所述数据转化函数用于指示将业务数据转化为所述卡片显示数据的转化逻辑。

可选的,所述装置还包括:

获取模块,用于响应于对所述内容展示卡片的卡片更新指令,获取各个所述卡片组件的更新标记;

第一更新模块,用于响应于所述卡片组件设置有所述更新标记,按照所述更新标记所指示的更新方式,更新所述卡片组件中的所述卡片内容;

第二更新模块,用于响应于所述卡片组件未设置所述更新标记,保持所述卡片组件中的所述卡片内容不变。

可选的,所述装置还包括:

确定模块,用于响应于对所述卡片组件中预设埋点的触发操作,基于所述预设埋点确定触发事件;

响应模块,用于按照预设方式响应所述触发事件。

综上所述,本申请实施例中,对内容展示卡片的卡片进行元素化设计,使内容展示卡片由卡片组件组成,在生成卡片模板时从卡片组件库中加载所需要的卡片组件,并按照各个卡片组件的卡片显示数据设置对应的卡片内容,对于包含不同应用场景的应用程序,无需针对每个应用场景单独开发设计内容展示卡片,提高了应用程序的开发效率,降低了开发成本,并且将卡片显示数据和业务数据分离,在实现数据与内容展示卡片解耦的同时实现了卡片显示数据和业务数据的解耦,提高了卡片组件的利用率。

在应用阶段,基于当前应用场景对应的卡片模板创建各个卡片组件并显示相应的卡片内容,从而生成并显示所述内容展示卡片,当不同应用场景对应的卡片模板中存在相同的卡片组件时,可以减少加载卡片所需的存储空间,提高卡片显示效率。

在示例性的实施例中,还提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如上述实施例中提供的卡片模板的生成方法,或,内容展示卡片的显示方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上各个实施例所述的卡片模板的生成方法,或,内容展示卡片的显示方法。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的卡片模板的生成方法,或,内容展示卡片的显示方法。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种信息处理方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类