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

场景4:编辑会议

描述

预约会议成功后,可以通过编辑会议接口来编辑会议信息,在编辑会议时可以添加与会者。

业务流程

得到会议列表以后,若要编辑会议,需要先通过GetConfDetail接口查询会议详情,在接口回调OnGetConfDetail中处理详情数据,再调用EditConf接口对会议详情进行修改,并处理回调函数OnEditConfResult和消息通知OnConfList。

  1. 获取会议详情

    1. 调用GetConfDetail接口。

  2. 处理回调函数

    处理回调OnGetConfDetail,得到会议详情数据。

  3. 调用编辑会议接口

    1. 使用步骤2获取的数据,组装数据结构HwmEditConfParam(包含结构内的

      HwmAttendeeInfo)。

    2. 调用EditConf接口,第1步中的数据作为入参。

  4. 处理回调函数

    处理回调函数OnEditConfResult。

  5. 处理消息通知

    处理消息通知OnConfList。

示例代码

1
2
3
4
5
6
7
8
/**
* 获取会议详情
*/
int demoEditConfDlg::GetConfDetail()
{
    int ret =hwmsdkagent::GetConfDetail(GetConfID()); // 使用会议id查询会议详细信息
    return ret;
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
/**
* 会议详情回调处理
*/
void demoCallbackProc::OnGetConfDetail(hwmsdk::HwmErrCode ret, const char* reason, const HwmConfDetail* confDetail)
{
    if (confDetail == nullptr)
    {
        return;
    }
    // 此处省略缓存会议详情数据代码
    CString codeStr;
    codeStr.Format(_T("%d"), ret);
    string msgStr = CTools::UTF82MultiByte(msg);
    CString tips = _T("OnGetConfDetail code:") + codeStr + _T(", msg:") + CString(msgStr.c_str());
    AfxMessageBox(tips);
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
/**
* 编辑会议接口
*/
int demoEditConfDlg::EditConf()
{
    hwmsdkagent::HwmConfDetail confDetail{0}; //从缓存中得到会议详情数据赋予confDetail
    hwmsdkagent::HwmEditConfParam editConfParam{ 0 };
    //根据实际需求拷贝confDetail的数据
    strncpy_s(editConfParam.confId, confDetail.confListInfo.confId, HWM_MAX_CONF_ID_LEN);
    editConfParam.vmrFlag = confDetail.vmrFlag;
    strncpy_s(editConfParam.vmrId, confInfo.vmrId, HWM_MAX_VMR_CONF_ID_LEN);
    // 此处省略部分赋值代码
    editConfParam.timeZone = 56; // 本地时区,用户依据自身情况自己调整,56东八区
    editConfParam.isRecordOn = false; //默认会议不启用允许录制
    editConfParam.isAutoRecordOn = false; //默认会议不启用自动录制
    editConfParam.startTime = 1598398920; //utc时间戳
    editConfParam.duration = 0 * 60 + 30;//会议时长
    editConfParam.joinConfRestrictionType = hwmsdkagent::HwmJoinConfPermissionType::RESTRICTION_CALL_IN_ALL; //取编辑会议上面的允许入会用户类型
    return hwmsdkagent::EditConf(&editConfParam);
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/**
* 编辑会议接口回调
*/
void demoCallbackProc::OnEditConfResult()
{
    CString codeStr;
    codeStr.Format(_T("%d"), ret);
    string msgStr = CTools::UTF82MultiByte(msg);
    CString tips = _T("OnEditConfResult code:") + codeStr + _T(", msg:") + CString(msgStr.c_str());
    AfxMessageBox(tips);
}

OnConfList事件通知跟预约会议场景相同,请参考预约会议的示例代码