开发日志工具与开发
开发日志:批注锚点的改稿迁移
这周把批注的定位从“只认字符偏移”改成了“块标识 + 原文 + 前后文”的三段式查找,并补上了原文已变化时的展示。
这周把批注的定位从“只认字符偏移”改成了“块标识 + 原文 + 前后文”的三段式查找。起因是修订一篇文章开头的一个错别字后,同一段落里后面的几条测试批注都向前错了一位。
- 构建时为每篇文章计算内容哈希,批注提交时记录版本;版本一致时直接使用偏移量。
- 版本不一致时,先在原段落内校验,再在全文搜索原文,并用前后文消除重复匹配。
- 零个或多个候选时不再猜测,标记为“原文已变化”,在文末单独列出并保留原始引用。
- 服务端提交接口拒绝引用了不存在原文的批注,返回 409,前端提示刷新后重试。
新增的测试覆盖了前置插入、段落改写、块标识变更和重复短句四种情况。代码块里的选区暂时不允许跨块,下周再处理。