更新时间:2024-07-30 GMT+08:00

预约周期会议

BookCycleConf

接口描述

该接口用于预约周期会议。

注意事项

  1. 该接口在已登录状态下才能调用。
  2. 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
  3. 会议开始时间必须晚于当前时间,会议时长应大于15分钟。
  4. 携带与会者入会的时候需要传入attendees。
  5. 周期会议最大跨度一年,会议数量不超过50,超过则只预约前50个会议。
  6. 回调函数中会返回预约成功后的会议详情,详见HwmConfDetail结构体表。如果参数内只有会议id有值则获取会议详情失败。

方法定义

1
HWM_SDK_AGENT_API hwmsdk::HwmErrCode BookCycleConf(const HwmBookCycleConfParam *bookCycleConfParam);

回调函数

1
virtual void OnBookCycleConfResult(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail) {};

参数描述

表1 结构体HwmBookCycleConfParam参数说明

参数

是否必须

类型

描述

bookCycleConfParam

HwmBookConfParam

预约会议参数

cycleParam

HwmCycleConfParam

周期会议参数

表2 结构体HwmCycleConfParam参数说明

参数

是否必须

类型

描述

startDate

long long

开始日期-时间戳,精度秒(0时区)

endDate

long long

结束日期-时间戳,精度秒(0时区)

cycleType

HwmCycleType

周期类型

interval

unsigned int

周期区间。

1、周期类型选择了按天,表示每几天召开一次,取值范围[1,15];

2、周期类型选择了Week,表示每几周召开一次,取值范围[1,5];

3、周期类型选择了Month,interval表示隔几月,取值范围[1,3]

listPoints

char[]

周期内的会议召开点。仅当按周和月时有效。数据格式(中间用逗号隔开):1,3,5,7

- 当按周时,取值范围[0,6],0代表周日,1代表周一,以此类推;

- 当按月时,取值范围[1,31],若当月不含31号,则认为是当月最后一天

preRemindDays

unsigned int

周期子会议提前通知天数。

表3 枚举HwmCycleType说明

枚举值

描述

CYCLE_TYPE_DAY

以天为周期。

CYCLE_TYPE_WEEK

以周为周期。

CYCLE_TYPE_MONTH

以月为周期。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
* 预约会议
*/
int CdemoBookConfDlg::OnBnClickedBookCycleConf()
{
    hwmsdkagent::HwmBookConfParam data{};
    strncpy_s(data.subject, GetConfSubject().c_str(), HWM_MAX_SUBJECT_LEN); // 此处应是utf-8编码字符串
    data.confType = hwmsdkagent::HwmConfMediaType::HWM_VIDEO_AND_DATA;
    data.isNeedConfPwd = true;
    data.isAutoRecordOn = true;
    data.isRecordOn = true;
    data.startTime = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    data.duration = 30; //会议持续时长(分钟)
    data.timeZone = 56; //时区,56表示东八区
    data.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL;
    
    std::vector<hwmsdkagent::HwmAttendeeInfo> attendeeList;
    //被邀与会者
    hwmsdkagent::HwmAttendeeInfo attendeeInfo{};
    strncpy_s(attendeeInfo.name, GetAttName().c_str(), HWM_MAX_USER_NAME_LEN);
    strncpy_s(attendeeInfo.number, GetAttNumber().c_str(), HWM_MAX_NUMBER_LEN);
    strncpy_s(attendeeInfo.email, GetAttEmail().c_str(), HWM_MAX_EMAIL_LEN);
    strncpy_s(attendeeInfo.sms, GetAttSms().c_str(), HWM_MAX_PHONE_NUM_LEN);
    strncpy_s(attendeeInfo.thirdUserId, GetAttUserId().c_str(), HWM_MAX_USER_ID_LEN);
    attendeeInfo.isMute = true;
    attendeeInfo.isAutoInvite = true;
    attendeeList.push_back(attendeeInfo);
 
    data.attendees = attendeeList.data();
    data.attendeeLen = attendeeList.size(); 
    data.isSmsOn = true;
    data.isMailOn = true;
    data.isEmailCalendarOn = true;
    hwmsdkagent::HwmCycleConfParam cycleConfParam{};
    cycleConfParam.startDate = 1633017600; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    cycleConfParam.endDate= 1636560000; //utc时间戳,单位秒,如果获取的时间是本地时间,需要转换成utc时间
    cycleConfParam.cycleType = hwmsdkagent::CYCLE_TYPE_WEEK;
    strcpy_s(cycleConfParam.listPoints, sizeof(cycleConfParam.listPoints), "1,5"); // 每周的星期1,星期5
    cycleConfParam.preRemindDays = 1;

    hwmsdkagent::HwmBookCycleConfParam bookCycleConfParam{};
    bookCycleConfParam.bookConfParam = data;
    bookCycleConfParam.cycleParam = cycleConfParam;
    return hwmsdkagent::BookCycleConf(&bookCycleConfParam);
}