diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
index a8010184d74..b48563d0368 100644
--- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
+++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj
@@ -45,6 +45,7 @@
+
diff --git a/src/BootstrapBlazor.Server/Components/Samples/Meets.razor b/src/BootstrapBlazor.Server/Components/Samples/Meets.razor
new file mode 100644
index 00000000000..571005de2eb
--- /dev/null
+++ b/src/BootstrapBlazor.Server/Components/Samples/Meets.razor
@@ -0,0 +1,24 @@
+@page "/meet"
+
+
JitsiMeet会议
+
+通过JitsiMeet创建会议
+
+
+
+
+ JitsiMeet是一个开源的WebRTC会议程序,可以自托管安装也可以使用官方的托管服务(免费计划为25MAU),此组件仅为JitsiMeet的客户端程序,不含服务端。
+ 默认的测试会议仅支持5分钟的会议,并且主持人需要登录。子托管以及官方托管服务不需要。
+
+
+
+
+
+
diff --git a/src/BootstrapBlazor.Server/Components/Samples/Meets.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/Meets.razor.cs
new file mode 100644
index 00000000000..e99a987c654
--- /dev/null
+++ b/src/BootstrapBlazor.Server/Components/Samples/Meets.razor.cs
@@ -0,0 +1,56 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the Apache 2.0 License
+// See the LICENSE file in the project root for more information.
+// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
+
+namespace BootstrapBlazor.Server.Components.Samples;
+
+///
+/// Meet 视频会议组件示例
+///
+public partial class Meets : ComponentBase
+{
+ private MeetOption? _option;
+ private Meet? _meet;
+ private readonly string _domain = "meet.jit.si";
+
+ [Inject, NotNull]
+ private ToastService? ToastService { get; set; }
+
+ ///
+ ///
+ ///
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+
+ _option = new MeetOption
+ {
+ RoomName = "BootstrapBlazor",
+ Width = "100%",
+ Height = 700,
+ ConfigOverwrite = new
+ {
+ Lobby = new { EnableChat = false },
+ HiddenPremeetingButtons = new string[] { "invite" },
+ DisableInviteFunctions = true,
+ ButtonsWithNotifyClick = new[] { new { key = "invite", preventExecution = true } }
+ },
+ UserInfo = new UserInfo() { DisplayName = "BootstrapBlazor", Email = "a@blazor.zone" }
+ };
+ }
+
+ private void OnLoad()
+ {
+ ToastService.Information("Meet 示例", "会议室加载完成");
+ }
+
+ private async Task RunCommand()
+ {
+ if (_meet != null)
+ {
+ await _meet.ExecuteCommand("toggleChat");
+ }
+ }
+}
+
diff --git a/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs b/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs
index 01de5dff64b..bca2f571ecb 100644
--- a/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs
+++ b/src/BootstrapBlazor.Server/Extensions/MenusLocalizerExtensions.cs
@@ -1208,6 +1208,12 @@ void AddNotice(DemoMenuItem item)
Url = "message"
},
new()
+ {
+ IsNew = true,
+ Text = Localizer["Meet"],
+ Url = "meet"
+ },
+ new()
{
Text = Localizer["Modal"],
Url = "modal"
diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json
index c4abe711650..3a5d8bc5bb7 100644
--- a/src/BootstrapBlazor.Server/Locales/en-US.json
+++ b/src/BootstrapBlazor.Server/Locales/en-US.json
@@ -4943,7 +4943,8 @@
"TotpService": "ITotpService",
"VideoDevice": "IVideoDevice",
"AudioDevice": "IAudioDevice",
- "FullScreenButton": "FullScreenButton"
+ "FullScreenButton": "FullScreenButton",
+ "Meet": "Meet"
},
"BootstrapBlazor.Server.Components.Samples.Table.TablesHeader": {
"TablesHeaderTitle": "Header grouping function",
diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json
index c6e970577ea..e77313cbc37 100644
--- a/src/BootstrapBlazor.Server/Locales/zh-CN.json
+++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json
@@ -4943,7 +4943,8 @@
"TotpService": "时间密码验证服务 ITotpService",
"VideoDevice": "视频设备服务 IVideoDevice",
"AudioDevice": "音频设备服务 IAudioDevice",
- "FullScreenButton": "全屏按钮 FullScreenButton"
+ "FullScreenButton": "全屏按钮 FullScreenButton",
+ "Meet": "视频会议组件 Meet"
},
"BootstrapBlazor.Server.Components.Samples.Table.TablesHeader": {
"TablesHeaderTitle": "表头分组功能",
diff --git a/src/BootstrapBlazor.Server/docs.json b/src/BootstrapBlazor.Server/docs.json
index 9489fc14965..5b95caa0a72 100644
--- a/src/BootstrapBlazor.Server/docs.json
+++ b/src/BootstrapBlazor.Server/docs.json
@@ -233,7 +233,8 @@
"otp-service": "OtpServices",
"video-device": "VideoDevices",
"audio-device": "AudioDevices",
- "fullscreen-button": "FullScreenButtons"
+ "fullscreen-button": "FullScreenButtons",
+ "meet": "Meets"
},
"video": {
"table": "BV1ap4y1x7Qn?p=1",