Skip to content
v1
文档/iOS SDK/开发指南

查询列表、详情、编辑和取消会议

会议邀请、业务列表或深链只提供会议号时,应先查询最新 BIMMeeting,再决定是否展示编辑、开始、加入或取消入口。

查询当前用户的会议列表

列表包含当前登录用户参与的即时呼、即时会议和预约会议,默认按创建时间倒序返回:

objc
BIMMeetingListQueryOptions *options = [BIMMeetingListQueryOptions new];
// 可选:Unknown 表示全部状态。
options.status = BIMMeetingStatusUnknown;
// 可选:创建时间范围,Unix 毫秒时间戳,边界包含。
options.startTime = 0;
options.endTime = 0;

[[BIMManager sharedInstance] fetchMeetingsWithOptions:options
                                                 succ:^(BIMMeetingListResult *result) {
    self.meetings = result.meetings;
    NSLog(@"meeting count = %ld", (long)result.totalCount);
} fail:^(int code, NSString *desc) {
    NSLog(@"fetch meetings failed: %d %@", code, desc);
}];

options 可以传 nil。状态筛选支持 Waiting、Started、Canceled 和 Ended;startTimeendTime 同时存在时,开始时间不能晚于结束时间。

历史列表中的 meetingType 可能为:

类型含义
BIMMeetingTypeCall即时呼记录,只读,不可用于创建会议
BIMMeetingTypeInstant即时会议
BIMMeetingTypeReserve预约会议

查询会议

objc
[[BIMManager sharedInstance] queryMeetingWithNumber:@"123456789"
                                               succ:^(BIMMeeting *meeting) {
    self.titleLabel.text = meeting.subject;
    BOOL canEnter = meeting.status == BIMMeetingStatusWaiting ||
                    meeting.status == BIMMeetingStatusStarted;
    self.joinButton.enabled = canEnter;
} fail:^(int code, NSString *desc) {
    NSLog(@"query failed: %d %@", code, desc);
}];

会议号必须是 9 位数字。不要从会议状态消息中的 meeting_type 推断真实媒体类型;兼容消息可能固定返回 VOICE,应使用查询结果的 meeting.mediaType

读取会议模型

属性说明
meetingID后台内部 ID,不用于公开 Meeting API
meetingNumber9 位会议号,所有公开操作的主键
meetingType即时呼、即时会议或预约会议
mediaType语音或视频,以查询结果为准
subject会议主题
organizerUserID当前组织者
statusWaiting、Started、Canceled 或 Ended
reserveStartTime / reserveEndTime预约时间,Unix 毫秒时间戳
members组织者和普通成员,包含角色及加入/离开时间

编辑预约会议

编辑接口会完整替换普通受邀成员集合。需要保留的原成员必须和新增成员一起提交,只提交新增用户会移除其他普通成员。

objc
BIMMeetingEditOptions *options =
    [[BIMMeetingEditOptions alloc] initWithMediaType:BIMAudioVideoMediaTypeVideo
                                             subject:@"项目周会(时间调整)"];
options.reserveStartTime = newStartTime;
options.reserveEndTime = newEndTime;
options.remindBeforeMinutes = 10;
options.inviteeUserIDs = @[@"user-002", @"user-003", @"user-004"];

[[BIMManager sharedInstance] editMeetingWithNumber:@"123456789"
                                            options:options
                                               succ:^(BIMMeeting *meeting) {
    // 使用返回的最新模型刷新页面。
} fail:^(int code, NSString *desc) {
    NSLog(@"edit failed: %d %@", code, desc);
}];

编辑选项必须包含 1 到 200 字符的主题、有效的预约起止时间和非负提醒分钟数。

取消会议

取消是后台会议管理操作,和参会者本地离会不同:

objc
[[BIMManager sharedInstance] cancelMeetingWithNumber:@"123456789"
                                                succ:^(BIMMeeting *meeting) {
    // 使用返回模型中的 Canceled 状态刷新 UI。
} fail:^(int code, NSString *desc) {
    NSLog(@"cancel failed: %d %@", code, desc);
}];

当前 SDK 不提供普通会议成员增量邀请或普通会议显式结束接口。最终结束状态以后台详情、会议列表或会议状态消息为准。