CN115309298B - 基于富文本编辑器的文本结构化方法及装置、介质及设备 - Google Patents
基于富文本编辑器的文本结构化方法及装置、介质及设备 Download PDFInfo
- Publication number
- CN115309298B CN115309298B CN202211058751.XA CN202211058751A CN115309298B CN 115309298 B CN115309298 B CN 115309298B CN 202211058751 A CN202211058751 A CN 202211058751A CN 115309298 B CN115309298 B CN 115309298B
- Authority
- CN
- China
- Prior art keywords
- structured data
- sub
- tag element
- level
- end page
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000004044 response Effects 0.000 claims abstract description 28
- 238000009877 rendering Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 208000035473 Communicable disease Diseases 0.000 description 8
- 208000015181 infectious disease Diseases 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000002255 vaccination Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 229960005486 vaccine Drugs 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Document Processing Apparatus (AREA)
Abstract
本公开涉及计算机技术领域,提供了一种基于富文本编辑器的文本结构化方法及装置、计算机存储介质和电子设备。其中,上述方法包括:响应在富文本编辑器的第一前端页面的第一操作,在第一前端页面中显示候选组件列表;响应对候选组件列表中的目标组件的第二操作,确定第一前端页面的标签元素对应的第一结构化数据;根据第一操作的操作位置确定目标组件的添加位置;获取目标组件对应的第二结构化数据,根据添加位置将第二结构化数据插入到第一结构化数据中,以生成第三结构化数据;基于第三结构化数据渲染第二前端页面,以在富文本编辑器中显示所述第二前端页面。本方案能提高富文本编辑效率和结构化数据的生成效率。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种基于富文本编辑器的文本结构化方法、基于富文本编辑器的文本结构化装置、计算机可读存储介质、电子设备。
背景技术
富文本编辑器(RichText Editor,简称RTE)是一种可用于对网页中的文本进行编辑的编辑器。目前,富文本编辑器的使用已经越来越广泛。
以传染病流调报告的生成为例,相关技术中,用户只能在已经确定好位置的编辑框中编辑,而无法自定义添加编辑框,所以,编辑准确性和效率低下。且现有的富文本编辑器的输出是一个HTML(Hyper Text Markup Language,超文本标记语言)的文本,无法输出结构化的数据。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种基于富文本编辑器的文本结构化方法及装置、计算机可读存储介质及电子设备,进而至少在一定程度上改善富文本编辑准确性低、效率低下,且无法直接生成结构化数据的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供了一种基于富文本编辑器的文本结构化方法,包括:响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;响应对所述候选组件列表中的目标组件的第二操作,确定所述第一前端页面的标签元素对应的第一结构化数据;根据所述第一操作确定所述目标组件的添加位置;获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面。
在本公开的一种示例性实施例中,基于前述方案,所述确定所述第一前端页面的标签元素对应的第一结构化数据,包括:根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述第一前端页面的标签元素;根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据;其中,所述第一层级标签元素包括所述第一前端页面中的模块结构标签元素。
在本公开的一种示例性实施例中,基于前述方案,所述根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据,包括:在遍历到第一层级标签元素的情况下,获取所述第一层级标签元素关联的第一子结构化数据;在遍历到的所述第一级子标签元素的类型是第二层级标签元素的情况下,获取遍历到的所述第一级子标签元素关联的第二子结构化数据;在遍历到的所述第一级子标签元素的类型不是第二层级标签元素的情况下,获取为所述第二层级标签元素配置的预设结构化数据;在遍历到的所述第二级子标签元素为组件的情况下,确定与所述组件进行双向绑定的预设标签元素,获取所述预设标签元素关联的第三子结构化数据;在遍历到的所述第二级子标签元素为文本元素的情况下,获取所述文本元素关联的第四子结构化数据;根据所述第一子结构化数据、所述第二子结构化数据、所述预设结构化数据、所述第三子结构化数据、所述第四子结构化数据,确定所述第一结构化数据。
在本公开的一种示例性实施例中,基于前述方案,所述基于所述第三结构化数据渲染第二前端页面,包括:遍历所述第三结构化数据,根据遍历到的第三结构化数据生成前端页面的标签元素,以根据所述标签元素渲染第二前端页面;其中,在遍历到所述第三结构化数据中的目标子结构化数据的情况下,识别目标子结构化数据表征的组件类型,根据所述组件类型渲染所述目标子结构化数据表征的组件;所述目标子结构化数据包括所述第三结构化数据中数据类型为组件的子结构化数据。
在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:遍历所述第三结构化数据,根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级;基于所述层级为所述子结构化数据对应的标签元素配置层级标记,并将所述子结构化数据与其对应的标签元素进行关联。
在本公开的一种示例性实施例中,基于前述方案,所述根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级,包括:在遍历到第一目标子结构化数据的情况下,确定所述第一目标子结构化数据对应的标签元素的层级为第一层级标签元素;在遍历到第二目标子结构化数据的情况下,确定所述第二目标子结构化数据对应的标签元素的层级为第二层级标签元素;在遍历到第三目标子结构化数据的情况下,确定所述第三目标子结构化数据对应的标签元素的层级为第三层级标签元素;其中,所述第一目标子结构化数据表征前端页面的模块结构,所述第二目标子结构化数据表征前端页面的混合行结构,所述第三目标子结构化数据表征混合行结构内的行内容信息,所述行内容信息包括文本和/或组件。
在本公开的一种示例性实施例中,基于前述方案,所述响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表,包括:在所述第一前端页面处于可编辑模式的情况下,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表。
在本公开的一种示例性实施例中,基于前述方案,通过以下方式将所述富文本编辑器中的前端页面渲染为可编辑模式:响应对所述富文本编辑器中的预设控件的开启操作,将所述富文本编辑器中的前端页面渲染为可编辑模式;其中,所述预设控件与所述富文本编辑器中的预设变量关联,所述预设变量与所述前端页面中的标签元素的可编辑属性双向绑定。
在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:响应在所述第一前端页面的第三操作,显示所述第一前端页面的模块列表;响应对所述模块列表中的任一模块的删除操作,将所述模块从所述模块列表中删除。
在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:响应在第一前端页面中创建模块的第四操作,在所述第一前端页面的模块列表中添加创建的模块。
在本公开的一种示例性实施例中,基于前述方案,在基于所述第三结构化数据渲染第二前端页面后,所述方法还包括:在所述添加位置对应的页面标签元素之后设定光标。
在本公开的一种示例性实施例中,基于前述方案,所述方法还包括:响应在所述富文本器中的第五操作,根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述富文本编辑器中的当前前端页面的标签元素;根据遍历情况,生成所述当前前端页面的标签元素对应的第四结构化数据;其中,所述第五操作包括对所述富文本编辑器中的目标预设控件的触发操作。
根据本公开的第二方面,提供了一种基于富文本编辑器的文本结构化装置,包括:候选组件列表显示模块,被配置为响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;第一结构化数据确定模块,被配置为响应对所述候选组件列表中的目标组件的第二操作,确定所述第一前端页面的标签元素对应的第一结构化数据;添加位置确定模块,被配置为根据所述第一操作确定所述目标组件的添加位置;第三结构化数据生成模块,被配置为获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;第二前端页面渲染模块,被配置为基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面。
根据本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的方法。
根据本公开实施例的第四方面,提供了一种电子设备,包括:处理器;以及,存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的方法。
由上述技术方案可知,本公开示例性实施例中的基于富文本编辑器的文本结构化方法、基于富文本编辑器的文本结构化装置,以及实现所述基于富文本编辑器的文本结构化方法的计算机可读存储介质及电子设备,至少具备以下优点和积极效果:
在本公开的一些实施例所提供的技术方案中,在第一前端页面中插入目标组件时,先得到第一前端页面的第一结构化数据,再将目标组件的第二结构化数据插入到第一结构化数据中,以生成第三结构化数据,进而根据第三结构化数据渲染第二前端页面。一方面,本公开通过对结构化数据的更新,以及重新渲染,可以便于用户根据自己的需求随时在富文本编辑器中插入自己需要的组件,提高了富文本编辑效率和准确性;另一方面,本公开可以根据用户的编辑操作直接生成新的结构化数据,提高了结构化数据的生成效率,同时辅助提高了后续基于富文本编辑器中的编辑内容进行业务处理的效率。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一示例性实施例中基于富文本编辑器的文本结构化方法的流程示意图;
图2示出本公开一示例性实施例中处于可编辑模式的第一前端页面的示意图;
图3示出本公开一示例性实施例中的处于非编辑模式的第一前端页面的示意图;
图4示出本公开一示例性实施例中的显示了候选组件列表的第一前端页面的示意图;
图5示出本公开一示例性实施例中确定第一结构化数据的方法的流程示意图;
图6示出本公开一示例性实施例中前端页面的标签元素的层级关系示意图;
图7示出本公开一示例性实施例中根据遍历情况生成第一结构化数据的方法的流程图;
图8示出本公开一示例性实施例中的一种创建模块时的图形用户界面的示意图;
图9示出本公开一示例性实施例中的一种富文本编辑方法的流程示意图;
图10示出本公开一示例性实施例中基于富文本编辑器的文本结构化装置的结构示意图;
图11示出本公开示例性实施例中电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
富文本编辑器(RichText Editor,简称RTE)是一种可用于对网页中的文本进行编辑的编辑器。目前,富文本编辑器的使用已经越来越广泛。
目前,比较流行的富文本编辑器包括ckeditor、ueditor、tinymce等编辑器。以流调报告编辑为例,现有的流调报告编辑使用的是tinymce编辑器,编辑器用于流调报告模板生成人员进行编辑,生成一套模版供流调人员进行处理,但是流调人员只能针对模版中的“坑”来进行填充,也就是只能在对应文本框进行填写内容,然后输出一段HTML结构的文本字段。
这种方式灵活性较差,降低了传染病流调报告的编辑效率和准确性。同时,其只能输出HTML文本,而HTML文本只是一段字符串,无法输出可用于后续对数据进行分析处理的结构化数据。
在本公开的实施例中,首先提供了一种基于富文本编辑器的文本结构化方法,至少在一定程度上克服上述相关技术中存在的缺陷。
图1示出本公开一示例性实施例中基于富文本编辑器的文本结构化方法的流程示意图,参考图1,该方法包括:
步骤S110,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;
步骤S120,响应对所述候选组件列表中的目标组件的第二操作,确定所述第一前端页面的标签元素对应的第一结构化数据;
步骤S130,根据所述第一操作确定所述目标组件的添加位置;
步骤S140,获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;
步骤S150,基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面。
在图1所示实施例所提供的技术方案中,在第一前端页面中插入目标组件时,先得到第一前端页面的第一结构化数据,再将目标组件的第二结构化数据插入到第一结构化数据中,以生成第三结构化数据,进而根据第三结构化数据渲染第二前端页面。一方面,本公开通过对结构化数据的更新,以及重新渲染,可以便于用户根据自己的需求随时在富文本编辑器中插入自己需要的组件,提高了富文本编辑效率和准确性;另一方面,本公开可以根据用户的编辑操作直接生成新的结构化数据,提高了结构化数据的生成效率,同时辅助提高了后续基于富文本编辑器中的编辑内容进行业务处理的效率。
以下对图1所示实施例中各个步骤的具体实施方式进行详细阐述:
在步骤S110中,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表。
在一种示例性的实施方式中,第一操作可以包括在富文本编辑器的可编辑区域的任一位置进行点击的操作,如在富文本编辑器的可编辑区域中的任一位置右击鼠标或者左击鼠标的操作。当然,也可以包括其它的能够确定目标组件的添加位置的操作,本示例性实施方式对此不做特殊限定。
在一种示例性的实施方式中,第一前端页面可以包括富文本编辑器的可编辑区域所显示的页面,第一前端页面中可以展示各种文档的模板,如传染病流调报告模板,当然第一前端页面也可以展示其它的内容,本示例性实施方式对此不做特殊限定。
示例性的,步骤S110的具体实施方式可以包括:在所述第一前端页面处于可编辑模式的情况下,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表。
在一种示例性的实施方式中,通过以下方式将所述富文本编辑器中的前端页面渲染为可编辑模式:响应对所述富文本编辑器中的预设控件的开启操作,将所述富文本编辑器中的前端页面渲染为可编辑模式;其中,所述预设控件与所述富文本编辑器中的预设变量关联,所述预设变量与所述前端页面中的标签元素的可编辑属性双向绑定。
举例而言,可以在富文本编辑器中配置一预设控件,该预设控件用于控制富文本编辑器中的前端页面的编辑状态,开启该预设控件,可以将富文本编辑器中的前端页面渲染为可编辑模式,关闭该预设控件,可以将富文本编辑器中的前端页面渲染为非编辑模式。当前端页面处于非编辑模式时,用户无法对前端页面进行任何编辑操作。
以第一前端页面展示的是传染病流调报告、预设控件为图2和图3所示的前端页面中的“编辑报告”控件为例,图2和图3分别示出本公开一示例性实施例中处于可编辑模式和非编辑模式的第一前端页面的示意图。从图2和图3的对比可以看出,在预设控件处于如图2所示的开启状态21时,第一前端页面中的编辑框22和23都处于可编辑模式,此时,可以对前端页面中的编辑框中的内容进行编辑。在预设控件从图2所示的开启状态21切换为如图3所示的关闭状态31时,第一前端页面中的编辑框处于非编辑模式,此时,仅展示图2的编辑框22和23中的内容,而不能对其进行编辑。
举例而言,上述的可编辑属性可以理解为前端页面的标签元素的contenteditable属性。HTML中的contentEditable的属性可以打开元素的可编辑模式,contenteditable是浏览器的一个原生属性,值为true时表示该元素变为可编辑模式,可以进行前端页面,值为false时表示该元素为非编辑模式,仅展示页面的形式,可进行导出打印。然后,可以在富文本编辑器中设置一预设变量,如openEdit,并为富文本编辑器配置一预设控件,然后将预设变量的值和预设控件的状态进行关联,使得在预设控件处于开启状态时,预设变量的值为true,预设控件处于关闭状态时,预设变量的值为false。再可以通过Vue框架将预设变量openEdit与前端页面的标签元素的contenteditable属性进行双向绑定,这样,就可以通过改变预设变量的值来改变contenteditable属性的值,从而改变前端页面的标签元素的编辑状态。
其中,Vue是一套用于构建用户界面的渐进式框架。Vue具有双向绑定的特性,传统方式要更新数据,在拿到数据之后,需要将数据手动更新到控件的value值。但如果使用Vue,在当前绑定的值变化时,组件会自动更新。
如前所述,在富文本编辑器中的预设控件被打开时,就可以将富文本编辑器中的前端页面渲染为编辑模式。在前端页面处于编辑模式的情况下,就可以在前端页面中插入目标组件。其中,组件可以理解为编辑框,如选择框、输入框等。
组件(Component)是Vue.js最强大的功能之一。组件可以扩展HTML标签元素,封装可重用的代码,组件也可以是独立的。vue组件是把页面(html代码,CSS代码)进行模块化。
示例性的,以第一前端页面展示的是传染病流调报告为例,图4示出本公开一示例性实施例中的显示了候选组件列表的第一前端页面的示意图。参考图4,候选组件列表41中包括了用户自定义创建的组件的标识,如“疫苗接种剂次、疫苗接种日期、疫苗厂家”等组件标识。
举例而言,用户可以预先配置候选组件列表中的候选组件,即候选组件列表中的候选组件可以根据用户需求由用户自定义创建。
在一种示例性的实施方式中,候选组件列表中可以包括待插入的候选组件,还可以包括候选组件创建控件,其中,候选组件创建控件用于用户在候选组件列表中添加控件。
例如,响应用户对候选组件列表中的创建控件的触发操作,可以显示一用于添加组件的交互界面,用户在该交互界面中可以填写组件名称、组件描述、组件对应的代码等信息,然后再点击交互界面中的确认创建控件,就可以将用户在交互界面中填写的组件添加到候选组件列表中。
接下来,继续参考图1,在步骤S120中,响应对所述候选组件列表中的目标组件的第二操作,确定所述第一前端页面的标签元素对应的第一结构化数据。
在一种示例性的实施方式中,第二操作可以包括在候选组件列表中对目标控件的选择操作,该选择操作可以包括点击目标控件的操作、以任意轨迹触发目标控件的操作等。其中,目标组件可以包括候选组件列表中的任一组件。
在一种示例性的实施方式中,第一结构化数据可以包括第一前端页面的标签元素对应的json(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据交换格式)格式的结构化数据。当然,第一结构化数据可以包括其它格式可以与前端页面的标签元素进行相互转换的结构化数据格式,本示例性实施方式对此不做特殊限定。
示例性的,图5示出本公开一示例性实施例中确定第一结构化数据的方法的流程示意图。参考图5,该方法可以包括步骤S510至步骤S520。
其中:
在步骤S510中,根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述第一前端页面的标签元素。
举例而言,要生成结构化数据,富文本编辑器中的HTML标签元素的嵌套关系需符合预设层级关系。每个层级的标签元素与其对应层级的子结构化数据进行绑定。
图6示出本公开一示例性实施例中前端页面的标签元素的预设层级关系示意图。参考图6,前端页面的标签元素的预设层级关系包括第一层级标签元素、第二层级标签元素、第三层级标签元素。其中,第一层级标签元素是第二层级标签元素的父层级标签元素,第二层级标签元素是第三层级标签元素的父层级标签元素。
前端页面的标签元素可以配置有层级标记,每个标签元素配置的层级标记用于表征该标签元素的层级,即表征该标签元素属于第一层级标签元素、第二层级标签元素、第三层级标签元素中的哪一种。该层级标记可以是一个与标签元素绑定的字段,字段的不同取值代表不同的层级。
在一种示例性的实施方式中,第一层级标签元素可以包括第一前端页面中的模块结构标签元素。其中,模块结构标签元素可以理解为表征模块结构的标签元素,模块结构标签元素对应的子结构化数据可以包括模块类型、模块中的内容的展示样式等信息。每个模块结构标签元素对应前端页面中的一个展示模块,模块结构用来约定该模块的展示样式。
模块类型可以包括:一级标题、二级标题、三级标题、正文、落款等。模块类型的值可以根据需求进行自定义,通过模块类型的值可以为模块赋予不同的意义。
以传染病流调报告为例,模块类型的值可以包括:报告标题、前言、基本信息、疫苗接种情况、发现方式、同住人信息、发病就诊情况等,如模块类型的值为“报告标题”时,表示该模块用于展示报告标题信息,模块类型的值为“前言”时,表示该模块中用于展示前言内容等。
模块结构可以理解为一种组件,而不同模块结构中的具体内容信息也不一样。模块结构中的具体内容信息可以理解为模块结构对应的组件的子级组件。每个模块结构对应的组件的子级组件包括第一级子组件和第二级子组件。第二层级标签元素可以理解为第一级子组件,第三层级标签元素可以理解为第二级子组件。
其中,第二层级标签元素可以包括模块内的行结构对应的标签元素,行结构用于为表征当前行的结构,行结构可以包括混合行结构。混合行结构用于表征前面页面的行数据可以是文本和组件的组合,即混合行的行内容信息包括文本信息和/或组件信息。第三层级标签元素可以包括每行的具体内容信息对应的标签元素。其中,每行的具体内容信息可以包括文本信息和/或组件信息。
行结构用于区分不同行的展示内容。以行结构1,展示内容1,行结构2,展示内容2为例,通过行结构1和行结构2,就可以将展示内容1和展示内容2渲染在不同的行。
举例而言,每个模块可以有多个行,行内的字段多了就可以成为一个段落,独立一行也可以称为第一段落。以预设标识来标识行结构,如可以用blend-line来标识为一行,即当结构化数据中出现blend-line时,就表示一个新的行结构,即在前端页面中是新的一行。行内容可以理解为行结构的子层级。行内容可以包括普通文本和/或组件。其中,行内的组件可以包括多种类型,如输入框、下拉列表、时间选择框等等,这些组件可以根据数据给的参数配置来生成不同的提示、选项、格式等等。组件的类型可以通过不同的组件标记确定,比如组件标记的前缀为“report-”的,后缀为input的就是一个输入框组件、后缀为datetime的就是时间框组件、后缀为select的就是一个下拉列表。通过组件选项配置字段,如otherData就可以配置选择框的选项等。
在一种示例性的实施方式中,步骤S510中的第一级子标签元素可以理解为第一层级标签元素的子标签元素,第二级子标签元素可以理解为第一级子标签元素的子标签元素。
示例性的,可以遍历第一前端页面的标签元素中的第一层级标签元素,针对遍历到的每个第一层级标签元素,可以继续遍历该第一层级标签元素内的第一级子标签元素,针对遍历到的每个第一级子标签元素,可以继续遍历该第一级子标签元素内的第二级子标签元素。遍历完一个第一层级标签元素及其子标签元素后,再继续遍历下一个第一层级标签元素及其子标签元素。
接下来,在步骤S520中,根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据。
示例性的,步骤S520的具体实施方式可以参考图7所示。图7示出本公开一示例性实施中根据遍历情况生成第一结构化数据的方法的流程图。参考图7,该方法可以包括步骤S710至步骤S780。
在步骤S710中,在遍历到第一层级标签元素的情况下,获取所述第一层级标签元素关联的第一子结构化数据。
举例而言,可以使用document.querySelector来获取不同层级的标签元素上绑定的子结构化的数据,以生成结构化数据。
在遍历到第一层级标签元素的情况下,可以直接获取绑定在第一层板标签元素上的第一子结构化数据。然后,在步骤S720中继续遍历第一层级标签元素的第一级子标签元素,并确定第一级子标签元素的类型。
在步骤S720中,遍历所述第一层级标签元素的第一级子标签元素,确定所述第一级子标签元素的类型。
举例而言,由于用户在前端页面中可能会进行删除操作或换行操作等,而用户的删除操作可能删除上述的第二层级标签元素,这样,第一层级标签元素的第一级子标签元素就可能直接是上述的第三层级标签元素,同样的,用户的换行操作可能会增加换行标签,且改变前端的行数据,这样,第一层级标签元素的第一级子标签元素可能是换行标签元素。
换言之,用户在前端页面中的操作行为,会使得前端页面的第一层级标签元素的第一级子标签元素的类型可能是第二层级标签元素、第三层级标签元素、换行标签元素中的任一种。
为了可以实现前端页面的标签元素到结构化数据的直接转换,以及根据结构化数据可以准确的渲染出前端页面,结构化数据也需要对应的符合上述的三级层级关系。所以在遍历到第一层级标签元素的第一级子标签元素时,要根据第一级子标签元素的类型,确定是否需要把不符合三级层级关系的结构转换成结构化数据。
示例性的,在第一级子标签元素是第二层级标签元素时,转至步骤S730,否则,转至步骤S740。
接下来,在步骤S730中,在所述第一级子标签元素的类型是第二层级标签元素的情况下,获取遍历到的所述第一级子标签元素关联的第二子结构化数据。
举例而言,在所述第一级标签元素的类型是第二层级标签元素的情况下,就表明第一层级标签元素的子标签元素是第二层级标签元素,也就是说,表征模块结构的标签元素的子标签元素是表征行结构的标签元素,即当前层级的关系符合预设层级关系,所以可以直接获取当前遍历到的第一级子标签元素关联的第二子结构化数据。
在步骤S740中,在遍历到的所述第一级子标签元素的类型不是第二层级标签元素的情况下,获取为所述第二层级标签元素配置的预设结构化数据。
根据上述的预设层级关系,第一层级标签元素的子标签元素,即第一级子标签元素,应该是第二层级标签元素,如果不是第二层级标签元素,则说明第二层级标签元素可能因为用户的删除操作而被删除或者因为用户的换行操作添加了换行标签元素。
即,在第一层级标签元素的第一级子标签元素不是第二层级标签元素的情况下,就说明当前层级的关系不符合预设层级关系,为了使其满足预设层级关系,所以需要补全第二层级标签元素对应的子结构化数据,即,此时可以获取为第二层级标签元素配置的预设结构化数据。
其中,预设结构化数据可以理解为用于表征行结构的子结构化数据。即预设结构化数据可以表明在前端页面中需要渲染新的一行。如预设结构化数据可以是如下大括号中的内容。
{“type”:“blend-line”,
“key”:“”,
“class”:“”,
}
其中,“blend-line”表明新的一行是混合行结构,即新的一行中的内容信息可以包括文本和/或组件,当出现混合行结构对应的子结构化数据时,就代表前端页面中需要在新的一行中渲染新的内容。
在步骤S750中,遍历所述第一层级标签元素的第二级子标签元素,确定所述第二级子标签元素的类型。
举例而言,在获取到第二子结构化数据或预设结构化数据的情况下,可以继续遍历第一级子标签元素的子标签元素,即第二级子标签元素。第二级子标签元素即第二层级标签元素内的第三层级标签元素。
如前所述,第三层级标签元素对应的结构化数据表征当前行中的行内容信息。而行内容信息可以包括文本和/或组件信息,即某行的具体内容可能时一个纯文本,也可能只有组件,还可能既有文本又有组件。所以,在遍历到第二级子标签元素时,确定第二级子标签元素的类型,根据类型获取第二级标签元素的子结构化数据。
接下来,在步骤S760中,在遍历到的所述第二级子标签元素为组件的情况下,确定与所述组件进行双向绑定的预设标签元素,获取所述预设标签元素关联的第三子结构化数据。
在一种示例性的实施方式中,可以将预设标签元素作为组件的外层,并基于Vue的双向绑定特性,将预设标签元素和组件进行双向绑定,在组件内部产生的数据都会反馈到预设标签元素上。即每个组件对应的元素都可以与预设标签元素进行双向绑定。这样,就形成了解耦特性,所以,在获取组件对应的结构化数据时,只需要获取预设标签元素关联的数据即可,不需要深入到组件内部。
通过将预设标签元素和组件进行双向绑定,使得数据的操作层和转换层不必构成硬编码关系,用户操作时的数据同步到预设标签元素,转换成结构化数据时,基于预设标签元素所关联的结构化数据得到用户操作的数据。且以后更换或者改变组件的操作方式也仅仅只是改变了内部的组件,对外层均无影响,即不影响组件对应的结构化数据的获取方式,便于组件的扩展。
基于此,在遍历到的第二级子标签元素为组件的情况下,可以确定与组件进行双向绑定的预设标签元素,然后获取预设标签元素当前关联的第三子结构化数据,从而得到组件对应的子结构化数据。其中,组件可以理解为编辑框,如选择框、输入框、下来列表等。
在步骤S770中,在遍历到的所述第二级子标签元素为文本元素的情况下,获取所述文本元素关联的第四子结构化数据。
举例而言,在遍历到的第二级子标签元素为文本元素的情况下,则直接获取文本元素关联的第四子结构化数据即可。
继续参考图7,在步骤S780中,根据所述第一子结构化数据、所述第二子结构化数据、所述预设结构化数据、所述第三子结构化数据、所述第四子结构化数据,确定所述第一结构化数据。
在一种示例性的实施方式中,基于上述的步骤S710至步骤S770,和每个第一层级标签元素,遍历完所有的三级层级关系对应的标签元素,就可以得到第一结构化数据。
举例而言,在生成第一结构化数据时,从第一层级标签元素开始遍历,使用document.querySelector来获取对应层级关系的标签元素上绑定的结构化数据,以生成第一结构化数据。其中,标签元素上绑定的数据就可以理解为与标签元素关联的结构化数据。
通过上述的步骤S710至步骤S780,可以直接生成前端页面对应的结构化数据。且生成的结构化数据符合与前端页面的标签元素对应的三级层级关系,这样,便于后续基于结构化数据直接进行前端页面的渲染。
接下来,继续参考图1,在步骤S130中,根据所述第一操作确定所述目标组件的添加位置。
示例性的,可以根据第一操作的操作位置确定目标组件的添加位置。如第一前端页面中的某个模块的某行的具体内容信息为“关于一例A疾病的病例的流调报告”。第一操作的操作位置在“病”和“的”之间,则确定目标组件的添加位置在“病”和“的”之间。
其中,可以使用window.getSelection来获取添加位置。
接下来,在步骤S140中,获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据。
示例性的,可以获取预先为目标组件配置的第二结构化数据,然后根据在第一结构化数据中找到步骤S130中确定的添加位置,将第二结构化数据添加到添加位置处,以生成第三结构化数据。换言之,第三结构化数据中包括了目标组件的结构化数据和第一前端页面的结构化数据。
接下来,在步骤S150中,基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面。
在一种示例性的实施方式中,步骤S150的具体实施方法可以包括:遍历所述第三结构化数据,根据遍历到的第三结构化数据生成前端页面的标签元素,以根据所述标签元素渲染第二前端页面;其中,在遍历到所述第三结构化数据中的目标子结构化数据的情况下,识别所述目标子结构化数据表征的组件类型,根据所述组件类型渲染所述目标子结构化数据表征的组件;所述目标子结构化数据包括所述第三结构化数据中数据类型为组件的子结构化数据。
举例而言,可以遍历第三结构化数据,将遍历到的第三结构化数据渲染成为前端页面的标签元素,从而生成第二前端页面。在遍历到表征前端页面的行内的具体内容信息的结构化数据时,如果该结构化数据中包括组件类型的结构化数据,则可以根据Vue的components(组件)属性,注册一系列的编辑类型组件,使用components(组件)特性识别不同的组件类型,来渲染不同的组件。
如前所述,第三结构化数据中包括了目标组件的结构化数据和第一前端页面的结构化数据,那么,根据第三结构化数据就可以渲染出包括目标组件的第二前端页面。这样,就实现了对富文本编辑器中的前端页面的编辑。
在一种示例性的实施方式中,由于在Vue框架下重新渲染信页面会覆盖掉光标,使光标失效。所以在渲染第二前端页面之后,可以在添加位置对应的页面标签元素之后设定光标。
其中,光标(cursor)也被称为游标。当在一个文本框或某种程序中添加内容时,如输入文本框、输入文字、插入图片时,可以用光标来显示将要添加的位置。光标可以是一个规则闪动的小竖线,也可以是其它的形式,本示例性实施方式对此不做特殊限定。
示例性的,还可以将遍历到的子结构化数据和其对应的标签元素进行关联。这样,在后续生成前端页面的结构化数据时,就可以根据遍历到的标签元素关联的结构化数据,直接生成前端页面的结构化数据。
基于此,本公开的基于富文本编辑器的文本结构化方法还可以包括:遍历所述第三结构化数据,根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级;基于所述层级为所述子结构化数据对应的标签元素配置层级标记,并将所述子结构化数据与其对应的标签元素进行关联。
示例性的,所述根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级,包括:在遍历到第一目标子结构化数据的情况下,确定所述第一目标子结构化数据对应的标签元素的层级为第一层级标签元素;在遍历到第二目标子结构化数据的情况下,确定所述第二目标子结构化数据对应的标签元素的层级为第二层级标签元素;在遍历到第三目标子结构化数据的情况下,确定所述第三目标子结构化数据对应的标签元素的层级为第三层级标签元素。
其中,所述第一目标子结构化数据表征前端页面的模块结构,所述第二目标子结构化数据表征前端页面的混合行结构,所述第三目标子结构化数据表征混合行结构内的行内容信息,所述行内容信息包括文本和/或组件。
在子结构化数据表征前端页面的组件的情况下,子结构化数据对应的标签元素与预设标签元素进行双向绑定,即内部的组件产生的数据都可以反馈到预设标签元素上。这样,在将前端页面转换为结构化数据时,就可以通过预设标签元素获取到组件标签元素对应的结构化数据。
举例而言,第三结构化数据的类型可以包括表征前端页面的模块结构的第一目标子结构化数据,表征前端页面的混合行结构的第二目标子结构化数据,表征混合行结构内的具体行内容信息的第三目标子结构化数据。其中,第一目标子结构化数据与第一层级标签元素关联,第二目标子结构化数据与第二层级标签元素关联,第三目标子结构化数据与第三层级标签元素关联。
在一种示例性的实施方式中,本公开中的基于富文本编辑器的文本结构化方法还可以包括:响应在所述第一前端页面的第三操作,显示所述第一前端页面的模块列表;响应对所述模块列表中的任一模块的删除操作,将所述模块从所述模块列表中删除。
其中,第三操作可以包括能够呼出第一前端页面的模块列表的操作。如点击第一预设控件的操作,以任一预设轨迹点击第一预设控件的操作,以任一预设轨迹进行滑动的操作等。
参考图8,第一预设控件可以为图8中的控件81。当用户将鼠标放置在“报告标题”字样上时,就可以显示图8中的控件81。然后,用户可以点击控件81,就可以显示出模块列表82。模块列表82中的每个模块都关联有编辑控件83和删除控件84。响应对删除控件84的触发操作,就可以将该模块从模块列表中删除。
响应对编辑控件83的触发操作,就可以显示模块编辑界面,然后在模块编辑界面中已有的模块进行修改,如修改模块的整体样式、名称、描述等信息。
在一种示例性的实施方式中,本公开中的基于富文本编辑器的文本结构化方法还可以包括:响应在第一前端页面中创建模块的第四操作,在所述第一前端页面的模块列表中添加创建的模块。
继续以图8为例,显示的模块列表82中不仅包括有当前已有的模块,还包括第二预设控件,如图8中的85,即“+没有可选择的?创建模板”所表示的控件。当用户触发第二预设控件时,就可以在富文本编辑器中显示模块创建界面。模块创建界面中可以包括模块类型输入框、模块说明输入框、模块整体样式选择框和“创建”控件以及“关闭”控件。其中,模块类型输入框用于输入模块的标识,即表征模块含义的标识,如报告标题、基本信息等不同类型。当用户在模块创建界面中填写完模块类型、模块说明和模块整体样式后,可以点击“创建”控件,就可以将创建的模块添加在模块列表中。
在第一前端页面中创建模块的第四操作,可以理解为在模块创建界面中点击“创建”控件的操作,当用户在模块创建界面中点击“创建”控件时,就可以根据用户填写的内容创建模块。
以第一前端页面中显示的是传染病流调报告模板为例,模块可以理解为传染病流调报告模板中的各个待填写项目。如报告标题、基本信息、接种疫苗情况等项目。
在一种示例性的实施方式中,第一前端页面中的每个已有模块的模块标识下方都配置有一个如图8所示的第一预设控件。正常情况下处于隐藏状态,当触发对应的模块标识时,该模块标识下方的第一预设控件就可以显示出来。当用户想要在某个模块之后添加模块时,就可以点击该模块标识下方的第一预设控件,这样,新创建的模块就会被添加在该模块之后。
换言之,每个已有模块标识下方都配置有第一预设控件,该第一预设控件可以用于确定用户自定义创建的模块的添加位置。
在一种示例性的实施方式中,本公开中的基于富文本编辑器的文本结构化方法还可以包括:响应在所述富文本器中的第五操作,根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述富文本编辑器中的当前前端页面的标签元素;根据遍历情况,生成所述当前前端页面的标签元素对应的第四结构化数据。
在一种示例性的实施方式中,可以在富文本编辑器中配置目标预设控件,如图2中的“发布”控件24。上述的第五操作可以包括对富文本编辑器中配置的目标预设控件的触发操作,如,对图2中的“发布”控件24的触发操作。
举例而言,由于组件进行了双向绑定,所以当用户在前端页面中对组件进行编辑时,可以实时自动的确定用户编辑的组件对应的结构化数据,而前端页面中的纯文本没有进行双向绑定,所以当用户对模板中的文本内容进行编辑或者修改时,无法直接自动的将用户编辑或者修改的文本转换为结构化数据。
基于此,可以在富文本编辑器中配置目标预设控件,当用户触发目标预设控件时,可以遍历当前前端页面的标签元素,然后生成结构化数据,此时,遍历的当前前端页面的标签元素中就包括了用户编辑的文本对应的标签元素,所以生成的结构化数据中就包括了用户编辑的文本对应的结构化数据。
换言之,在本公开,组件进行了双向绑定,所以响应用户对组件的操作,如插入、删除、修改、填写内容等操作,可以根据用户对组件的操,自动的更新前端页面的结构化数据。而对文本数据没有办法进行双向绑定,所以在用户对文本数据进行编辑时,无法直接根据用户对文本数据的编辑操作更新前端页面的结构化数据。但可以通过用户在富文本编辑器中的第五操作,遍历当前前端页面的标签元素,以生成最终的结构化数据。这样,最终的结构化数据中包括了用户所编辑的文本对应的结构化数据。
生成当前前端页面的标签元素对应的第四结构化数据的具体实施方式,可以参考上述的生成第一前端页面的标签元素对应的具体实施方式,此处不再进行赘述。
进一步的,图9示出本公开一示例性实施例中的一种富文本编辑方法的流程示意图。参考图9,该方法可以包括步骤S910至步骤S960。
在步骤S910中,获取初始的结构化json数据;
在步骤S920中,根据结构化json数据渲染对应层级的HTML标签元素;
在步骤S930中,判断是否插入目标组件,如果是,则转至步骤S940,否则转至步骤S960;
在步骤S940中,获取组件的HTML标签对应的结构化json数据,将组件的结构化json数据插入到初始的结构化json数据中,以更新初始的结构化json数据,并根据更新后的结构化json数据渲染前端页面;
在步骤S950中,判断是否继续编辑,如果是,则转至步骤S930,如果否,则转至步骤S960;
在步骤S960中,遍历当前前端页面的HTML标签元素,以生成待导出的结构化json数据。
举例而言,可以先在富文本编辑器中导入初始的结构化json数据,然后根据初始的结构化json数据对应的标签元素的层级,渲染对应层级的标签元素,以得到初始的前端页面。
用户可以在初始的前端页面中插入组件,如,响应用户的右键操作,可以显示候选组件列表,并判断是否插入目标组件,如果检测到用户在候选组件列表中的选择操作,就判断插入目标组件,如果未检测到用户在候选组件列表中的选择操作,就判断不插入目标组件。
如果判断插入目标组件,就可以获取目标组件对应的结构化json数据,然后根据用户的右键位置确定插入位置,基于插入位置将目标组件对应的结构化json数据插入到初始的结构化json数据中,以更新初始的结构化json数据。
判断用户是否继续进行编辑,如,可以检测是否发生上述的第五操作,如果监测到第五操作,就判断不继续进行编辑,如果未监测到第五操作,就判断继续进行编辑。
如果判断不继续进行编辑,则可以遍历当前前端页面的HTML标签元素,以生成用户在初始的前端页面中的已有编辑结果对应的结构化数据。即,可以直接生成用户的编辑操作对应的结构化数据。
本公开中,在插入组件时,先将编辑器内的前端页面的标签元素转换成对应的结构化数据,再将插入组件的结构化数据插入到前端页面的标签元素对应的结构化数据中,以组成新的结构化数据,再整体渲染带有要插入组件的结构化数据到前端页面上,从而组成新的前端页面的展示形式,进而满足用户对前端页面实时编辑的需求,提高了前端页面的编辑效率和编辑准确性。
本公开可以实现普通文本和组件的混合编辑,可以在填写内容中添加编辑框,能够修改普通文本内容,能够配置编辑框的类型并赋予编辑框属性,提高前端页面编辑的灵活性和丰富性。
同时,在本公开中既可以根据结构化数据正向渲染HTML标签元素,以生成前端页面,又可以直接将前端页面的HTML标签转换为结构化数据,提高了结构化数据的生成效率。为后续基于结构化数据进行数据分析的业务场景提供了极大的便利。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图10示出本公开示例性实施例中基于富文本编辑器的文本结构化装置的结构示意图。参考图10,该基于富文本编辑器的文本结构化装置1000可以包括候选组件列表显示模块1010、第一结构化数据确定模块1020、添加位置确定模块1030、第三结构化数据生成模块1040、第二前端页面渲染模块1050。
候选组件列表显示模块1010,被配置为响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;
第一结构化数据确定模块1020,被配置为响应对所述候选组件列表中的目标组件的第二操作,确定所述第一前端页面的标签元素对应的第一结构化数据;
添加位置确定模块1030,被配置为根据所述第一操作确定所述目标组件的添加位置;
第三结构化数据生成模块1040,被配置为获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;
第二前端页面渲染模块1050,被配置为基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面。
在本公开的一些示例性实施例中,基于前述实施例,所述第一结构化数据确定模块可以被具体配置为:根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述第一前端页面的标签元素;根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据;其中,所述第一层级标签元素包括所述第一前端页面中的模块结构标签元素。
在本公开的一些示例性实施例中,基于前述实施例,所述根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据,包括:在遍历到第一层级标签元素的情况下,获取所述第一层级标签元素关联的第一子结构化数据;在遍历到的所述第一级子标签元素的类型是第二层级标签元素的情况下,获取遍历到的所述第一级子标签元素关联的第二子结构化数据;在遍历到的所述第一级子标签元素的类型不是第二层级标签元素的情况下,获取为所述第二层级标签元素配置的预设结构化数据;在遍历到的所述第二级子标签元素为组件的情况下,确定与所述组件进行双向绑定的预设标签元素,获取所述预设标签元素关联的第三子结构化数据;在遍历到的所述第二级子标签元素为文本元素的情况下,获取所述文本元素关联的第四子结构化数据;根据所述第一子结构化数据、所述第二子结构化数据、所述预设结构化数据、所述第三子结构化数据、所述第四子结构化数据,确定所述第一结构化数据。
在本公开的一些示例性实施例中,基于前述实施例,所述第二前端页面渲染模块1050可以被具体配置为:遍历所述第三结构化数据,根据遍历到的第三结构化数据生成前端页面的标签元素,以根据所述标签元素渲染第二前端页面;其中,在遍历到所述第三结构化数据中的目标子结构化数据的情况下,识别所述目标子结构化数据表征的组件类型,根据所述组件类型渲染所述目标子结构化数据表征的组件;所述目标子结构化数据包括所述第三结构化数据中数据类型为组件的子结构化数据。
在本公开的一些示例性实施例中,基于前述实施例,所述装置还包括关联模块,所述关联模块被配置为:遍历所述第三结构化数据,根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级;基于所述层级为所述子结构化数据对应的标签元素配置层级标记,并将所述子结构化数据与其对应的标签元素进行关联。
在本公开的一些示例性实施例中,基于前述实施例,所述根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级,包括:在遍历到第一目标子结构化数据的情况下,确定所述第一目标子结构化数据对应的标签元素的层级为第一层级标签元素;在遍历到第二目标子结构化数据的情况下,确定所述第二目标子结构化数据对应的标签元素的层级为第二层级标签元素;在遍历到第三目标子结构化数据的情况下,确定所述第三目标子结构化数据对应的标签元素的层级为第三层级标签元素;其中,所述第一目标子结构化数据表征前端页面的模块结构,所述第二目标子结构化数据表征前端页面的混合行结构,所述第三目标子结构化数据表征混合行结构内的行内容信息,所述行内容信息包括文本和/或组件。
在本公开的一些示例性实施例中,基于前述实施例,候选组件列表显示模块1010还可以被具体配置为:在所述第一前端页面处于可编辑模式的情况下,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表。
在本公开的一些示例性实施例中,基于前述实施例,通过以下方式将所述富文本编辑器中的前端页面渲染为可编辑模式:响应对所述富文本编辑器中的预设控件的开启操作,将所述富文本编辑器中的前端页面渲染为可编辑模式;其中,所述预设控件与所述富文本编辑器中的预设变量关联,所述预设变量与所述前端页面中的标签元素的可编辑属性双向绑定。
在本公开的一些示例性实施例中,基于前述实施例,所述基于富文本编辑器的文本结构化装置还可以包括模块删除模块,所述模块删除模块可以被具体配置为:响应在所述第一前端页面的第三操作,显示所述第一前端页面的模块列表;响应对所述模块列表中的任一模块的删除操作,将所述模块从所述模块列表中删除。
在本公开的一些示例性实施例中,基于前述实施例,所述基于富文本编辑器的文本结构化装置还可以包括模块创建模块,所述模块创建模块可以被配置为:响应在第一前端页面中创建模块的第四操作,在所述第一前端页面的模块列表中添加创建的模块。
在本公开的一些示例性实施例中,基于前述实施例,所述基于富文本编辑器的文本结构化装置还可以包括光标设定模块,该模块可以被具体配置为:在所述添加位置对应的页面标签元素之后设定光标。
在本公开的一些示例性实施例中,基于前述实施例,所述基于富文本编辑器的文本结构化装置还可以包括第四结构化数据生成模块,该模块可以被配置为:响应在富文本器中的第五操作,根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述富文本编辑器中的当前前端页面的标签元素;根据遍历情况,生成所述当前前端页面的标签元素对应的第四结构化数据;其中,所述第五操作包括对所述富文本编辑器中的目标预设控件的触发操作。
上述基于富文本编辑器的文本结构化装置中各模块的具体细节已经在对应的基于富文本编辑器的文本结构化方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
本公开的实施方式还可以包括一种用于实现上述方法的程序产品,该程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图11来描述根据本公开的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130以及显示单元1140。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图1中所示的各个步骤。
存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(ROM)11203。
存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (15)
1.一种基于富文本编辑器的文本结构化方法,其特征在于,包括:
响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;
响应对所述候选组件列表中的目标组件的第二操作,遍历所述第一前端页面的标签元素,根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据;
根据所述第一操作确定所述目标组件的添加位置;
获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;
基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面;
其中,所述根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据,包括:
在遍历到第一层级标签元素的情况下,获取所述第一层级标签元素关联的第一子结构化数据;
遍历所述第一层级标签元素的第一级子标签元素,在遍历到的所述第一级子标签元素的类型是第二层级标签元素的情况下,获取遍历到的所述第一级子标签元素关联的第二子结构化数据;
在遍历到的所述第一级子标签元素的类型不是第二层级标签元素的情况下,获取为所述第二层级标签元素配置的预设结构化数据;
在遍历到第一层级标签元素的第二级子标签元素时,确定第二级子标签元素的类型,根据类型获取第二级标签元素的子结构化数据;
根据所述第一子结构化数据、所述第二子结构化数据、所述预设结构化数据、所述第二级标签元素的子结构化数据,确定所述第一结构化数据。
2.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述遍历所述第一前端页面的标签元素,包括:
根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述第一前端页面的标签元素;
其中,所述第一层级标签元素包括所述第一前端页面中的模块结构标签元素。
3.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述根据类型获取第二级标签元素的子结构化数据,包括:
在遍历到的所述第二级子标签元素为组件的情况下,确定与所述组件进行双向绑定的预设标签元素,获取所述预设标签元素关联的第三子结构化数据;
在遍历到的所述第二级子标签元素为文本元素的情况下,获取所述文本元素关联的第四子结构化数据。
4.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述基于所述第三结构化数据渲染第二前端页面,包括:
遍历所述第三结构化数据,根据遍历到的第三结构化数据生成前端页面的标签元素,以根据所述标签元素渲染第二前端页面;
其中,在遍历到所述第三结构化数据中的目标子结构化数据的情况下,识别所述目标子结构化数据表征的组件类型,根据所述组件类型渲染所述目标子结构化数据表征的组件;
所述目标子结构化数据包括所述第三结构化数据中数据类型为组件的子结构化数据。
5.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述方法还包括:
遍历所述第三结构化数据,根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级;
基于所述层级为所述子结构化数据对应的标签元素配置层级标记,并将所述子结构化数据与其对应的标签元素进行关联。
6.根据权利要求5所述的基于富文本编辑器的文本结构化方法,其特征在于,所述根据遍历到的子结构化数据的类型,确定所述子结构化数据对应的标签元素的层级,包括:
在遍历到第一目标子结构化数据的情况下,确定所述第一目标子结构化数据对应的标签元素的层级为第一层级标签元素;
在遍历到第二目标子结构化数据的情况下,确定所述第二目标子结构化数据对应的标签元素的层级为第二层级标签元素;
在遍历到第三目标子结构化数据的情况下,确定所述第三目标子结构化数据对应的标签元素的层级为第三层级标签元素;
其中,所述第一目标子结构化数据表征前端页面的模块结构,所述第二目标子结构化数据表征前端页面的混合行结构,所述第三目标子结构化数据表征混合行结构内的行内容信息,所述行内容信息包括文本和/或组件。
7.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表,包括:
在所述第一前端页面处于可编辑模式的情况下,响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表。
8.根据权利要求7所述的基于富文本编辑器的文本结构化方法,其特征在于,通过以下方式将所述富文本编辑器中的前端页面渲染为可编辑模式:
响应对所述富文本编辑器中的预设控件的开启操作,将所述富文本编辑器中的前端页面渲染为可编辑模式;
其中,所述预设控件与所述富文本编辑器中的预设变量关联,所述预设变量与所述前端页面中的标签元素的可编辑属性双向绑定。
9.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述方法还包括:
响应在所述第一前端页面的第三操作,显示所述第一前端页面的模块列表;
响应对所述模块列表中的任一模块的删除操作,将所述模块从所述模块列表中删除。
10.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述方法还包括:
响应在第一前端页面中创建模块的第四操作,在所述第一前端页面的模块列表中添加创建的模块。
11.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,在基于所述第三结构化数据渲染第二前端页面后,所述方法还包括:
在所述添加位置对应的页面标签元素之后设定光标。
12.根据权利要求1所述的基于富文本编辑器的文本结构化方法,其特征在于,所述方法还包括:
响应在所述富文本编辑器中的第五操作,根据第一层级标签元素、所述第一层级标签元素的第一级子标签元素、所述第一层级标签元素的第二级子标签元素的顺序,遍历所述富文本编辑器中的当前前端页面的标签元素;
根据遍历情况,生成所述当前前端页面的标签元素对应的第四结构化数据;
其中,所述第五操作包括对所述富文本编辑器中的目标预设控件的触发操作。
13.一种基于富文本编辑器的文本结构化装置,其特征在于,包括:
候选组件列表显示模块,被配置为响应在富文本编辑器的第一前端页面的第一操作,在所述第一前端页面中显示候选组件列表;
第一结构化数据确定模块,被配置为响应对所述候选组件列表中的目标组件的第二操作,遍历所述第一前端页面的标签元素,根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据;
添加位置确定模块,被配置为根据所述第一操作确定所述目标组件的添加位置;
第三结构化数据生成模块,被配置为获取所述目标组件对应的第二结构化数据,根据所述添加位置将所述第二结构化数据插入到所述第一结构化数据中,以生成第三结构化数据;
第二前端页面渲染模块,被配置为基于所述第三结构化数据渲染第二前端页面,以在所述富文本编辑器中显示所述第二前端页面;
其中,所述根据遍历情况,确定所述第一前端页面的标签元素对应的第一结构化数据,包括:
在遍历到第一层级标签元素的情况下,获取所述第一层级标签元素关联的第一子结构化数据;
遍历所述第一层级标签元素的第一级子标签元素,在遍历到的所述第一级子标签元素的类型是第二层级标签元素的情况下,获取遍历到的所述第一级子标签元素关联的第二子结构化数据;
在遍历到的所述第一级子标签元素的类型不是第二层级标签元素的情况下,获取为所述第二层级标签元素配置的预设结构化数据;
在遍历到第一层级标签元素的第二级子标签元素时,确定第二级子标签元素的类型,根据类型获取第二级标签元素的子结构化数据;
根据所述第一子结构化数据、所述第二子结构化数据、所述预设结构化数据、所述第二级标签元素的子结构化数据,确定所述第一结构化数据。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至12中任一项所述的方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058751.XA CN115309298B (zh) | 2022-08-30 | 2022-08-30 | 基于富文本编辑器的文本结构化方法及装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211058751.XA CN115309298B (zh) | 2022-08-30 | 2022-08-30 | 基于富文本编辑器的文本结构化方法及装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115309298A CN115309298A (zh) | 2022-11-08 |
CN115309298B true CN115309298B (zh) | 2024-05-10 |
Family
ID=83863723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211058751.XA Active CN115309298B (zh) | 2022-08-30 | 2022-08-30 | 基于富文本编辑器的文本结构化方法及装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115309298B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859919A (zh) * | 2023-03-02 | 2023-03-28 | 北京智启蓝墨信息技术有限公司 | 一种存储结构化的富格式文本的方法及系统 |
CN116306526B (zh) * | 2023-03-10 | 2024-01-02 | 北京麦克斯泰科技有限公司 | 一种根据文本下标标记对应富文本的方法及装置 |
CN115994523B (zh) * | 2023-03-23 | 2023-06-06 | 北京智启蓝墨信息技术有限公司 | 一种富格式数字教材内容编号方法及系统 |
CN118051274A (zh) * | 2024-01-11 | 2024-05-17 | 北京伟联科技有限公司 | 一种plc组合命令生成方法、装置、电子设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874379A (zh) * | 2017-05-10 | 2018-11-23 | 北京国双科技有限公司 | 页面的处理方法及装置 |
CN109992698A (zh) * | 2019-04-11 | 2019-07-09 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN111222063A (zh) * | 2019-11-26 | 2020-06-02 | 北京达佳互联信息技术有限公司 | 富文本渲染方法、装置、电子设备及存储介质 |
CN111259644A (zh) * | 2018-11-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 富文本处理方法与编辑器、设备及存储介质 |
CN111507073A (zh) * | 2020-04-10 | 2020-08-07 | 甯航 | 一种基于web富文本的论文编辑与智能排版方法及平台 |
CN111859204A (zh) * | 2020-06-30 | 2020-10-30 | 微民保险代理有限公司 | 信息发布方法、装置、设备及存储介质 |
CN112230913A (zh) * | 2019-06-28 | 2021-01-15 | 北京京东尚科信息技术有限公司 | 富文本内容的处理方法与装置、存储介质、电子设备 |
CN113535046A (zh) * | 2021-07-23 | 2021-10-22 | 北京光启元数字科技有限公司 | 一种文本组件编辑方法、装置、设备和可读介质 |
CN113867726A (zh) * | 2021-09-28 | 2021-12-31 | 北京房江湖科技有限公司 | 页面富文本编辑器的扩展方法和装置、存储介质、电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103050A9 (en) * | 1999-11-05 | 2017-04-13 | Decentrix, Inc. | Method and apparatus for generating a web site with dynamic content data from an external data source integrated therein |
US20050216922A1 (en) * | 2004-03-29 | 2005-09-29 | Microsoft Corporation | Method and system for access and modification of formatted text |
JP2008234148A (ja) * | 2007-03-19 | 2008-10-02 | Ricoh Co Ltd | 文書表示装置、文書表示方法及び文書表示プログラム |
US20090013245A1 (en) * | 2007-04-27 | 2009-01-08 | Bea Systems, Inc. | Enterprise web application constructor xml editor framework |
US9594731B2 (en) * | 2007-06-29 | 2017-03-14 | Microsoft Technology Licensing, Llc | WYSIWYG, browser-based XML editor |
RU2579888C2 (ru) * | 2014-01-15 | 2016-04-10 | ООО "Аби ИнфоПоиск" | Универсальное представление текста с возможностью поддержки различных форматов документов и текстовая подсистема |
US20190129921A1 (en) * | 2017-11-01 | 2019-05-02 | International Business Machines Corporation | Enhancing Crossing Copying and Pasting Operations |
-
2022
- 2022-08-30 CN CN202211058751.XA patent/CN115309298B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874379A (zh) * | 2017-05-10 | 2018-11-23 | 北京国双科技有限公司 | 页面的处理方法及装置 |
CN111259644A (zh) * | 2018-11-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 富文本处理方法与编辑器、设备及存储介质 |
CN109992698A (zh) * | 2019-04-11 | 2019-07-09 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN112230913A (zh) * | 2019-06-28 | 2021-01-15 | 北京京东尚科信息技术有限公司 | 富文本内容的处理方法与装置、存储介质、电子设备 |
CN111222063A (zh) * | 2019-11-26 | 2020-06-02 | 北京达佳互联信息技术有限公司 | 富文本渲染方法、装置、电子设备及存储介质 |
CN111507073A (zh) * | 2020-04-10 | 2020-08-07 | 甯航 | 一种基于web富文本的论文编辑与智能排版方法及平台 |
CN111859204A (zh) * | 2020-06-30 | 2020-10-30 | 微民保险代理有限公司 | 信息发布方法、装置、设备及存储介质 |
CN113535046A (zh) * | 2021-07-23 | 2021-10-22 | 北京光启元数字科技有限公司 | 一种文本组件编辑方法、装置、设备和可读介质 |
CN113867726A (zh) * | 2021-09-28 | 2021-12-31 | 北京房江湖科技有限公司 | 页面富文本编辑器的扩展方法和装置、存储介质、电子设备 |
Non-Patent Citations (3)
Title |
---|
Proof in context--Web editing with rich, modeless contextual feedback;Tankink C;arxiv preprint:1307.1943;第42-56页 * |
一种电子病历报告模板编辑系统的设计与实现;杨飞;华中科技大学;第1-60页 * |
基于Vue.js的融媒体管理系统研究与设计;王畅冰;北京邮电大学;第1-91页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115309298A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115309298B (zh) | 基于富文本编辑器的文本结构化方法及装置、介质及设备 | |
US12079456B2 (en) | Systems and methods for providing a tagging interface for external content | |
US9740369B2 (en) | Systems and methods for providing a tagging interface for external content | |
EP1818835A1 (en) | Document processing device, and document processing method | |
US8495485B2 (en) | System, method, and apparatus for location identification of content | |
US20080209572A1 (en) | Data Processing System, Data Processing Method, and Management Server | |
US20090132906A1 (en) | Document processing device and document processing method | |
US20070258100A1 (en) | Document Processing Device and Document Processing Method | |
US7805452B2 (en) | Data processing device and data processing method | |
US20080270887A1 (en) | Document Processing Device And Document Processing Method | |
US20090235156A1 (en) | Document processing device and document processing method | |
US20080262993A1 (en) | Document Management Device and Document Management Method | |
WO2006051716A1 (ja) | 文書処理装置及び文書処理方法 | |
WO2006051712A1 (ja) | 文書処理装置及び文書処理方法 | |
US7802181B2 (en) | Document processing device and document processing method | |
US20090287994A1 (en) | Document processing device and document processing method | |
US20080320412A1 (en) | Document Processing Device and Document Processing Method | |
CN113419711A (zh) | 页面引导方法、装置、电子设备及存储介质 | |
US20100077295A1 (en) | Document processing device and document processing module | |
US20070273936A1 (en) | Document Processing Device, And Document Processing Method | |
US20080262832A1 (en) | Document Processing Device, and Document Processing Method | |
US20080147957A1 (en) | Archiver Device, Data Acquisition Device, and Data Acquisition Method | |
US20080005154A1 (en) | Document Processing Device and Document Processing Method | |
US12019699B2 (en) | Visual recorder for demonstrations of web-based software applications | |
US20080065979A1 (en) | Document Processing Device, and Document Processing Method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |