You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Greenlight V3开发:替换FriendlyId获取BigBlueButton MeetingId

解决Greenlight V3获取BigBlueButton MeetingId及修改复制链接格式的问题

1. 让RoomCard.jsx获取到MeetingId

  • 确认后端API返回的房间数据包含meeting_id字段:检查Greenlight的后端接口(如/api/rooms),确保每个返回的room对象带有BigBlueButton原生会议ID对应的meeting_id字段。若未返回,需修改后端room序列化逻辑,将meeting_id加入返回字段列表。
  • 修改RoomCard的父组件:找到渲染RoomCard的容器组件(如RoomsList.jsx),在传递props时新增meetingId={room.meeting_id},把会议ID传递给RoomCard。
  • 在RoomCard.jsx中接收使用:在组件的props定义中添加meetingId参数,之后即可通过props.meetingId直接访问BigBlueButton会议ID。

2. 修改复制房间链接的格式

  • 定位RoomCard内的复制链接逻辑:找到处理复制功能的函数(如handleCopyLink),原逻辑通常会拼接含friendly_id的链接(如${window.location.origin}/rooms/${friendlyId})。
  • 替换链接拼接规则:将原链接改为目标格式,示例代码如下:
    const meetingLink = `${window.location.origin}?meetingId=${props.meetingId}`;
    
  • 更新复制内容:确保复制功能调用navigator.clipboard.writeText()时,传入的是上述新生成的meetingLink。

注意事项

  • 需确认后端返回的meeting_id确实对应BigBlueButton的原生会议ID,避免与Greenlight内部的room_id混淆。
  • 若后端API默认不返回meeting_id,需修改app/controllers/api/rooms_controller.rb中的序列化代码,在serializer配置里添加meeting_id字段。

内容的提问来源于stack exchange,提问作者zetros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:43:11