切换主题
创建音视频会议
提示
当前用户必须登录成功才可以创建会议
创建音视频会议示例
<script setup name="CreateConf">
import { ref, reactive,computed } from 'vue'
import {ElMessage} from 'element-plus'
import { checkInstance, getInstanceFCC } from '../../use-fcc'
import { setLog } from '../../use-log'
import addNumber from './addNumber.vue'
const meetingName = ref('会议测试')
const loading = ref(false)
const meetingType = ref('3') // 会议类型 1 视频 3 语音
const meetingList = ref([{"objId": "","objName": "","objType": "","partDev": "","typeId": ""}])
const handleAddMeeting = () => {
meetingList.value.push(
{"objId": "","objName": "","objType": "","partDev": "","typeId": ""}
)
}
const handleCancelMembers = (index) => {
meetingList.value.splice(index, 1)
}
const startMeeting = async (type) => {
setLog({
name: '开始创建会议'
})
if (loading.value) {
setLog({
name: '创建会议结果',
msg: '请先实例化'
})
return
}
if (!await checkInstance()) {
setLog({
name: '创建会议',
msg: '请先实例化',
type: 'warning'
})
return
}
if (!meetingName.value) {
setLog({
name: '创建会议',
msg: `参数错误,请输入会议名称`,
type: 'warning'
})
return
}
loading.value = true
let result = await getInstanceFCC().createConf({
meetingName: meetingName.value,
members: JSON.parse(JSON.stringify(meetingList.value)), // 会议成员
type: meetingType.value // 会议类型 1 视频 3 语音
})
setLog({
name: '创建会议结果',
msg: result
})
loading.value = false
if (result.status == 200) {
ElMessage({
message: '创建会议成功',
type: 'success'
})
} else {
ElMessage({
message: result.msg,
type: 'info'
})
}
}
</script>
<template>
<el-form>
<el-form-item label="会议名称" :style="{'margin-top': '10px'}">
<el-input v-model="meetingName" placeholder="请输入会议名称" ></el-input>
</el-form-item>
<el-form-item label="会议类型" :style="{'margin-top': '10px'}">
<el-radio-group v-model="meetingType">
<el-radio label="1">语音会议</el-radio>
<el-radio label="3">视频会议</el-radio>
</el-radio-group>
</el-form-item>
<addNumber :meetingList="meetingList" @add-meeting="handleAddMeeting" @cancel-members="handleCancelMembers" />
<el-form-item>
<el-button type="primary" @click="startMeeting" :loading="loading">创建会议</el-button>
</el-form-item>
</el-form>
</template>
<style scoped>
.meet-list{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.meet-item{
width: 24.25%;
margin-right: 1%;
}
.meet-item:last-child{
margin-right: 0;
}
</style>使用方法
typescript
// 创会者必须将自己作为入会成员,进行创会。创会成功后,创会者会自动入会
const params = {
meetingName: '视频会议',
members:[
{
objType: "2",
objId: "ceshi1",
objName: "测试1",
partDev: "4"
}
],
type: '1' //视频会议
}
let result = await fcc.createConf(params)1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
入参说明
| 参数名 | 数据类型 | 选取原则 | 说明 |
|---|---|---|---|
| meetingName | string | 必选 | 会议名称 |
| type | string | 必选 | 会议类型:1-视频会议 3-语音会议。当类型为3时,所有 与会人将语音入会 |
| members | array | 必选 | 参会人员列表信息,详见下表 |
| 参数名 | 数据类型 | 选取原则 | 说明 |
|---|---|---|---|
| objType | string | 必选 | 参会对象类型, 1-设备 2-用户 3-外部用户(电话入会) 5-welink |
| objId | string | 必选 | 用户类型为1时,对应的是设备代码(DEVICE_CODE) 用户类型为1时,对应的是设备代码(DEVICE_CODE) 用户类型为2时,对应的是融合通讯账号(USER_ACCOUNT) 用户类型为3时,对应的是人员编号(PHONE_NUNBER) |
| objName | string | 必选 | 用户类型为1时,对应的是设备名称(DEVICE_NAME) 用户类型为2时,对应的是用户姓名(USER_NAME) 用户类型为3时,对应的是通讯录人员名称(PERSON_NAME) 用户类型为5时,对应的是用户姓名(USER_NAME) |
| partDev | string | 必选 | 入会方式, 3-电话入会 4-视频入会 6-语音入会 |
出参说明
| 出参名称 | 数据类型 | 说明 |
|---|---|---|
| code | number | 调用对应接口返回结果的状态码, 其含义请参考融合通讯的中台通用状态码 |
| msg | string | 给开发者的文字提示信息 |
| data | object | { "meetingSno": "xxx", // 会议流水号 "password": "xxx", // 会议密码 "meetingName": "xxx", // 会议名称 "access_code": "xxx", // 会议接入码-主动入会时会用到 "members": [{ "objType": "xxx", // 用户类型 "objId": "xxx", // 参会成员id "objName": "xxx", // 用户昵称 "partDev": "xxx", // 加入会议方式 "partSno": "xxx" // 调度号 }] "meetingId": "xxx" // 会议id } |
