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

不同端多内容解析

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥肥呀呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值