CN115935935A - 富文本消息生成方法、装置、计算机设备及可读存储介质 - Google Patents
富文本消息生成方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN115935935A CN115935935A CN202211552382.XA CN202211552382A CN115935935A CN 115935935 A CN115935935 A CN 115935935A CN 202211552382 A CN202211552382 A CN 202211552382A CN 115935935 A CN115935935 A CN 115935935A
- Authority
- CN
- China
- Prior art keywords
- rich text
- message
- element type
- text message
- target element
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供的富文本消息生成方法、装置、计算机设备及可读存储介质,方法包括:生成待拼接的富文本元素;创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系;在预定义的消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息;其中,所述消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。由于消息模板一开始就明确定义了各个元素类型之间的位置关系,同时也决定富文本元素的位置,所以整个过程无需关心如何计算富文本元素的插入位置以及如何进行拼接,节省了业务开发工作量。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种富文本消息生成方法、装置、计算机设备及可读存储介质。
背景技术
随着信息技术的迅速发展,信息量爆炸式增长,用户可借助各类应用可以方便地发送信息和接收信息,而且信息的展示方式也日益丰富。以文本类的信息为例,以前人们发布无格式或格式很少的文本内容,而现在可以基于用户发送的消息生成富文本(RichTextFormat,RTF)消息,富文本支持丰富的格式,对于用户而言,观感较好。
然而,传统的富文本消息生成方法需要开发者单独计算出每段富文本的插入位置,再根据插入位置做富文本拼接从而生成富文本消息,这种实现方式需要关注面对插入位置的计算全问题,增加了编码复杂度。
发明内容
本发明的目的之一在于提供一种富文本消息生成方法、装置、计算机设备及可读存储介质,用于降低生成富文本消息的代码复杂度,提高消息生成效率,本发明的实施例可以这样实现:
第一方面,本发明提供一种富文本消息生成方法,所述方法包括:生成待拼接的富文本元素;创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系;在预定义的消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息;其中,所述消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
第二方面,本发明提供一种富文本消息生成装置,包括:获取模块、创建模块和生成模块;所述获取模块,用于生成待拼接的富文本元素;所述创建模块,用于创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系;所述生成模块,用于在所述消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息,其中,所述消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
第三方面,本发明提供一种计算机设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现第一方面所述的富文本消息生成方法。
第四方面,本发明提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的富文本消息生成方法。
本发明提供的富文本消息生成方法、装置、计算机设备及可读存储介质,方法包括:生成待拼接的富文本元素之后,即可建立每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系,由于消息模板中维护有每种消息包含的各个元素类型,因此建立映射关系之后,可以在所述消息模板中所述目标元素类型所在位置处,写入所述目标元素类型对应的所述富文本元素,生成富文本消息,由于消息模板一开始就明确定义了各个元素类型之间的位置关系,同时也决定富文本元素的位置,所以整个过程无需关心如何计算富文本元素的插入位置以及如何进行拼接,节省了业务开发每次需要单独计算插入位置的工作量,消息模板先定义再使用,因此可以根据不同业务需求进行调整,所以提高代码的复用率和可维护性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的直播过程中的富文本消息展示效果图;
图2为本发明实施例提供的一条送礼物公屏消息展示样式示例图;
图3为本发明实施例提供的富文本消息生成方法的应用场景图;
图4为本发明实施例提供的富文本生成消息的示意性流程图;
图5为本发明实施例提供的步骤S402的示意性流程图;
图6为本发明实施例提供的步骤S402的示例图;
图7为本发明实施例提供的步骤S403的示意性流程图;
图8为本发明技术方案与现有技术差异对比图;
图9为本发明实施例提供的富文本消息生成装置的功能模块图;
图10为本发明实施例提供的计算机设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
目前,由于富文本支持丰富的格式,对于用户而言,观感较好,所以富文本已经广泛应用于各个领域,例如,以网络直播为例,直播系统可以在直播间的公共屏幕上渲染根据观众的行为和发言产生的富文本消息,从而实现直播间内主播与观众之间,以及不同观众之间的互动,公屏中的富文本消息效果可以如图1所示。
图1为本发明实施例提供的直播过程中的富文本消息展示效果图,直播间的界面下方的矩形区域,就是这个直播间的公共屏幕,一般的,直播中涉及的公屏消息主要包括以下几种类型:进场信息,送礼信息,聊天信息,升级信息等,如方框里的内容分别对应观众在直播间中送礼、坐骑进场这两种公屏消息样式,可以看到每一行富文本消息中不仅有文字还有文图片,并且同一行文字还可以存在不同的颜色。
现有技术提供了一种富文本消息方法,主要方案是先计算出每个元素对应的插入位置,然后插入位置对元素做拼接处理,从而得到一条完整的富文本消息,现有方案的核心在于如何计算每个元素的插入位置,具体为先找到每个待拼接的元素的相邻元素,以此确定是否从此处进行拼接,最终确保元素自身拼接位置正确,生成正确的公屏消息。
为了方便理解现有技术并从中发现现有技术的缺陷,下面以一条送礼物公屏消息的生成为例进行阐述,请参见图2,图2为本发明实施例提供的一条送礼物公屏消息展示样式示例图,整条消息分别由“送礼人昵称-全球”、“送”、“赠送礼物图标”、“赠送数量-1”这些元素依次拼接而成,现有技术生成图3所示的公屏消息分为以下几步实现:
1、生成“送礼人昵称”的样式(简称:元素a)。
2、生成固定文案“送”的样式(简称:元素b)。
3、生成“赠送礼物图标”的样式(简称:元素c)。
4、生成“赠送数量”的样式(简称:元素d)。
5、将前面生成的元素进行a+b+c+d组装,生成完整送礼公屏消息。
为简化理解,上述方案直接按照a+b+c+d顺序依次生成,最后进行组装,但从实际编码出发,可能是先进行a+b组装,再进行c+d组装,最后再进行(a+b)+(c+d)组装,甚至其他组装顺序,只要保证结果和a+b+c+d一致即可。
从上述方法不难看出,每个被拼接的元素都需要自己相邻的元素,以此确定是否从此处进行拼接,最终确保元素自身拼接位置正确,生成正确的公屏消息。组装顺序越复杂,代码理解难度越大,因为维护代码的人需要阅读到最终生成完成消息的步骤5才能知道完整的消息样式。例如,在图3所示的送礼物公屏消息中,需要在“送”和“赠送礼物图标”元素之间新增“收礼人昵称”,需要先了解原有拼接步骤,找到合适插入位置生成“收礼人昵称”元素,然后进行拼接。这里还没有考虑多语言的情况,如果需要适配多语言,流程顺序还需要根据不同语言的翻译进行调整适配,增加了开发难度。
总体来看,现有的富文本消息生成方案由于要不断计算插入位置而导致计算复杂度上升,如发生需求变更的情况,还需要重新计算位置且要考虑是否影响此前计算好的插入位置,扩展性差,维护难。遇到应用需要做多语言适配,计算代码将变得极其复杂。
本申请为了避免上述方法所出现的技术缺陷,提供了一种可以降低开发者维护成本并且能够适应需求变更场景的富文本消息生成方法,请参见图3,图3为本发明实施例提供的富文本消息生成方法的应用场景图。
其中,客户端11与服务端12进行通信。其中,客户端11包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端12可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
用户10可以在客户端11上进行交互操作,例如在直播场景中,用户10可以通过直播客户端在直播间进行发言、聊天、送礼物等操作,客户端11基于用户的交互操作,将用户行为信息和用户身份信息发送给服务端12,或者,服务端12基于用户10的交互操作自己采集用户身份信息和用户行为信息,并由服务端12来生成富文本消息,然后将富文本消息进行渲染,以使用户10在客户端11的显示界面上能够看到富文本消息。
下面以图3中的服务端12为执行主体,介绍本发明实施例提供的富文本消息生成方法,请参见图4,图4为本发明实施例提供的富文本生成消息的示意性流程图,包括如下步骤:
S401:生成待拼接的富文本元素。
S402:创建每个富文本元素与富文本元素对应的目标元素类型之间的映射关系。
S403:在消息模板中目标元素类型所在位置处,写入目标元素类型对应的富文本元素,生成富文本消息。
其中,消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
在上述富文本消息生成方法中,生成待拼接的富文本元素之后,即可建立每个富文本元素与富文本元素对应的目标元素类型之间的映射关系,由于消息模板中维护有每种消息包含的各个元素类型,因此建立映射关系之后,可以在消息模板中目标元素类型所在位置处,写入目标元素类型对应的富文本元素,生成富文本消息,由于消息模板一开始就明确定义了各个元素类型之间的位置关系,同时也决定富文本元素的位置,所以整个过程无需关心如何计算富文本元素的插入位置以及如何进行拼接,节省了业务开发每次需要单独计算插入位置的工作量。
还可以看出,消息模板是先定义再使用了,因此可以根据不同业务需求进行调整,所以提高代码的复用率和可维护性。
下面将结合相关附图对上述各个步骤进行详细介绍。
在步骤S401中、生成待拼接的富文本元素
本发明实施例中,富文本元素通常是基于用户发生行为或者发言时生成的信息来生成的,例如,以直播为例,用户进入直播间时产生进场信息;是在;直播间内用户向主播赠送的虚拟礼物时生成的送礼信息;用户发言时生成的聊天信息,而富文本元素则是基于不同信息对应的消息格式,对信令里面的文本以及虚拟表示设置不同样式生成的。
因此,针对上述步骤S401,为了方便理解,本发明实施例给出一种实施方式,步骤S401可以按照如下方式实现:
步骤1:响应用户交互操作,获得用户行为信息和用户身份信息,用户行为信息用于表示用户身份信息对应的用户的行为或发言。
其中,用户身份信息,可以是用户的账号,或昵称,也可以是账号和昵称的组合。
步骤2:为用户行为和用户身份信息配置样式,生成富文本元素。
例如,从图3可以看出,一条送礼物公屏消息中包含了用户身份信息和送礼信息,用户身份信息表明哪个用户送出了虚拟礼物,送礼信息表明送出了哪一种虚拟礼物,送了多少,还可以指明送礼对象。
服务端12获得用户行为信息和用户身份信息之后,即为不同信息设置样式属性,样式属性可以但不限于是大小、形状、颜色、位置、边框等等,从而可以得到多个富文本元素。
本发明实施例中,生成各个富文本元素的顺序是随机的,例如以现有技术中的元素a至元素d而言,按照abcd或acdb等其他随机顺序生成富文本元素不会后续生成富文本消息的结果。
服务端12将这些富文本元素进行组合即可生成一条完整的富文本消息。但本发明实施例是基于预定义的消息模板对待拼接的富文本元素进行组合得到富文本消息,因此在此之前,本发明实施例需要先执行步骤S402,通过元素类型将消息模板与待拼接的富文本进行关联。
在步骤S402中、创建每个富文本元素与富文本元素对应的目标元素类型之间的映射关系。
本发明实施例中,元素类型指的是富文本元素对应的信息类型,元素类型之间的位置组合关系可以表征富文本消息的消息格式。例如,在图3中,送礼物共公屏消息为“王五送玫瑰一朵,其中,富文本元素有“王五”、“送”“玫瑰图标”和“1”,它们对应的目标元素类型为“送礼人昵称”、“送礼物固定文案”、“礼物图标”和“礼物数量”。
创建富文本元素与元素类型之间的对应的映射关系是为了在消息模板中元素类型的位置填充富文本元素,消息模板已经明确消息格式,决定了各个富文本元素的位置关系,那么基于映射关系可以对消息模板中的元素类型进行替换,从而生成富文本消息。
针对上述步骤S402,请参见图5和图6,图5为本发明实施例提供的步骤S402的示意性流程图,图6为本发明实施例提供的步骤S402的示例图,步骤S402可以包括:
S402-1:创建可变数组,并以消息模板中每个元素类型作为可变数组中的键名;
S402-2:在可变数组中,将目标元素类型对应的富文本元素作为键名的键值,得到映射关系。
本发明实施例,可变数组几位map,其中维护的键值对key-value分别是消息模板中的元素类型、需要填充的富文本元素,如key=sender_name(送礼人昵称),value=王五。
结合图6可以看出,本发明实施例中可变数组和消息模板可以根据实际需求进行同步调整,假设需要对消息模板中已经定义好的消息格式进行调整,比如增加或删除某些元素类型,只需要在消息模板t新增元素类型的占位符,在可变数组map新增占位符对应的元素信息,可以灵活应对需求变更。
因此,在一种实施场景中,若遇到需求变更,比如要生成的富文本消息的消息格式与消息模板不匹配,发明实施例给出的实施方式是:若富文本消息的消息格式与消息模板不匹配,则基于组成富文本消息的各个元素类型对消息模板进行更新,基于组成富文本消息的各个元素类型对消息模板进行更新。例如,基于富文本消息的消息格式内的各个组成元素类型来替换消息模板中已经写好的元素类型,实现对消息模板的调整,这里可以完美体现出本方案代码的可维护性。
在另一种场景中,若遇到要生成的富文本消息的消息格式与消息模板匹配,但是缺少某些元素类型,本发明实施例给出的实施方式是:若消息模板中不存在目标元素类型,在消息模板中增加目标元素类型对应的占位符。例如,假设要生成的富文本消息表明王五送4组玫瑰每组100朵,而定义的消息模板中没有“组数”这个元素类型,那么可以在消息模板中插入“组数”这个元素类型。
通过上述实施方式可以实现提高代码的复用率和可维护性的效果,还能适应不同业务场景。
在步骤S403中、在消息模板中目标元素类型所在位置处,写入目标元素类型对应的富文本元素,生成富文本消息。
本发明实施例中的消息模板可以用于维护组成富文本消息的各个元素类型之间的位置关系,以送礼物公屏消息为例,消息模板t形如:{sender_name}{send}{gift_icon}{gift_number},其中,({xxxx}为占位符,如{sender_name}表示这部分是送礼人昵称)。
也就是说,消息模板内各个元素类型之间的位置关系已经确定,这就相当于各个元素类型下的富文本元素之间的位置关系已经确定,避免了现有技术中复杂的位置计算流程。
结合消息模板和S402中创建的映射关系,请参见图7,图7为本发明实施例提供的步骤S403的示意性流程图,步骤S403可以包括:
S403-1:确定目标元素类型在消息模板中的位置后,将位置上的目标元素类型替换成预设格式占位符,生成待填充消息模板,并建立目标元素类型对应的富文本元素与预设格式占位符的对应关系;
S403-2:通过正则表达式对待填充消息模板进行匹配,每匹配到一个预设格式占位符,将预设格式占位符替换成对应关系中的富文本元素,直到最后一个预设格式占位符被替换,得到富文本消息。
本发明实施例中,通过可变数组维护富文本元素与目标元素类型的映射关系,那么在确定目标元素类型在消息模板中的位置的过程中,可以首先取出map中所有key,每个key都通过消息模板t从前往后按顺序依次进行匹配,找到key在模板t中的位置,如第1个被取出key是sender_name,匹配到{sender_name}时,会将{sender_name}替换成预设格式占位符-%1$s(此格式是系统兼容的占位符格式),依次类推,消息模板t最终会被替换成类似%1$s%2$s%3$s%4$s,至此,一个待填充的消息模板t1生成,然后可以通过下方的正则表达式:
ValFORMAT_SEQUENCE:Pattern=Pattern.compile(regex:“%([0-9]+\\$|<?)([^a-zA-Z%]*)([[a-zA-Z%]&&[^tT]]|[tT][a-zA-Z])”)
其中,上述预设格式占位符形如%{number}$s,其中的“number”表示第number个要被替换的占位符。例如,占位符%1$s表示第1个要插入的占位符(后面以此类推),占位符的格式是复用Android系统官方定义的占位符格式,包括且不限于上面案例的格式。
获得待填充消息模板t1之后,还需要确定每个占位符上对应的富文本元素才能完替换,因此,本发明实施例在得到待填充消息模板t1的同时,还建立了富文本元素-目标元素类型-预设格式的占位符这三者之间的对应关系,如{sender_name}—%1$s—王五,那么通过上述正则表达式来匹配t1中所有%{number}$s格式的占位符,每匹配到1个占位符,就从此前建立的对应关系中找到该占位符对应的富文本元素,将占位符替换成这个富文本元素,当所有占位符都替换完成时,一个完整的富文本消息就生成了。
结合上述实施例,本发明提供的富文本消息生成方法与现有技术的差异可以通过图8来展示,图8为本发明技术方案与现有技术差异对比图,对于开发者的工作效率则有非常明显的提升,使用旧方案开发,需要的工作量主要分布在五个方面,而使用本申请提供的富文本消息生成方案,开发者需要的工作量则主要分布在三个方面,相比较下,本申请提供的富文本消息生成方案对于业务层,节省了插入位置的开发计算工作量,同时默认适配了多语言的场景,也不用担心消息需求变更对元素插入位置的影响。
基于相同的发明构思,本申请实施例还提供一种富文本消息生成装置,该装置的结构如图9所示,图9为本发明实施例提供的富文本消息生成装置的功能模块图,该富文本消息生成装置500可包括:获取模块510、创建模块520和生成模块530;
获取模块510,用于生成待拼接的富文本元素;
创建模块520,用于创建每个富文本元素与富文本元素对应的目标元素类型之间的映射关系;
生成模块530,用于在消息模板中目标元素类型所在位置处,填充目标元素类型对应的富文本元素,生成富文本消息,其中,消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
可以理解的是,获取模块510、创建模块520和生成模块530可以协同的执行图4中的各个步骤以实现相应的技术效果。
在可选的实施方式中,生成模块530,具体用于:确定目标元素类型在消息模板中的位置后,将位置上的目标元素类型替换成预设格式占位符,生成待填充消息模板,并建立目标元素类型对应的富文本元素与预设格式占位符的对应关系;通过正则表达式对待填充消息模板进行匹配,每匹配到一个预设格式占位符,将预设格式占位符替换成对应关系中的富文本元素,直到最后一个预设格式占位符被替换,得到富文本消息。
在可选的实施方式中,创建模块520,具体用于:创建可变以消息模板中每个元素类型作为键名,创建可变数组;在可变数组中目标元素类型的键值处写入富文本元素,得到映射关系。
在可选的实施方式中,富文本消息生成装置500还可以包括更新模块,用于:若消息模板中不存在目标元素类型,在消息模板中增加目标元素类型对应的占位符。
在可选的实施方式中,更新模块还用于若富文本消息的消息格式与消息模板不匹配,则基于组成富文本消息的各个元素类型对消息模板进行更新。
在可选的实施方式中,获取模块510,用于响应用户交互操作,获得用户行为信息和用户身份信息,用户行为信息用于表示用户身份信息对应的用户的行为或发言;为用户行为信息和用户身份信息配置样式,生成富文本元素。
需要说明的是,本申请以上实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于上述实施例,本申请实施例还提供一种计算机设备的示意图,该计算机设备用于实现上述实施例中的富文本消息生成方法。参阅图10所示,图10为本发明实施例提供的计算机设备的结构框图,计算机设备600包括:存储器601、处理器602、通信接口603、和总线604,该存储器601、处理器602和通信接口603相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
可选的,总线604可以是外设部件互连标准(peripheral componentinterconnect,PCI)总线或扩展工业标准结构(extended industry standardarchitecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器602可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器601中,处理器602读取存储器601中的程序指令,结合其硬件完成上述方法的步骤。
在本申请实施例中,存储器601可以是非易失性存储器,比如硬盘(harddiskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如RAM。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储指令和/或数据。
存储器601可用于存储软件程序及模块,如本发明实施例提供的富文本消息生成装置400的指令/模块,可以软件或固件(firmware)的形式存储于存储器601中或固化在计算机设备600的操作系统(operating system,OS)中,处理器602通过执行存储在存储器601内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口603可用于与其他节点设备进行信令或数据的通信。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
可以理解,图10所示的结构仅为示意,计算机设备600还可以包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10所示的各组件可以采用硬件、软件或其组合实现。
基于以上实施例,本申请还提供了一种存储介质,存储介质中存储有计算机程序,计算机程序被计算机执行时,使得计算机执行以上实施例提供的富文本消息生成方法。
基于以上实施例,本申请实施例还提供了一种计算机程序,当计算机程序在计算机上运行时,使得计算机执行以上实施例提供的富文本消息生成方法。
基于以上实施例,本申请实施例还提供了一种芯片,芯片用于读取存储器中存储的计算机程序,用于执行以上实施例提供的富文本消息生成方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行以上实施例提供的富文本消息生成方法。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种富文本消息生成方法,其特征在于,所述方法包括:
生成待拼接的富文本元素;
创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系;
在预定义的消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息;其中,所述消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
2.根据权利要求1所述的富文本消息生成方法,其特征在于,在预定义的消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息,包括:
确定所述目标元素类型在所述消息模板中的位置后,将所述位置上的所述目标元素类型替换成预设格式占位符,生成待填充消息模板,并建立所述目标元素类型对应的所述富文本元素与所述预设格式占位符的对应关系;
通过正则表达式对所述待填充消息模板进行匹配,每匹配到一个所述预设格式占位符,将所述预设格式占位符替换成所述对应关系中的所述富文本元素,直到最后一个所述预设格式占位符被替换,得到所述富文本消息。
3.根据权利要求1所述的富文本消息生成方法,其特征在于,创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系,包括:
创建可变以所述消息模板中每个所述元素类型作为键名,创建可变数组;
在所述可变数组中所述目标元素类型的键值处写入所述富文本元素,得到所述映射关系。
4.根据权利要求2所述的富文本消息生成方法,其特征在于,所述方法还包括:
若所述消息模板中不存在所述目标元素类型,在所述消息模板中增加所述目标元素类型对应的所述占位符。
5.根据权利要求1所述的富文本消息生成方法,其特征在于,所述方法还包括:
若所述富文本消息的消息格式与所述消息模板不匹配,则基于组成所述富文本消息的各个元素类型对所述消息模板进行更新。
6.根据权利要求1所述的富文本消息生成方法,其特征在于,生成待拼接的富文本元素,包括:
响应用户交互操作,获得用户行为信息和用户身份信息,所述用户行为信息用于表示用户身份信息对应的用户的行为或发言;
为所述用户行为信息和所述用户身份信息配置样式,生成所述富文本元素。
7.一种富文本消息生成装置,其特征在于,包括:获取模块、创建模块和生成模块;
所述获取模块,用于生成待拼接的富文本元素;
所述创建模块,用于创建每个所述富文本元素与所述富文本元素对应的目标元素类型之间的映射关系;
所述生成模块,用于在预定义的消息模板中所述目标元素类型所在位置处,填充所述目标元素类型对应的所述富文本元素,生成富文本消息,其中,所述消息模板用于维护组成富文本消息的各个元素类型之间的位置关系。
8.根据权利要求7所述的富文本消息生成装置,其特征在于,所述生成模块,具体用于:
确定所述目标元素类型在所述消息模板中的位置后,将所述位置上的所述目标元素类型替换成预设格式占位符,生成待填充消息模板,并建立所述目标元素类型对应的所述富文本元素与所述预设格式占位符的对应关系;
通过正则表达式对所述待填充消息模板进行匹配,每匹配到一个所述预设格式占位符,将所述预设格式占位符替换成所述对应关系中的所述富文本元素,直到最后一个所述预设格式占位符被替换,得到所述富文本消息。
9.一种计算机设备,包括处理器和存储器,其特征在于,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序时实现权利要求1至6任意一项所述的富文本消息生成方法。
10.一种可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任意一项所述的富文本消息生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552382.XA CN115935935A (zh) | 2022-12-05 | 2022-12-05 | 富文本消息生成方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211552382.XA CN115935935A (zh) | 2022-12-05 | 2022-12-05 | 富文本消息生成方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115935935A true CN115935935A (zh) | 2023-04-07 |
Family
ID=86550103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211552382.XA Pending CN115935935A (zh) | 2022-12-05 | 2022-12-05 | 富文本消息生成方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115935935A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116842125A (zh) * | 2023-08-28 | 2023-10-03 | 武汉乾云软件开发中心(有限合伙) | 一种富媒体信息的存储方法及自然语言智能检索方法 |
-
2022
- 2022-12-05 CN CN202211552382.XA patent/CN115935935A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116842125A (zh) * | 2023-08-28 | 2023-10-03 | 武汉乾云软件开发中心(有限合伙) | 一种富媒体信息的存储方法及自然语言智能检索方法 |
CN116842125B (zh) * | 2023-08-28 | 2023-12-26 | 武汉乾云软件开发中心(有限合伙) | 一种富媒体信息的存储方法及自然语言智能检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3399721B1 (en) | Interface data displaying method and device | |
CN109614100B (zh) | 页面展示方法、装置、服务器、前端及存储介质 | |
JP2020511711A (ja) | メッセージ処理方法、記憶媒体、及びコンピュータ機器 | |
CN110597595A (zh) | 多语言信息的提供方法、配置方法、装置、设备和介质 | |
WO2015176226A1 (zh) | 一种配置广告模板的方法及服务器和系统 | |
CN113268226A (zh) | 页面数据生成方法、装置、存储介质及设备 | |
CN107203372A (zh) | 控件展现方法及装置 | |
CN110096276A (zh) | 房源展示页面配置方法、设备、存储介质及装置 | |
CN115935935A (zh) | 富文本消息生成方法、装置、计算机设备及可读存储介质 | |
CN111198892A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN110738038A (zh) | 合同文本的生成方法、装置、设备及计算机可读存储介质 | |
CN115795211A (zh) | 一种页面展示方法、装置、系统、设备和存储介质 | |
CN113010328A (zh) | 信息分享方法、装置、终端设备及存储介质 | |
CN103164245B (zh) | 应用显示特定语言的方法和终端 | |
CN111984293A (zh) | 一种信息处理方法、装置和存储介质 | |
CN109739504B (zh) | 一种根据后台配置自动生成h5业务办理页面的方法 | |
CN113535304B (zh) | 设计软件中插入、展示、编辑第三方模型的方法与装置 | |
CN113628306A (zh) | 文本显示方法、装置、电子设备及可读存储介质 | |
CN112035162A (zh) | 配置文件批量修改方法及装置 | |
CN112346797A (zh) | 一种个性化桌面配置方法、装置及系统 | |
CN110516028A (zh) | 一种基于react实现复杂编辑器的方法及装置 | |
CN115238660B (zh) | 一种表单动态生成方法、装置、设备及存储介质 | |
CN114860350B (zh) | 基于云无盘树状镜像的数据处理的方法及装置 | |
CN115174993B (zh) | 用于视频制作的方法、装置、设备和存储介质 | |
WO2023082994A1 (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 |