Bitzsoft.Integrations.VideoConference 1.0.1

dotnet add package Bitzsoft.Integrations.VideoConference --version 1.0.1
                    
NuGet\Install-Package Bitzsoft.Integrations.VideoConference -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Bitzsoft.Integrations.VideoConference" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bitzsoft.Integrations.VideoConference" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Bitzsoft.Integrations.VideoConference" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bitzsoft.Integrations.VideoConference --version 1.0.1
                    
#r "nuget: Bitzsoft.Integrations.VideoConference, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Bitzsoft.Integrations.VideoConference@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bitzsoft.Integrations.VideoConference&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Bitzsoft.Integrations.VideoConference&version=1.0.1
                    
Install as a Cake Tool

Bitzsoft.Integrations.VideoConference

视频会议抽象层 — 统一接口定义、基础模型与结果包装。

屏蔽腾讯会议、Zoom、Microsoft Teams、飞书、钉钉、Webex 等供应商差异,提供一致的会议创建、查询、更新、取消、参会人管理与录制查询 API。

功能特性

  • 统一供应商接口 IVideoConferenceService:9 个异步方法覆盖会议全生命周期
  • 统一结果包装VideoConferenceResultMeetingInviteResult 携带成功标志与错误信息
  • 统一异常 VideoConferenceException:封装供应商标识、错误码与请求 ID
  • 不可变模型设计:集合返回 List<T>,属性使用 init 保证只读

安装

dotnet add package Bitzsoft.Integrations.VideoConference
<PackageReference Include="Bitzsoft.Integrations.VideoConference" Version="1.0.0" />

接口

IVideoConferenceService

统一的视频会议供应商接口。

方法 返回类型 说明
ProviderName string 供应商标识(如 TencentMeetingZoom
CreateMeetingAsync Task<MeetingInfo> 创建会议,返回会议信息
GetMeetingAsync Task<MeetingInfo> 获取会议详情
UpdateMeetingAsync Task<VideoConferenceResult> 更新会议信息
CancelMeetingAsync Task<VideoConferenceResult> 取消会议
ListMeetingsAsync Task<List<MeetingInfo>> 分页查询会议列表
InviteAttendeesAsync Task<MeetingInviteResult> 邀请参会人
RemoveAttendeesAsync Task<MeetingInviteResult> 移除参会人
ListRecordingsAsync Task<List<MeetingRecording>> 查询会议录制列表

核心模型

关键字段 说明
CreateMeetingRequest SubjectStartTimeEndTimeTimeZonePasswordAttendeesWaitingRoomEnabledAutoEnableRecording 创建会议请求
UpdateMeetingRequest MeetingIdSubjectStartTimeEndTimePassword 更新会议请求
ListMeetingsRequest StartTimeEndTimePageIndexPageSizeStatus 会议列表查询参数
MeetingInfo MeetingIdSubjectJoinUrlStartTimeEndTimeStatusPasswordAttendees 会议信息
MeetingAttendee UserIdNameEmailPhoneRole 参会人信息
MeetingRecording RecordingIdMeetingIdStartTimeDurationSecondsDownloadUrl 录制信息
VideoConferenceResult SuccessErrorMessageRequestId 操作结果
VideoConferenceException 统一异常(继承 IntegrationException

枚举

枚举 说明
MeetingStatus 会议状态:Scheduled / InProgress / Ended / Cancelled
AttendeeRole 参会人角色:Host / CoHost / Attendee

使用示例

抽象层本身只定义接口与模型,具体实现由各供应商包提供。以下示例假设已注册某个供应商实现:

public class MeetingService(IVideoConferenceService meeting)
{
    public async Task<string> ScheduleAsync(string subject, DateTimeOffset start, DateTimeOffset end)
    {
        var info = await meeting.CreateMeetingAsync(new CreateMeetingRequest
        {
            Subject = subject,
            StartTime = start,
            EndTime = end,
            Attendees =
            [
                new() { Name = "张三", Email = "zhangsan@example.com" }
            ]
        });
        return info.MeetingId;
    }

    public Task<List<MeetingRecording>> GetRecordingsAsync(string meetingId)
        => meeting.ListRecordingsAsync(meetingId);
}

多供应商解析

同一应用注册多个供应商时,通过 IIntegrationProviderResolver<IVideoConferenceService> 按供应商 ID 解析:

var resolver = serviceProvider.GetRequiredService<IIntegrationProviderResolver<IVideoConferenceService>>();
var zoom = resolver.GetRequired("zoom");
var meeting = await zoom.CreateMeetingAsync(request);

依赖

相关包

供应商 包名
统一抽象 Bitzsoft.Integrations.VideoConference
腾讯会议 Bitzsoft.Integrations.VideoConference.TencentMeeting
Zoom Bitzsoft.Integrations.VideoConference.Zoom
Microsoft Teams Bitzsoft.Integrations.VideoConference.MicrosoftTeams
飞书 Bitzsoft.Integrations.VideoConference.Feishu
钉钉 Bitzsoft.Integrations.VideoConference.DingTalk
Webex Bitzsoft.Integrations.VideoConference.Webex
聚合包 Bitzsoft.Integrations.VideoConference.All
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (7)

Showing the top 5 NuGet packages that depend on Bitzsoft.Integrations.VideoConference:

Package Downloads
Bitzsoft.Integrations.VideoConference.Webex

Cisco Webex Meetings 视频会议实现 — Bearer Token 鉴权 + HttpClient,实现 IVideoConferenceService 统一接口,支持会议创建/查询/更新/取消、参会人管理与录制查询

Bitzsoft.Integrations.VideoConference.Feishu

飞书视频会议实现 — AppId/AppSecret 换取 tenant_access_token 令牌缓存 + HttpClient,实现 IVideoConferenceService 统一接口,支持会议创建/查询/更新/取消、参会人管理与录制查询

Bitzsoft.Integrations.VideoConference.MicrosoftTeams

Microsoft Teams 视频会议实现 — Azure AD Client Credentials 令牌缓存 + HttpClient,实现 IVideoConferenceService 统一接口,支持会议创建/查询/更新/取消、参会人管理与录制查询

Bitzsoft.Integrations.VideoConference.TencentMeeting

腾讯会议视频会议实现 — OAuth2 Client Credentials 令牌缓存 + HttpClient,实现 IVideoConferenceService 统一接口,支持会议创建/查询/更新/取消、参会人管理与录制查询

Bitzsoft.Integrations.VideoConference.Zoom

Zoom 视频会议实现 — Server-to-Server OAuth 令牌缓存 + HttpClient,实现 IVideoConferenceService 统一接口,支持会议创建/查询/更新/取消、参会人管理与录制查询

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 312 8/3/2026
1.0.0 299 8/2/2026