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 多内容输入 =》 难点

不同端多内容解析

相关推荐
蒋星熠4 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
卢叁7 小时前
Flutter之自定义TabIndicator
前端·flutter
萧雾宇8 小时前
Android Compose打造仿现实逼真的烟花特效
android·flutter·kotlin
拜无忧9 小时前
【教程】flutter常用知识点总结-针对小白
android·flutter·android studio
拜无忧10 小时前
【教程】Flutter 高性能项目架构创建指南:从入门到高性能架构
android·flutter·android studio
醉过才知酒浓10 小时前
flutter 拦截返回按钮的方法(WillPopScope or PopScope)
flutter
傅里叶12 小时前
sudo启动Flutter程序AMD初始化失败
linux·flutter
苦逼的搬砖工13 小时前
Flutter UI Components:闲来无事,设计整理了这几年来使用的UI组件库
前端·flutter
黑金IT14 小时前
Dart → `.exe`:Flutter 桌面与纯命令行双轨编译完全指南
flutter
iOS_MingXing14 小时前
flutter TabBar 设置isScrollable 第一个有间距
flutter