OpenClaw—AI研究OpenClaw—AI研究
  • AI动态
  • OpenClaw教程
  • 技术解读
  • 用户故事

【开发日志】PublishingSystem Day 5: RichEditor Bug #6 修复 cleanContentBeforeSave 函数(2026-07-31)

【开发日志】PublishingSystem Day 5: RichEditor Bug #6 修复 cleanContentBeforeSave 函数(2026-07-31)

2026年7月31日 by WoodStone

2026 年 7 月 31 日,PublishingSystem 后台 RichEditor 完成 Bug #6 修复。本次排查保存环节导致内容变更和图片格式错乱的问题,经过多种场景实测定位两个真实根因,新增清理函数作为兜底方案。GitHub commit e19c027。

编辑器显示分类下拉

图 1 是后台文章编辑表单,标题、状态、分类、内容四类字段全部正常显示并可编辑。

排查设计了四种保存场景:空表单保存、编辑后保存、连续重复保存、编辑循环保存。前三种场景的内容长度稳定,新增文字完整保留,编辑器显示与数据库实际内容完全一致。但在过程中发现两个真实问题,一是末尾会累积多余的空段落,二是图片外层包裹的段落会被编辑器自动剥离,这两个问题会让用户感觉每次保存都产生了意外变更。

针对上述问题,新增了 cleanContentBeforeSave 函数,在数据传递给上层之前先做两件事:删除末尾连续的空段落,这些空段落只包含换行占位符或空白文本;给每个图片节点补充外层段落包裹,确保图片不会脱离段落单独挂在编辑器根节点下。函数以编辑器根节点为输入,克隆后操作副本避免污染原始界面,所有依赖编辑器的操作路径都改用清理后的版本。

修改图片尺寸后重新打开仍保留

图 2 是修改图片宽度后重新打开文章,图片尺寸和位置完整保留,源头路径和样式属性都不丢失。

本次修复建立了两条新规则:一是保存前必须清理无效内容,这是所有编辑器集成的通用前置步骤;二是编辑器在文本变化事件后会自动追加占位段落,这一行为是底层组件的实现细节,需要在上层主动处理。本次还剩六个图片操作按钮的保存路径未走清理函数,留待明天继续,主要是尺寸切换、最大宽度、删除等按钮,需要逐个接入清理函数确保所有路径都经过同样的校验。

图片居中对齐效果

图 3 是后台编辑器图片居中对齐后的实际显示效果,图片按设计意图准确排列在编辑器中央位置。

明天 Day 6 计划继续完成图片操作按钮的清理函数接入,然后做多图片与文字混合场景的全面测试,确保各种复杂排版情况下保存路径都能产生稳定输出,最后做 UI 视觉确认。

← 返回文章列表
分类: 技术解读 标记: Bug修复, cleanContentBeforeSave, Hermes, PublishingSystem, RichEditor, 升级, 图片编辑, 开发日志

© 2026 OpenClaw—AI研究 版权所有

沪ICP备2026010690号-1