我目前正在为 Notion 开发一个演示应用程序,并开始实现 Seminar 插件。我让服务器运行没有任何问题,并打开了演示的“房间”。但我不明白,如何添加参与者。
有人可以帮我解决这个问题吗?我认为该文档也不是最好的......
我使用
spawn('node', ['seminar/server.js'], { stdio: 'inherit' });
将服务器脚本作为子进程启动,然后使用 RevealSeminar.open_or_join_room(seminarPassword, 'Host');
作为主机加入/创建房间。
控制台中的日志告诉我,服务器正常启动,而且房间的创建/加入成功。但没有文档说明其他用户需要如何使用该 URL 才能访问研讨会。我知道有一个像
enterRoom()
这样的函数,但我可以从服务器调用它。
没有提供具体的代码片段,因为这是关于研讨会如何运作的基本问题,所以我可以理解并正确使用它。如果需要的话,我的代码无论如何都可以在https://github.com/SchmidAlex/notion-presentation-generator/tree/main下找到
这是一个关于如何设置 Reveal 和创建 Room 的小示例(请注意,服务器已经在运行,并且哈希值是从服务器网页生成的)。我是否需要在网络服务器上设置一个带有 Reveal 的网站才能通过 RevealSeminar 插件上提供的功能
join_room( username )
加入?
我无法想象,因为如果是这样,为什么 Reveal 的创建者不包括像“/login”这样已经提供了它的网站。
这是我如何创建房间并使用研讨会插件初始化 Reveal 的简单示例:
const plugins = [
RevealHighlight,
RevealSeminar,
]
Reveal.initialize({
plugins: plugins,
controls: true,
seminar: {
server: seminarServer, // https://[ip]:[port]
room: seminarRoom, // Roomname
hash: seminarHash, // Hash generated from passwort from the server
autoJoin: true
}
});
Reveal.on('ready', () => {
RevealSeminar.open_or_join_room(seminarPassword /*Cleartext password*/, 'Host' /*Username*/);
});
显然,研讨会插件应该在演示者演示演示文稿的同一服务器上运行。因此,内容、显示配置(来自研讨会插件)需要完全相同,只有一处不同。如果作为主机连接,则需要使用功能
RevealSeminar.open_or_join_room(seminarPassword, 'Host');
。其余的需要调用函数RevealSeminar.join_room('User');
,只需使用相同的配置即可。
此外,在电子应用程序中,插件没有使用
window.location.hostname
来定义房间的“场地”(无论这是什么)。因此,需要在配置中定义“url”。