flutter 富文本思考

简介: flutter 富文本思考

https://flutter.cn/docs/get-started/install/windows

https://pub-web.flutter-io.cn/packages/flutter_widget_from_html

1 如何保证多渠道内容

方案一: 直接使用基本的 html 格式来存储 特殊信息使用 自定义属性来做区分 自定义属性来做信息存储

app 端使用 flutter_widget_from_html 将html 转换成 原生组件

web端 css 属性选择器进行 css 注入

需要存储@的相关信息

实现思路:
网页做输入,重写富文本编辑器
优点: 只需要解析特定标签的属性值 为特定组件
缺点:
html 不同解析器 可能解析的样式不一样

方案二: 将所有信息使用数组来存储 ,数组内存储不同节点的信息,然后按照信息的类别 逐条进行信息拼接

app 端 和 web 按照同一套解析规则 来解析

方案三:如果只有图文 链接 @ # 等特殊格式的内容, 存储时 图片单独字段 文字单独字段,@信息单独字段 #信息单独字段。渲染时 @ 和 # 按照格式进行 样式渲染。点击触发时再查询节点信息 做处理。

4、技术思路
通过分析业内的主流实现,@人功能的技术实现思路大致如下:

1)监听用户输入,匹配用户以@开头的文字;
2)调用搜索弹窗,展示搜索出来的用户列表;
3)监听上、下、回车键控制列表选择,监听ESC键关闭搜索弹窗;
4)选择需要@的用户,把对应的HTML文本替换到原文本上,在HTML文本上添加用户的元数据。

https://www.sohu.com/a/506642053_100038287#google_vignette

需要考虑的问题

1 如@ # 特定内容的输入
2 不同平台的 如何解析 @ # 等的特殊内容
3 实现的难点 和 花费的时间

1 网页做内容输入 =》富文本 难点

https://react-mentions.vercel.app/
https://github.com/codex-team/editor.js
editorjs富文本编辑器 ==》实现插件的形式
https://editorjs.io/
wangeditor 富文本编辑器 ==》调用api 新增功能
https://www.wangeditor.com/v5/for-frame.html#demo-2

2 app 多内容输入 =》 难点

不同端多内容解析

相关文章
|
前端开发
如何低成本实现Flutter富文本,看这一篇就够了!
作者:闲鱼技术-玄川 背景 闲鱼是国内最早使用Flutter 的团队,作为一个电商App商品详情页是非常重要场景,其中最主要的技术能力是文字混排。 我们面对文本类的需求是复杂而且多变,然而Flutter历史的几个版本,Text只能显示简单样式文本,它只有包含一些控制文本样式显示的属性,而通过TextSpan连接实现的RichText也只能显示多种文本样式(例如:一个基础文本片段和一个链接片段),这些远远达不到设计需要的能力。
7633 0
|
3月前
|
监控 Dart 安全
创建一个Dart应用,监控局域网上网记录的软件:Flutter框架的应用
在当今数字时代,网络安全变得愈发重要。为了监控局域网上的上网记录,我们可以借助Flutter框架创建一个强大的Dart应用。在这篇文章中,我们将深入讨论如何使用Flutter框架开发这样一个监控局域网上网记录的软件,并提供一些实用的代码示例。
274 1
|
6月前
|
Dart Android开发 UED
带你读《深入浅出Dart》二十七、Flutter路由管理
带你读《深入浅出Dart》二十七、Flutter路由管理
|
6月前
|
Dart
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(1)
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(1)
|
6月前
|
Dart
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(2)
带你读《深入浅出Dart》三十、Flutter实战之TODO应用(2)
|
2月前
|
Dart JavaScript
Flutter - Dart 基础(数据类型)
【2月更文挑战第3天】
64 1
|
2月前
|
Dart JavaScript 安全
|
2月前
|
Dart Shell 开发工具
解决windows安装Flutter时出现Unknown operating system. Cannot install Dart SDK.问题
解决windows安装Flutter时出现Unknown operating system. Cannot install Dart SDK.问题
|
3月前
|
JSON Dart 算法
Dart/Flutter工具模块:the_utils
Dart/Flutter工具模块:the_utils
47 0