一种问题列表生成方法、装置、设备以及存储介质
本公开涉及计算机技术领域,具体而言,涉及一种问题列表生成方法、装置、设备以及存储介质。
背景技术
随着互联网的快速发展,网络已经逐渐成为人们必不可少的助手,特别是人们通过网络为工作和生活带来了极大的便利,如可以通过网络投放各种调查问卷或者各种调查信息,或者通过网络实现多种信息的填写以进行账号注册、注销和反馈等,从而实现信息的收集、上报等目的。通过网络进行信息的投放和收集等,可以是投放向不同终端,在不同终端中以不同的呈现形式进行问题的展示,例如通过手机、电脑等终端,以页面、文件、端口等形式,从而在不同场景下实现问题的呈现和收集等。
针对不同场景下的问题呈现,由于在不同场景下的显示方式、渲染方式等因素的不同,因此大多是针对一个场景形成一个问题列表,但是,这样的话,在原始问题或者内容有变化的时候,需要对各场景下对应的问题列表进行修改和调整等,维护成本高,维护工作量大。
发明内容
本公开实施例至少提供一种问题列表生成方法、装置、设备以及存储介质。
本公开实施例提供了一种问题列表生成方法,所述方法包括:
获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景;
针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式;
基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式;
将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
一种可选的实施方式中,所述针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,包括:
对所述多个待展示问题进行解读处理,确定所述多个待展示问题中每两个待展示问题之间的逻辑关系;
基于解读出的所述逻辑关系,确定所述多个待展示问题的逻辑结构;
针对每个待展示问题,基于所述待展示问题在所述逻辑结构中的逻辑位置,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
一种可选的实施方式中,所述基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,包括:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式;
确定每种展示场景的场景信息;
基于每种展示场景的场景信息与每种第一展示形式之间的匹配度,从所述多种第一展示形式中确定出所述待展示问题在每种展示场景下的展示形式。
一种可选的实施方式中,所述基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,包括:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式,以及用户输入的多种第二展示形式中与所述回答方式匹配的至少一种第二展示形式;
响应于用户的选择操作,从所述多种第一展示形式和所述至少一种第二展示形式中确定出用户针对所述待展示问题选择的、在每种展示场景下的展示形式。
一种可选的实施方式中,在所述将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表之后,所述方法包括:
确定待展示所述问题列表中所述多个待展示问题的目标展示场景;
从所述问题列表中注册的每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式,确定出每个待展示问题在所述目标展示场景下的目标展示类型和目标展示形式;
调用与所述目标展示类型和所述目标展示形式匹配的目标渲染组件,按照每个待展示问题的逻辑节点类型,对每个待展示问题进行渲染,得到包括渲染出的所述待展示问题的显示界面。
一种可选的实施方式中,在所述将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表之后,所述方法包括:
获取针对所述多个待展示问题的维护信息,其中,所述维护信息包括针对所述多个待展示问题中目标问题的替换问题、针对所述多个待展示问题的新增问题和针对所述多个待展示问题中目标问题的删减中的一种或者多种;
针对所述维护信息,对所述问题列表进行维护。
一种可选的实施方式中,在所述维护信息包括替换问题和/或新增问题的情况下,将所述替换问题和/或新增问题作为维护问题,所述针对所述维护信息,对所述问题列表进行维护,包括:
确定所述维护问题的维护逻辑节点类型、所述维护问题在每个展示场景下的维护展示类型和所述维护问题在每个场景下的维护展示形式;
将所述维护问题,以及确定出的维护逻辑节点类型、在每个展示场景下的维护展示类型和在每个场景下的维护展示形式,注册到所述问题列表中。
本公开实施例还提供一种问题列表生成装置,所述装置包括:
信息获取模块,用于获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景;
第一确定模块,用于针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式;
第二确定模块,用于基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式;
文件生成模块,用于将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
一种可选的实施方式中,所述第一确定模块具体用于:
对所述多个待展示问题进行解读处理,确定所述多个待展示问题中每两个待展示问题之间的逻辑关系;
基于解读出的所述逻辑关系,确定所述多个待展示问题的逻辑结构;
针对每个待展示问题,基于所述待展示问题在所述逻辑结构中的逻辑位置,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
一种可选的实施方式中,所述第二确定模块具体用于:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式;
确定每种展示场景的场景信息;
基于每种展示场景的场景信息与每种第一展示形式之间的匹配度,从所述多种第一展示形式中确定出所述待展示问题在每种展示场景下的展示形式。
一种可选的实施方式中,所述第二确定模块在用于基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式时,具体用于:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式,以及用户输入的多种第二展示形式中与所述回答方式匹配的至少一种第二展示形式;
响应于用户的选择操作,从所述多种第一展示形式和所述至少一种第二展示形式中确定出用户针对所述待展示问题选择的、在每种展示场景下的展示形式。
一种可选的实施方式中,所述装置还包括显示模块,所述显示模块用于:
确定待展示所述问题列表中所述多个待展示问题的目标展示场景;
从所述问题列表中注册的每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式,确定出每个待展示问题在所述目标展示场景下的目标展示类型和目标展示形式;
调用与所述目标展示类型和所述目标展示形式匹配的目标渲染组件,按照每个待展示问题的逻辑节点类型,对每个待展示问题进行渲染,得到包括渲染出的所述待展示问题的显示界面。
一种可选的实施方式中,所述装置还包括维护模块,所述维护模块用于:
获取针对所述多个待展示问题的维护信息,其中,所述维护信息包括针对所述多个待展示问题中目标问题的替换问题、针对所述多个待展示问题的新增问题和针对所述多个待展示问题中目标问题的删减中的一种或者多种;
针对所述维护信息,对所述问题列表进行维护。
一种可选的实施方式中,在所述维护信息包括替换问题和/或新增问题的情况下,将所述替换问题和/或新增问题作为维护问题,所述维护模块在用于针对所述维护信息,对所述问题列表进行维护时,具体用于:
确定所述维护问题的维护逻辑节点类型、所述维护问题在每个展示场景下的维护展示类型和所述维护问题在每个场景下的维护展示形式;
将所述维护问题,以及确定出的维护逻辑节点类型、在每个展示场景下的维护展示类型和在每个场景下的维护展示形式,注册到所述问题列表中。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述实施方式中的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述实施方式中的步骤。
本公开实施例提供的问题列表生成的方法、装置、设备及存储介质,通过获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景,针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
这样,通过解析多个问题的逻辑信息、展示类型和回答方式,以及针对不同场景的展示形式等信息,可以注册生成一份问题列表,从而在使用时可以实现通过同一问题列表针对不同场景动态生成不同的显示界面,提高了问题列表的兼容性,当需要对问题进行维护时,只需要对文件中的问题进行修改即可,不用再在针对问题的不同场景而一一进行修改,有利于实现对问题列表的统一维护,减少因多种场景导致的问题列表的维护工作量,有利于降低问题列表维护的人力和物力等资源消耗,提高维护效率。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种问题列表生成方法的流程图;
图2示出了本公开实施例所提供的一种问题显示界面示意图之一;
图3示出了本公开实施例所提供的一种问题显示界面示意图之二;
图4示出了本公开实施例所提供的另一种问题列表生成方法的流程图;
图5示出了本公开实施例所提供的一种问题列表生成装置的示意图之一;
图6示出了本公开实施例所提供的一种问题列表生成装置的示意图之二;
图7示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,针对同一问题,在不同的应用场景中的展示方式不同,在对问题进行修改时,要在对应的不同场景下进行不同的修改,对开发人员来说,任务繁重,且在进行修改时,很容易出错。
基于上述研究,本公开提供了一种问题列表生成方法,通过获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景,针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
这样,通过解析多个问题的逻辑信息、展示类型和回答方式,以及针对不同场景的展示形式等信息,注册生成一份问题列表,从而在使用时可以实现通过同一问题列表针对不同场景动态生成不同的显示界面,提高了问题列表的兼容性,有利于实现对问题列表的统一维护,减少因多种场景导致的问题列表的维护工作量,有利于降低问题列表维护的人力和物力等资源消耗,提高维护效率。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种问题列表生成方法进行详细介绍,本公开实施例所提供的问题列表生成方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备。在一些可能的实现方式中,该问题列表生成方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种问题列表生成方法的流程图,所述方法包括步骤S101~S104,其中:
S101:获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景。
在实际的应用场景中,为了便于对问题进行统一的管理和处理,可以针对各问题进行统一的定义,例如对于待展示问题按照统一的“数据结构”来描述,以便最终可以由相应的呈现形式通过UI呈现出来。
首先,对于一个问题,可以通过问题的概要Schema定义方式来对问题进行结构的定义,具体的,可以是从问题中识别出问题的关键字段key和标签label,来表示问题的整体基础信息,可以针对各字段确定字段的类型,例如是数值、字符串、数组等,然后,可以确定多个问题之间的关系描述,如问题与问题之间、答复与答复、问题与答复之间的联动,问题与问题之间是否有嵌套,问题显示状态,内容是否需要被验证等,通过上述Schema定义方式对问题进行定义,可以便于对问题进行统一的管理。
其中,对于多个待展示问题来讲,每个问题之间可能不是完全独立的,即问题与问题之间可能是有关联的,因此所述多个待展示问题之间是存在一定逻辑关系的,通过Schema定义方式,也可以描述出各问题之间的逻辑结构,例如通过多个问题之间的关系描述等信息。
相应的,在获取到多个待展示问题后,可以按照定义好的Schema定义,对各问题进行解析,并且后续可以针对不同的展示场景,可以针对各问题预先注册相应的呈现UI,从而将之记录在文件中,因此,在后续进行问题展示,呈现问题列表时,可以通过文件解读问题的Schema,以得到问题的逻辑结构和在逻辑结构下的逻辑节点,以及对应不同的展示场景按照对逻辑节点预先注册的展示类型,针对展示类型预先注册的回答方式,针对回答方式预先注册的展示形式,从而可以渲染描述出一个问题列表。
示例性的,待展示问题可以指需要在不同的展示场景进行展示的、需要被提问用户进行回答的问题,例如姓名、年龄、班级等,相应的,待展示问题的展示场景是可以PC端、Web端、移动端、终端。
具体的,参见图2和图3,图2和图3为相同问题在不同的显示场景下的示意图,图2为一种问题显示界面示意图之一,图3为一种问题显示界面示意图之二,其中,如图2所示,200为前端Web显示界面,210为问题,220为回答,如图3所示,300为终端显示界面,310为问题,320为回答,在具体应用的过程中,获取开发者上传的包括姓名、年龄、班级的问题210或问题310,以及问题需要进行展示的Web端200和终端300。
S102:针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
该步骤中,根据逻辑关系得到多个待展示问题之间逻辑结构,解析逻辑结构得到所述待展示问题的逻辑节点,根据逻辑节点确定逻辑节点类型,进而根据所述逻辑节点类型,确定针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
其中,所述逻辑节点类型包括:根节点、子节点,其中,子节点包括表单节点、子表单节点、值类型节点,其中值类型节点又包括多选关系节点、单选关系节点以及其他信息节点。
其中,所述展示类型包括:输入型、单选型、多选型、下拉型等。
其中,所述回答方式包括:选择选项、输入文本。
具体的,一种具体的实施方式中,对所述多个待展示问题进行解读处理,确定所述多个待展示问题中每两个待展示问题之间的逻辑关系;基于解读出的所述逻辑关系,确定所述多个待展示问题的逻辑结构;针对每个待展示问题,基于所述待展示问题在所述逻辑结构中的逻辑位置,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
该步骤中,在确定了所述多个待展示问题的逻辑结构之后,对确定出的逻辑结构进行遍历,找到所述待展示问题在所述逻辑结构中的逻辑位置,从而确定所述待展示问题的逻辑节点类型。
进一步的,根据所述待展示问题和所述逻辑节点类型,在多种预设展示类型中确定至少一种与所述待展示问题对应的展示类型。
进一步的,根据所述待展示问题、逻辑节点类型和所述展示类型,在多种预设回答方式中确定至少一种与所述待展示问题对应的回答方式。
示例性的,根据获取的用户上传的包括“姓名、年龄、班级”的问题,获得“姓名、年龄、班级”之间的逻辑关系,进而根据逻辑关系获得其逻辑结构,遍历其逻辑结构,分别找到“姓名、年龄、班级”的节点位置,并确定“姓名、年龄、班级”的节点类型,“姓名、年龄、班级”的节点类型为值类型,根据预设的对应值类型的展示类型包括输入型、单选型、多选型、下拉型等,展示类型对应的回答方式包括选择选项和输入文本,即针对“名字”问题确定出展示类型为输入型,以及针对名字问题的回答方式输入文本。
S103:基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式。
这里,确定出的展示形式可以指所述待展示问题在展示场景下的具体样式,包括:输入框、圆形选项框、方形选项框、下拉框等。
其中,一种具体的实施方式中,基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式;确定每种展示场景的场景信息;基于每种展示场景的场景信息与每种第一展示形式之间的匹配度,从所述多种第一展示形式中确定出所述待展示问题在每种展示场景下的展示形式。
其中,由于展示形式是从预设的多种第一展示形式中确定出来的,所以预设的多种第一展示形式可以包括例如输入框、圆形选项框、方形选项框、下拉框等。其中,场景信息包括:场景的主题、场景的背景颜色、场景的大小、场景的兼容性、场景的风格、场景的数据交互方式等形式中的一种或者多种。
示例性的,根据确定出的针对问题的两种回答方式:选择选项和输入文本,在预设的展示形式中确定出“名字”问题的展示类型为输入型,回答方式为文字输入,回答展示形式为输入框。
相应的,另一种具体的实施方式中,基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式,以及用户输入的多种第二展示形式中与所述回答方式匹配的至少一种第二展示形式;响应于用户的选择操作,从所述多种第一展示形式和所述至少一种第二展示形式中确定出用户针对所述待展示问题选择的、在每种展示场景下的展示形式。
其中,由于预设的第一展示形式的是固定样式,以免预设的第一展示样式过于局限,不能满足开发者用户的需求,则用户可以根据自己的需求来输入第二展示形式。
其中,第二展示形式例如可以包括字体颜色、字体大小、背景颜色、字与字之间的间隔、字的鼠标悬浮样式、问题与问题之间的间隔、整个页面的配色、输入框的大小、输入框的内外边距、圆形选项框的大小、圆形选项框的颜色、方形选项框的大小、方形选项框的颜色、下拉框的大小、下拉框的颜色等形式中的一种或者多种。
示例性的,在根据回答方式,确定出针对“名字”问题的回答展示形式为输入框后,由于展示形式可能不符合用户的需求,则获取用户输入的展示形式:“名字”确定回答的输入框的宽为68px,输入框的长为680px,输入框的内外边距为3px,输入框的填充色为深灰色,进而,从两种展示形式中确定用户输入的展示形式为最终的展示形式。
S104:将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
这里,预设文件可以是预先设置好的用来存储待展示问题的逻辑节点类型、展示类型以及展示形式,即将待展示问题的逻辑节点类型、展示类型以及展示形式打包到一个文件中,从而根据预设文件得到针对所述多个待展示问题的问题列表。
本公开实施例公开的问题列表生成方法,通过获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景,针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
这样,通过解析多个问题的逻辑信息、展示类型和回答方式,以及针对不同场景的展示形式等信息,注册生成一份问题列表,从而在使用时可以实现通过同一问题列表针对不同场景动态生成不同的显示界面,提高了问题列表的兼容性,有利于实现对问题列表的统一维护,减少因多种场景导致的问题列表的维护工作量,有利于降低问题列表维护的人力和物力等资源消耗,提高维护效率。
参见图4所示,为本公开实施例提供的另一种问题列表生成方法的流程图,所述方法包括步骤S401~S406,其中:
S401:获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景;
S402:针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式;
S403:基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式;
S404:将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
S405:获取针对所述多个待展示问题的维护信息,其中,所述维护信息包括针对所述多个待展示问题中目标问题的替换问题、针对所述多个待展示问题的新增问题和针对所述多个待展示问题中目标问题的删减中的一种或者多种。
这里,针对所述多个待展示问题的维护信息是先获取了用户上传的维护文件,对维护文件进行解析之后,获得维护文件中的维护信息以及维护指令,以便后续响应维护指令,根据维护信息对多个待展示问题进行维护。
其中,针对所述多个待展示问题中目标问题的替换问题,在进行问题替换的过程中,需要将被替换的问题以及被替换问题的相关数据信息进行清除,再增加替换问题到待展示问题中,以免对后续在不同场景进行显示时,产生影响。
示例性的,在对待展示的“姓名、年龄、班级”问题进行维护时,获取维护信息,若维护信息为将“班级”问题修改为“籍贯”问题,则将“班级”问题以及“班级”问题的相关数据信息,进行清除,然后再增加“籍贯”问题。
S406:针对所述维护信息,对所述问题列表进行维护。
其中,步骤S401至步骤S404的描述,可以参照步骤S101至步骤S104的描述,并且可以达到相同的技术效果和解决相同的技术问题,在此不做赘述。
接下来,结合具体实施方式进一步对本实施例进行说明。
一种可选的实施方式中,在所述维护信息包括替换问题和/或新增问题的情况下,将所述替换问题和/或新增问题作为维护问题,步骤S406包括:
首先,确定所述维护问题的维护逻辑节点类型、所述维护问题在每个展示场景下的维护展示类型和所述维护问题在每个场景下的维护展示形式。
该步骤中,通过获取多个所述维护问题之间的逻辑关系,进而根据逻辑关系得到多个所述维护问题之间逻辑结构,解析逻辑结构得到所述维护问题的维护逻辑节点,根据维护逻辑节点确定维护逻辑节点类型,进而根据所述维护逻辑节点类型,确定针对所述维护逻辑节点类型的维护展示类型和所述维护问题在每个场景下的维护展示形式。
由于根据所述维护问题确定维护展示形式的步骤与根据待展示问题确定展示形式的步骤相同,则所述维护问题的维护逻辑节点类型、维护展示类型和维护展示形式分别与所述待展示问题的逻辑节点类型、展示类型和展示形式的内容相同。
示例性的,根据获取的用户上传的维护问题“籍贯,地址”,获得“籍贯”与“地址”之间的维护逻辑关系,进而根据维护逻辑关系获得其维护逻辑结构,遍历其维护逻辑结构,分别找到“籍贯”与“地址”的维护节点位置,并确定“籍贯”与“地址”的维护节点类型,“籍贯”与“地址”维护节点类型为值类型,根据预设的对应值类型的展示类型包括输入型、单选型、多选型、下拉型,展示类型对应的回答方式包括选择选项、输入文本,即针对“籍贯”与“地址”维护问题都有两种回答方式:选择选项和输入文本。
然后,将所述维护问题,以及确定出的维护逻辑节点类型、在每个展示场景下的维护展示类型和在每个场景下的维护展示形式,注册到所述问题列表中。
一种可选的实施方式中,在所述将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表之后,所述方法包括:
确定待展示所述问题列表中所述多个待展示问题的目标展示场景;
从所述问题列表中注册的每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式,确定出每个待展示问题在所述目标展示场景下的目标展示类型和目标展示形式;
调用与所述目标展示类型和所述目标展示形式匹配的目标渲染组件,按照每个待展示问题的逻辑节点类型,对每个待展示问题进行渲染,得到包括渲染出的所述待展示问题的显示界面。
该步骤中,在获得所述问题列表之后,首先选择展示所述问题列表的目标展示场景,其次,从所述问题列表中通过解析的方式,解析出所述问题列表的展示类型和展示形式,进而从解析出的所述问题列表的展示类型和展示形式中确定出在待展示问题在所述目标展示场景下的目标展示类型和目标展示形式,根据确定出的目标展示类型和目标展示形式,在预设的渲染组件中检测是否存在与目标展示形式匹配的渲染组件,若存在,则将检测出的渲染组件确定为目标渲染组件,调用目标渲染组件,执行渲染指令,按照每个待展示问题的逻辑节点类型,对每个待展示问题进行渲染,得到包括渲染出的所述待展示问题的显示界面。
其中,所述目标展示场景至少包括用户界面展示场景以及指令界面展示场景;
针对每一个所述待展示问题,对于所述目标展示场景中包括的所述用户界面展示场景,从预设的渲染组件中确定用于所述待展示问题在所述目标展示场景下的目标展示类型和目标展示形式对应的用户界面渲染组件;
针对每一个所述待展示问题,对于所述目标展示场景中包括的所述指令界面展示场景,从预设的渲染组件中确定用于所述待展示问题在所述目标展示场景下的目标展示类型和目标展示形式对应的指令界面渲染组件;
根据所述用户界面渲染组件将所述待展示问题展示于所述用户界面展示场景中,同时根据所述指令界面渲染组件将所述待展示问题展示于所述指令界面展示场景中。
示例性的,获得问题列表之后,确定展示问题列表的场景:用户展示界面和指令展示界面,解析问题列表,得到问题列表中的“姓名,年龄,籍贯,地址”问题,以及“姓名,年龄,籍贯,地址”问题针对用户展示界面和指令展示界面的展示类型和展示形式,根据展示类型和展示形式,来确定对应展示类型和展示形式的渲染组件,调用渲染组件将“姓名,年龄,籍贯,地址”问题分别在用户展示界面和指令展示界面进行渲染,并分别生成对应用户展示界面和指令展示界面的问题界面。
本公开实施例公开的问题列表生成方法,通过获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景,针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表,获取针对所述多个待展示问题的维护信息,确定所述维护问题的维护逻辑节点类型、所述维护问题在每个展示场景下的维护展示类型和所述维护问题在每个场景下的维护展示形式,将所述维护问题,以及确定出的维护逻辑节点类型、在每个展示场景下的维护展示类型和在每个场景下的维护展示形式,注册到所述问题列表中。
通过解析多个问题的逻辑信息、展示类型和回答方式,以及针对不同场景的展示形式等信息,注册生成一份问题列表,从而在使用时可以实现通过同一问题列表针对不同场景动态生成不同的显示界面,提高了问题列表的兼容性,有利于实现对问题列表的统一维护,减少因多种场景导致的问题列表的维护工作量,有利于降低问题列表维护的人力和物力等资源消耗,提高维护效率,当需要对问题进行维护时,若需要进行问题替换时,可以将被替换的问题以及相关数据信息进行清除,以免影响后续的界面生成,保证了问题列表的准确性。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与问题列表生成方法对应的问题列表生成方法装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述问题列表生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图5至图6,图5为本公开实施例提供的一种问题列表生成装置的示意图之一,图6为本公开实施例提供的一种问题列表生成装置的示意图之二。如图5中所示,本公开实施例提供的问题列表生成装置500,包括:
信息获取模块510,用于获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景;
第一确定模块520,用于针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式;
第二确定模块530,用于基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式;
文件生成模块540,用于将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
一种可选的实施方式中,所述第一确定模块520具体用于:
对所述多个待展示问题进行解读处理,确定所述多个待展示问题中每两个待展示问题之间的逻辑关系;
基于解读出的所述逻辑关系,确定所述多个待展示问题的逻辑结构;
针对每个待展示问题,基于所述待展示问题在所述逻辑结构中的逻辑位置,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式。
一种可选的实施方式中,所述第二确定模块530具体用于:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式;
确定每种展示场景的场景信息;
基于每种展示场景的场景信息与每种第一展示形式之间的匹配度,从所述多种第一展示形式中确定出所述待展示问题在每种展示场景下的展示形式。
一种可选的实施方式中,所述第二确定模块530在用于基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式时,具体用于:
基于所述待展示问题的回答方式,确定预设的针对所述待展示问题的多种第一展示形式,以及用户输入的多种第二展示形式中与所述回答方式匹配的至少一种第二展示形式;
响应于用户的选择操作,从所述多种第一展示形式和所述至少一种第二展示形式中确定出用户针对所述待展示问题选择的、在每种展示场景下的展示形式。
一种可选的实施方式中,如图6中所示,所述装置500还包括显示模块550,所述显示模块550用于:
确定待展示所述问题列表中所述多个待展示问题的目标展示场景;
从所述问题列表中注册的每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式,确定出每个待展示问题在所述目标展示场景下的目标展示类型和目标展示形式;
调用与所述目标展示类型和所述目标展示形式匹配的目标渲染组件,按照每个待展示问题的逻辑节点类型,对每个待展示问题进行渲染,得到包括渲染出的所述待展示问题的显示界面。
一种可选的实施方式中,如图6中所示,所述装置500还包括维护模块560,所述维护模块560用于:
获取针对所述多个待展示问题的维护信息,其中,所述维护信息包括针对所述多个待展示问题中目标问题的替换问题、针对所述多个待展示问题的新增问题和针对所述多个待展示问题中目标问题的删减中的一种或者多种;
针对所述维护信息,对所述问题列表进行维护。
一种可选的实施方式中,在所述维护信息包括替换问题和/或新增问题的情况下,将所述替换问题和/或新增问题作为维护问题,所述维护模块560在用于针对所述维护信息,对所述问题列表进行维护时,具体用于:
确定所述维护问题的维护逻辑节点类型、所述维护问题在每个展示场景下的维护展示类型和所述维护问题在每个场景下的维护展示形式;
将所述维护问题,以及确定出的维护逻辑节点类型、在每个展示场景下的维护展示类型和在每个场景下的维护展示形式,注册到所述问题列表中。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例公开的问题列表生成装置,通过获取用户上传的多个待展示问题,以及所述多个待展示问题的多个展示场景,针对每个待展示问题,基于所述多个待展示问题之间的逻辑关系,确定所述待展示问题的逻辑节点类型,以及针对所述逻辑节点类型的展示类型和针对所述展示类型的回答方式,基于所述待展示问题的回答方式,确定所述待展示问题在每种展示场景下的展示形式,将所述多个待展示问题,以及确定出的每个待展示问题的逻辑节点类型、每个待展示问题在每个展示场景下的展示类型和每个待展示问题在每个场景下的展示形式注册到预设文件中,得到针对所述多个待展示问题的问题列表。
这样,通过解析多个问题的逻辑信息、展示类型和回答方式,以及针对不同场景的展示形式等信息,注册生成一份问题列表,从而在使用时可以实现通过同一问题列表针对不同场景动态生成不同的显示界面,提高了问题列表的兼容性,有利于实现对问题列表的统一维护,减少因多种场景导致的问题列表的维护工作量,有利于降低问题列表维护的人力和物力等资源消耗,提高维护效率。
基于同一技术构思,本申请实施例还提供了一种电子设备。本公开实施例还提供了一种电子设备700,如图7所示,为本公开实施例提供的电子设备700结构示意图,包括:
处理器710、存储器720、和总线730;存储器720用于存储执行指令,包括内存721和外部存储器722;这里的内存721也称内存储器,用于暂时存放处理器710中的运算数据,以及与硬盘等外部存储器722交换的数据,处理器710通过内存721与外部存储器722进行数据交换,当所述电子设备700运行时,所述处理器710与所述存储器720之间通过总线730通信,使得所述处理器710可以执行上述方法实施例中所示的问题列表生成方法的步骤。
本公开实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的问题列表生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的问题列表生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备、存储介质和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的设备、存储介质、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。