接口
- 是否产生痕迹由SetEditMode配合SetEditorInfo接口实现
SetEditMode
enablePermission:[是否可删除]启用文档内容安全和权限控制。默认为false文档内容可任意编辑。
enableRevise:[是否逻辑删除 新增内容带痕]使能审阅模式。默认为false,正常编辑
modifySameLevel:能否修改或删除同授权等级的内容,默认为true
fristEditByRevise:首次编辑时是否带痕
bool SetEditMode(bool enablePermission, bool enableRevise, bool modifySameLevel, bool fristEditByRevise)
SetEditorInfo
bool SetEditorInfo(const char* terminal, const char* editorId, const char* editorName, int permissionLevel, const char* attachStr)//description为json
产生痕迹的前提条件
1、按文档模式打开Doc。SetDocType(E_DOC_TYPE.Entity)
2、开启了编辑权限管理 并 允许了记录痕迹。SetEditMode(第1个参数enablePermission=true 第2个参数enableRevise=true)
3、a、文档第一个编辑者默认不带痕迹 或 b、配置了 文档第一个编辑者带痕迹。SetEditMode(第4个参数fristEditByRevise=true)
显示痕迹
- displayReviseAuxiliary:显示痕迹辅助线
- displayReviseDel:显示痕迹(审阅)被删除内容
thinkEditor.SetViewMode(E_VIEW_MODE.Edit,
{
displayReviseAuxiliary: true,
displayReviseDel: true
});
开启痕迹模式
- enablePermission = true
- enableRevise_ = true
新增
- 同时满足如下条件时 产生新增痕迹
1、按文档模式打开Doc.SetDocType(E_DOC_TYPE.Entity)
2、文档第一个编辑者默认不带痕迹
3、相同编辑者不同时间编辑(即同一人非本次编辑会带痕)
删除
- 满足如下条件之一,则会产生删除痕迹。否则为不可删除(已被删除)或物理删除。
1、当前编辑者permissionLevel > 内容创建者permissionLevel
2、当前编辑者permissionLevel == 内容创建者permissionLevel && modifySameLevel_==true
3、相同编辑者不同时间编辑(即同一人非本次编辑会带痕)
效果
当修改者的permissionLevel<2 则删除线为两条,增加线为一条
当修改者的permissionLevel>=2 则删除线为两条,增加线为一条
显示审阅信息
鼠标悬浮在审阅内容上时,可显示创建/删除信息
文档更新时间: 2025-04-23 21:35 作者:admin