参考图和下面的步骤解释了在 ONLYOFFICE 文档服务器中在评论中提及用户的过程。
在文档编辑器初始化的配置脚本中,为注释(要显示的)中提及用户的提示指定事件处理程序。 当用户输入 + 号时, onRequestUsers 事件被调用,评论者可以选择其他用户在评论中提及。 此事件中传递具有mention操作类型的data.c参数。
var onRequestUsers = function(event) { docEditor.setUsers({ "c": event.data.c, "users": [ { "email": "john@example.com", "name": "John Smith" }, { "email": "kate@example.com", "name": "Kate Cage" }, ... ] }); }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestUsers": onRequestUsers, ... }, ... });
为了在评论字段下设置用户列表,必须调用 setUsers 方法:
docEditor.setUsers({ "c": "mention", "users": [ { "email": "john@example.com", "name": "John Smith" }, { "email": "kate@example.com", "name": "Kate Cage" }, ... ] });
其中 example.com 是安装了 文档管理器 和 文档存储服务 的服务器的名称。 有关文档服务器服务客户机-服务器交互的更多信息,请参阅 它是如何运作的 部分。
为注释消息指定事件处理程序,并在文档编辑器初始化的配置脚本中指定要发送的电子邮件列表。 当用户添加评论时,会调用 onRequestSendNotify 事件。 消息和电子邮件列表在 data 参数中发送。 评论数据在 data.actionLink 参数中接收。 与将 操作链接 添加到书签的情况一样,必须在配置中使用 actionLink 对象作为 editorConfig.actionLink 参数的值。
var onRequestSendNotify = function(event) { var ACTION_DATA = event.data.actionLink; var comment = event.data.message; var emails = event.data.emails; ... }; var docEditor = new DocsAPI.DocEditor("placeholder", { "events": { "onRequestSendNotify": onRequestSendNotify, ... }, ... });
当 onRequestSendNotify 事件被调用时,软件集成商提供对文件的访问,通过允许滚动到文档中评论位置的操作链接向提到的用户发送通知。
如果文档初始化时使用了 document.info.sharingSettings 字段,但 onRequestSendNotify 事件中的用户列表不同,则必须调用 setSharingSettings 方法。
docEditor.setSharingSettings({ "sharingSettings": [ { "permissions": "Full Access", "user": "John Smith" }, { "isLink": true, "permissions": "Read Only", "user": "External link" } ] });
在 onRequestSendNotify 事件不提供对文件的访问的情况下,编辑器配置的自定义部分中的 mentionShare 参数必须设置为 false。