跳到主要内容

提及用户

以下参考图和步骤解释了在ONLYOFFICE文档中在评论中提及用户的过程。

Create mentions
  1. 用户在文档编辑器的评论字段中输入 **+**号,发送获取要提及的用户列表的请求。
  2. 文档编辑器将该请求告知文档管理器
  3. 文档管理器将用户列表发送给文档编辑器,该列表将显示在评论字段下方。
  4. 用户在文档编辑器的评论字段中输入评论,该评论将添加到文档中。
  5. 文档编辑器将消息、电子邮件列表以及文档中的链接操作发送给文档管理器

实际操作方法

1.创建一个空的html文件,用于打开文档

  1. 在文档编辑器初始化的配置脚本中,指定用于显示在评论中提及用户提示的事件处理程序。当用户输入 **+**号时,将调用onRequestUsers事件,评论者可以选择其他用户以便在评论中提及。在该事件中会传递带有mention操作类型的data.c参数。

    onRequestUsers
    function onRequestUsers(event) {
    docEditor.setUsers({
    c: event.data.c,
    users: [
    {
    email: "john@example.com",
    name: "John Smith",
    },
    {
    email: "kate@example.com",
    name: "Kate Cage",
    },
    ],
    })
    }

    const docEditor = new DocsAPI.DocEditor("placeholder", {
    events: {
    onRequestUsers,
    },
    })
  2. 为了在评论字段下方设置用户列表,必须调用setUsers方法:

    docEditor.setUsers({
    c: "mention",
    users: [
    {
    email: "john@example.com",
    name: "John Smith",
    },
    {
    email: "kate@example.com",
    name: "Kate Cage",
    },
    ],
    })

    其中example.com是安装了文档管理器文档存储服务的服务器名称。有关ONLYOFFIC文档服务客户端-服务器交互的更多信息,请参阅工作原理部分。工作原理部分。

打开评论

Open action link
  1. 用户点击文档管理器中的链接。
  2. 文档管理器将初始化的editorConfig发送给文档编辑器
  3. 文档编辑器将文档滚动到评论所在位置。

在文档编辑器初始化的配置脚本中,指定用于发送评论消息和电子邮件列表的事件处理程序。当用户添加评论时,将调用onRequestSendNotify事件。消息和电子邮件列表将在data参数中发送。评论数据将在data.actionLink参数中接收。与在书签中添加操作链接的情况一样,在配置中必须使用actionLink对象作为editorConfig.actionLink参数的值。

在5.4版本中,只有在设置了onRequestUsers事件的情况下,才能使用onRequestSendNotify事件。从5.5版本开始,onRequestSendNotifyonRequestUsers之间不存在这种依赖关系,两者可以独立设置。

function onRequestSendNotify(event) {
const ACTION_DATA = event.data.actionLink
const comment = event.data.message
const emails = event.data.emails
}

const docEditor = new DocsAPI.DocEditor("placeholder", {
events: {
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

请注意,只有在设置了onRequestSendNotify事件的情况下,此设置才对评论有效。

Mentions