feat(文档库): 编辑器内渲染占位符与勾选框胶囊

This commit is contained in:
yelan
2026-09-18 13:03:11 +08:00
parent 8b1cbee16f
commit 9062d0b3c5
8 changed files with 841 additions and 11 deletions
+4 -4
View File
@@ -23,6 +23,7 @@ import {
resolveAnswersFromSystem,
resolveFieldByLabel,
SIGNING_DOCUMENT_HEADER,
SIGNING_OPTION_MARKERS,
type SigningSystemSnapshot,
} from './signing-fields'
@@ -45,11 +46,10 @@ const FIELD_REQUIRED_ATTR = 'data-sign-required'
const FIELD_RISK_ATTR = 'data-sign-risk'
/**
* 科室手打的复选框符号:几何图形方框,以及 Wingdings 私有区码位。
* Word「插入 → 符号」里的方框多为私有区字符(U+F0A8 等),粘贴后字体信息丢失、
* 只剩下码位,所以这些也要一并识别。
* 科室手打的复选框符号见 SIGNING_OPTION_MARKERS(utils/signing-fields):
* 编辑器标记与这里识别必须用同一份字符集,故不再本地声明。
*/
const OPTION_MARKERS = '□☐▢◻❑❒\uF0A8\uF0FE'
const OPTION_MARKERS = SIGNING_OPTION_MARKERS
/** split 用:捕获组保证分隔符本身保留在结果里 */
const OPTION_SPLIT_PATTERN = new RegExp(`([${OPTION_MARKERS}])`)
/** match 用(带 g 只用于 String.match,不参与 RegExp.test,避免 lastIndex 副作用) */