提交 dfd2aaf1 编写于 作者: bo.dang's avatar bo.dang

直播管理二期

上级 28f22214
...@@ -45,5 +45,35 @@ export const getRtcInfo = (params) => { ...@@ -45,5 +45,35 @@ export const getRtcInfo = (params) => {
}) })
}; };
// 查询回放信息
export const getPlayback = (params) => {
return fetch({
headers,
url: getBaseUrl(`rtc/liveAdmin/playback/${params.rtcId}`),
method: 'get',
// params: params,
description: '查询回放信息',
})
};
export const postPlayback = (params) => {
return fetch({
headers,
url: getBaseUrl(`rtc/liveAdmin/playback`),
method: 'post',
params: params,
description: '设置/关闭回放',
})
};
export const updateLiveStatus = (params) => {
return fetch({
headers,
url: getBaseUrl(`rtc/liveAdmin/switchLiveStatus`),
method: 'put',
params: params,
description: '更新直播状态',
})
};
...@@ -37,22 +37,39 @@ ...@@ -37,22 +37,39 @@
<span class="word-num">{{(formData.name).replace(/\s+/g,"").length}}/20</span> <span class="word-num">{{(formData.name).replace(/\s+/g,"").length}}/20</span>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="直播方式"> <el-form-item label="直播方式" prop="streamType">
<el-radio-group v-model="formData.streamType" size="small" @change="changeStyle"> <el-radio-group v-model="formData.streamType" size="small" @change="changeStreamType">
<el-radio label="1" :disabled="styleEditFlag">网页直播</el-radio> <el-radio label="1" :disabled="styleEditFlag">网页直播</el-radio>
<el-radio label="2" :disabled="styleEditFlag">拉流直播</el-radio> <el-radio label="2" :disabled="styleEditFlag">拉流直播</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item>
<el-form-item label="拉流地址" v-if="pullFlag" class="required-label">
<el-col :span="13">
<el-input <el-input
size="small" size="small"
v-model="formData.name" v-model="formData.pullStreamRtmp"
maxlength="20"
placeholder="请输入App拉流地址"
style="width:70%;"
:disabled="styleEditFlag"
></el-input>
</el-col>
<el-col :span="13">
<el-input
size="small"
v-model="formData.pullStreamHttp"
maxlength="20" maxlength="20"
placeholder="请填写拉流地址" placeholder="请输入H5拉流地址"
style="width:70%;" style="width:70%;"
:disabled="styleEditFlag" :disabled="styleEditFlag"
></el-input> ></el-input>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="是否公开" prop="scope"> <el-form-item label="是否公开" prop="scope">
<el-radio-group v-model="formData.scope" size="small" @change="changeScope"> <el-radio-group v-model="formData.scope" size="small" @change="changeScope">
<el-radio label="1">否(仅限圈内人观看)</el-radio> <el-radio label="1">否(仅限圈内人观看)</el-radio>
...@@ -135,8 +152,7 @@ ...@@ -135,8 +152,7 @@
class="bg-uploader" class="bg-uploader"
action="#" action="#"
:show-file-list="false" :show-file-list="false"
:before-upload="beforeUploadPic1" :before-upload="beforeUploadPic1">
:disabled="isDisabledIns">
<img <img
v-if="item.content" v-if="item.content"
:src="item.content" :src="item.content"
...@@ -372,10 +388,13 @@ ...@@ -372,10 +388,13 @@
styleEditFlag: false,// 直播方式是否可以编辑 styleEditFlag: false,// 直播方式是否可以编辑
liveEditFlag: false,// 直播方式、讲师是否可以编辑 liveEditFlag: false,// 直播方式、讲师是否可以编辑
guestEditFlag: false,// 嘉宾是否可以编辑 guestEditFlag: false,// 嘉宾是否可以编辑
pullFlag: false, // 是否显示拉流地址
formData: { formData: {
circleId: "",// 圈子ID circleId: "",// 圈子ID
name: '',// 直播名称 name: '',// 直播名称
style: "1", // 直播方式 streamType: "1", // 直播方式
pullStreamRtmp: "", //APP拉流地址
pullStreamHttp: "", //H5拉流地址
scope: "1",// 直播范围 1-非公开 2-公开 scope: "1",// 直播范围 1-非公开 2-公开
infoCollect: "0",// 是否采集用户信息 0-否 1-是 infoCollect: "0",// 是否采集用户信息 0-否 1-是
openTime: '',// 直播开始时间 openTime: '',// 直播开始时间
...@@ -436,6 +455,10 @@ ...@@ -436,6 +455,10 @@
}, },
{ validator: checkProjectStr, trigger: "blur" } { validator: checkProjectStr, trigger: "blur" }
], ],
streamType: [{
required: true, message: "请选择直播方式", trigger: 'blur'
}],
scope:[ scope:[
{required: true} {required: true}
], ],
...@@ -546,14 +569,17 @@ ...@@ -546,14 +569,17 @@
}) })
}, },
getIndexIntroduce(index) { getIndexIntroduce(index) {
if (!this.isDisabledIns) { // if (!this.isDisabledIns) {
if(this.formData.rtcIntroduces != null && this.formData.rtcIntroduces.length > index){ if(this.formData.rtcIntroduces != null && this.formData.rtcIntroduces.length == 1){
index = 0;
}
else if(this.formData.rtcIntroduces != null && this.formData.rtcIntroduces.length > index){
index = index + 1; index = index + 1;
} }
this.introduceIndex = index; this.introduceIndex = index;
}else { // }else {
this.$message.warning('正在上传,请稍等') // this.$message.warning('正在上传,请稍等')
} // }
}, },
//上传直播简介 //上传直播简介
beforeUploadPic1(file) { beforeUploadPic1(file) {
...@@ -661,12 +687,12 @@ ...@@ -661,12 +687,12 @@
const isLt100kb = file.size / 1024 < 100 const isLt100kb = file.size / 1024 < 100
if (!isJPG && !isPNG) { if (!isJPG && !isPNG) {
vm.$message.error('上传直播简介图片只能是 JPEG或者png 格式!') vm.$message.error('上传直播简介图片只能是 JPEG或者png 格式!')
vm.isDisabledIns = false; // vm.isDisabledIns = false;
return; return;
} }
if (!isLt100kb) { if (!isLt100kb) {
vm.$message.error('上传图片大小不能超过 100kb') vm.$message.error('上传图片大小不能超过 100kb')
vm.isDisabledIns = false; // vm.isDisabledIns = false;
return; return;
} }
...@@ -679,7 +705,7 @@ ...@@ -679,7 +705,7 @@
let _this = this; let _this = this;
if (_this.width !== 750) { if (_this.width !== 750) {
vm.$message.info('图片尺寸不一致,无法提交!'); vm.$message.info('图片尺寸不一致,无法提交!');
vm.isDisabledIns = false; // vm.isDisabledIns = false;
return; return;
}else { }else {
doUpload(vm,file, getFilePath(file,null), 'preview4', 'progress1', 1).then(function (path) { doUpload(vm,file, getFilePath(file,null), 'preview4', 'progress1', 1).then(function (path) {
...@@ -687,7 +713,7 @@ ...@@ -687,7 +713,7 @@
vm.formData.rtcIntroduces[vm.introduceIndex].content = path.fullPath; vm.formData.rtcIntroduces[vm.introduceIndex].content = path.fullPath;
vm.formData.rtcIntroduces[vm.introduceIndex].seqNo = vm.introduceIndex+1; vm.formData.rtcIntroduces[vm.introduceIndex].seqNo = vm.introduceIndex+1;
vm.$message.success('上传成功'); vm.$message.success('上传成功');
vm.isDisabledIns = false; // vm.isDisabledIns = false;
}); });
} }
// vm.cleatBroadcast.liveIntroduceModel[vm.introduceIndex].content1 = _this.width + '*' + _this.height; // vm.cleatBroadcast.liveIntroduceModel[vm.introduceIndex].content1 = _this.width + '*' + _this.height;
...@@ -751,7 +777,13 @@ ...@@ -751,7 +777,13 @@
// return isJPG && isLt2M; // return isJPG && isLt2M;
// }, // },
// 直播方式 // 直播方式
changeStyle(){ changeStreamType(){
if(this.formData.streamType == 2){
this.pullFlag = true;
}
else {
this.pullFlag = false;
}
}, },
...@@ -765,10 +797,26 @@ ...@@ -765,10 +797,26 @@
this.isCollectShow = false; this.isCollectShow = false;
} }
}, },
// 校验拉流地址
checkpullStream(){
let flag = true;
if(this.pullFlag){
if(this.formData.pullStreamRtmp == ""){
this.$message.warning("请输入APP拉流地址");
flag = false;
}
if(this.formData.pullStreamHttp == ""){
this.$message.warning("请输入H5拉流地址");
flag = false;
}
}
return flag;
},
// 校验直播简介文字版或图片版 // 校验直播简介文字版或图片版
checkIntroduce(){ checkIntroduce(){
// console.log(this.formData.rtcIntroduces[0].content); // console.log(this.formData.rtcIntroduces[0].content);
console.log(this.formData.rtcIntroduces[1].content); // console.log(this.formData.rtcIntroduces[1].content);
let flag = true; let flag = true;
if(this.formData.textContent == "" if(this.formData.textContent == ""
...@@ -781,6 +829,8 @@ ...@@ -781,6 +829,8 @@
// 增加直播简介 // 增加直播简介
addIntroImage(){ addIntroImage(){
let length = this.formData.rtcIntroduces.length; let length = this.formData.rtcIntroduces.length;
if(length > 5){ if(length > 5){
this.$message.warning("直播简介图片最多支持新增5张图片!"); this.$message.warning("直播简介图片最多支持新增5张图片!");
return; return;
...@@ -791,7 +841,6 @@ ...@@ -791,7 +841,6 @@
content: '', content: '',
type: 2 // 文字 type: 2 // 文字
}; };
this.formData.rtcIntroduces.push(item); this.formData.rtcIntroduces.push(item);
}, },
...@@ -994,6 +1043,10 @@ ...@@ -994,6 +1043,10 @@
this.submitFlag = true; this.submitFlag = true;
this.setFormData(); this.setFormData();
// 校验拉流地址
if(!this.checkpullStream()){
return;
}
// 校验直播简介文字版或图片版 // 校验直播简介文字版或图片版
if(!this.checkIntroduce()){ if(!this.checkIntroduce()){
return; return;
...@@ -1007,6 +1060,11 @@ ...@@ -1007,6 +1060,11 @@
return; return;
} }
if(!this.pullFlag){
this.formData.pullStreamHttp = "";
this.formData.pullStreamRtmp = "";
}
let req = this.formData; let req = this.formData;
openLoading(this); openLoading(this);
this.POST('rtc/liveAdmin', req).then((res) => { this.POST('rtc/liveAdmin', req).then((res) => {
......
...@@ -58,18 +58,29 @@ ...@@ -58,18 +58,29 @@
<el-table-column label="操作" min-width="300" align="center"> <el-table-column label="操作" min-width="300" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button @click="reviewLive(scope.row)" type="text" size="small">设置回放</el-button> --> <!-- <el-button @click="reviewLive(scope.row)" type="text" size="small">设置回放</el-button> -->
<el-button @click="setPlayback(scope.row)" type="text" size="small">设置回放</el-button>
<el-button @click="closePlayback(scope.row)" type="text" size="small">关闭回放</el-button>
<el-button <el-button
@click="liveLink(scope.row)" @click="liveLink(scope.row)"
type="text" type="text"
size="small" size="small"
v-if="!(scope.row.liveStatus==4 && scope.row.liveScope==1)">直播链接</el-button> v-if="!(scope.row.liveStatus==4 && scope.row.liveScope==1)">直播链接</el-button>
<el-button
@click="updatelive(scope.row)"
type="text"
size="small"
v-if="scope.row.liveStatus==2 && scope.row.streamType==2">结束直播</el-button>
<el-button <el-button
@click="countLive(scope.row)" @click="countLive(scope.row)"
type="text" type="text"
size="small" size="small"
v-if="scope.row.liveStatus==4">数据统计</el-button> v-if="scope.row.liveStatus==4">数据统计</el-button>
<el-button @click="editLive(scope.row)" type="text" size="small">编辑</el-button> <el-button @click="editLive(scope.row)" type="text" size="small">编辑</el-button>
<el-button @click="setPlayback(scope.row)" type="text" size="small" v-if="playbackSetFlag == 1">设置回放</el-button> <!--<el-button @click="setPlayback(scope.row)" type="text" size="small" v-if="scope.row.playbackSetFlag == 1">设置回放</el-button>-->
<!--<el-button @click="setPlayback(scope.row)" type="text" size="small" v-if="scope.row.playbackSetFlag == 1">关闭回放</el-button>-->
<!-- <el-button @click="deleteLive(scope.row)" type="text" size="small">删除</el-button> --> <!-- <el-button @click="deleteLive(scope.row)" type="text" size="small">删除</el-button> -->
</template> </template>
</el-table-column> </el-table-column>
...@@ -144,49 +155,109 @@ ...@@ -144,49 +155,109 @@
:close-on-click-modal="false" :close-on-click-modal="false"
@close="handleLivePlaybackClose" @close="handleLivePlaybackClose"
center> center>
<el-form :model="playbackForm">
<!--<input type="text" id="copyInput" class="hidden-input" />--> <!--<input type="text" id="copyInput" class="hidden-input" />-->
<div class="live_url_style"> <div class="live_url_style" v-if="selectFlag">
<el-radio-group size="small" style="line-height: 30px;" v-model="canPlayback" @change="changePlayback"> <el-radio-group size="small" style="line-height: 30px;" v-model="playbackForm.videoSource" @change="changeVideoSource">
<el-radio label="1">使用直播原视频播放</el-radio> <el-radio label="1">使用直播原视频播放</el-radio>
<el-radio label="2">上传回放视频(下载原视频编辑后上传)</el-radio> <el-radio label="2">上传回放视频(下载原视频编辑后上传)</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
<div style="float:left;margin-left:30px;"> <div v-if="uploadFlag">
<div v-if="numberShowFlag">
<span>存在"{{}}"直播原视频,请下载合并后上传</span>
</div>
<div style="margin-left:30px;">
<span>①下载原视频</span> <span>①下载原视频</span>
<el-button @click="download('model')" type="text" size="small">下载</el-button> <!--<el-col :span="1">-->
<!--<img style="vertical-align: middle" src="../../assets/image/icon_download.png" />-->
<!--</el-col>-->
<el-button @click="download('model')" style="margin-left: 190px;" size="small" type="text">下载</el-button>
</div> </div>
<div style="float:left;margin-left:30px;"> <div style="margin-left:30px;">
<span>②上传回放视频</span> <span>②上传回放视频</span>
<el-upload <el-upload style="float:right;"
v-if="isMgUrl"
v-model="playbackUrl" v-model="playbackUrl"
class="bg-uploader"
action="#" action="#"
accept="*/*" accept="*/*"
:limit="1" :limit="1"
:before-upload="beforeVideoUpload"> :before-upload="beforeVideoUpload">
<!--<el-col :span="1">-->
<!--<img style="vertical-align: middle" src="../../assets/image/icon_upload.png" />-->
<!--</el-col>-->
<el-button type="text" size="small" v-if="fileFlag">上传(仅支持mp4)</el-button>
<!--<video class="video-mg-url" controls preload :src="cleatBroadcast.liveInfo.mgUrl"></video>--> <!--<video class="video-mg-url" controls preload :src="cleatBroadcast.liveInfo.mgUrl"></video>-->
<!-- <img v-if="!cleatBroadcast.liveInfo.mgUrl" class="video-bg-img" src="../../../static/img/small.png"> --> <!-- <img v-if="!cleatBroadcast.liveInfo.mgUrl" class="video-bg-img" src="../../../static/img/small.png"> -->
</el-upload> </el-upload>
<el-progress
:text-inside="true"
:stroke-width="16"
:percentage="uploadProgress1"
status="success"
v-show="uploadProgress1 > 0 && uploadProgress1 < 100">
</el-progress>
<div v-if="deleteFileFlag">
<span>{{fileName}}({{fileSize}}M)</span>
<el-button @click="delVideo" style="margin-left: 190px;" size="small" type="text">删除</el-button>
</div>
<!--<div v-if="fileFlag">-->
<!---->
<!--<el-progress-->
<!--:text-inside="true"-->
<!--:stroke-width="16"-->
<!--:percentage="uploadProgress1"-->
<!--status="success"-->
<!--v-show="uploadProgress1 > 0 && uploadProgress1 < 100">-->
<!--</el-progress>-->
<!--</div>-->
<el-button @click="upload" type="text" size="small">上传(仅支持mp4)</el-button>
</div>
</div> </div>
<div slot="footer" class="dialog-footer"> </el-form>
<el-button type="primary" @click="openPlay" right>开启回放</el-button>
<div slot="footer" class="dialog-footer" style="text-align: right;">
<el-button type="primary" @click="submitPlayback(1)" right>开启回放</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!--<el-dialog-->
<!--title="关闭回放"-->
<!--:visible.sync="closePlaybackVisible"-->
<!--width="500px"-->
<!--:close-on-click-modal="false"-->
<!--@close="handleLivePlaybackClose"-->
<!--center>-->
<!--<div slot="footer" class="dialog-footer" style="text-align: right;">-->
<!--<el-button @click="closePlaybackVisible = false">取 消</el-button>-->
<!--<el-button type="primary" @click="submitPlayback(0)" right>结束回放</el-button>-->
<!--</div>-->
<!--</el-dialog>-->
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {openLoading} from "../../utils/utils";
let vm = null; let vm = null;
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import { getPlayback, postPlayback, updateLiveStatus } from "../../utils/yqrange/yqrangeApi";
import { doUpload, getFilePath } from "../../utils/qiniu-util";
export default { export default {
components: { components: {
BreadCrumb BreadCrumb
...@@ -198,8 +269,14 @@ export default { ...@@ -198,8 +269,14 @@ export default {
dialogStatisticsVisible: false, dialogStatisticsVisible: false,
dialogLivelinkVisible: false, dialogLivelinkVisible: false,
dialogLivePlaybackVisible: false, dialogLivePlaybackVisible: false,
// closePlaybackVisible: false,
playbackSetFlag: 1, playbackSetFlag: 1,
canPlayback: 1, canPlayback: "1",
uploadFlag: false,
selectFlag: true,
numberShowFlag: false,
videoNumber: 0,
playbackUrl: "",
searchForm: { searchForm: {
liveName: "", liveName: "",
liveStatus: "", liveStatus: "",
...@@ -244,7 +321,28 @@ export default { ...@@ -244,7 +321,28 @@ export default {
lecturerUrl: "https://dev.yunxin.163.com/", lecturerUrl: "https://dev.yunxin.163.com/",
guestUrl: "https://www.cnblogs.com/", guestUrl: "https://www.cnblogs.com/",
audienceUrl: "https://www.soho.com", audienceUrl: "https://www.soho.com",
playbackForm: {
canPlayback: 0,
playbackUrls: {
downloadUrls: [],
originalUrls: [],
},
rtcId: "",
videoSource: 1,
videos: [{
seqNo: "",
videoName: "",
videoSize: "",
videoSource: "",
videoType: "",
videoUrl: ""
}]
},
uploadProgress1: 0,
fileName: "",
fileSize: 0,
fileFlag: true,
deleteFileFlag: false,
circleId: null circleId: null
}; };
}, },
...@@ -322,20 +420,58 @@ export default { ...@@ -322,20 +420,58 @@ export default {
handleLivelinkClose() { handleLivelinkClose() {
this.dialogLivelinkVisible = false; this.dialogLivelinkVisible = false;
}, },
//回放
// // 查询回放信息
// getPlayback(){
//
// }
//设置回放
setPlayback(row) { setPlayback(row) {
this.dialogLivePlaybackVisible = true; this.dialogLivePlaybackVisible = true;
const rtcId = row.rtcId;
getPlayback({rtcId}).then((res) => {
if(res.code == "000000") {
this.playbackForm = res.data;
if(this.playbackForm.playbackUrls != null){
if(this.playbackForm.playbackUrls.originalUrls != null){
// 存在多个原视频
if(this.playbackForm.playbackUrls.originalUrls.length > 1){
this.selectFlag = false;
this.numberShowFlag = true;
this.videoNumber = this.playbackForm.playbackUrls.originalUrls.length;
}
else {
this.selectFlag = true;
this.numberShowFlag = false;
}
}
}
}
}).catch((error) => {
this.$message({
message: error,
type: 'error'
});
})
}, },
//关闭设置回放弹窗 //关闭设置回放弹窗
handleLivePlaybackClose() { handleLivePlaybackClose() {
this.dialogLivePlaybackVisible = false; this.dialogLivePlaybackVisible = false;
this.uploadFlag = false;
}, },
// 设置回放方式 // 设置回放方式
changePlayback(){ changeVideoSource(){
if(this.canPlayback == 2){ if(this.playbackForm.videoSource == 2){
this.uploadFlag = true;
}
else {
this.uploadFlag = false;
} }
}, },
...@@ -350,9 +486,29 @@ export default { ...@@ -350,9 +486,29 @@ export default {
} else if (type == "fail") { } else if (type == "fail") {
downloadUrl = vm.failExcelUrl; downloadUrl = vm.failExcelUrl;
} }
console.log("下载", type, downloadUrl); console.log("下载", type, downloadUrl);
setTimeout(() => { setTimeout(() => {
window.open(downloadUrl);
var link = document.createElement("a");
link.download = "f0.mp4";
var url = downloadUrl;
link.href = url;
if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE9.0" ||
navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE10.0"){
window.open(url,'blank')
}else if (navigator.userAgent.indexOf("Firefox/") > -1){
window.open(url,'blank')
} else{
// link.click();
window.open(url,'blank')
}
// window.open(downloadUrl,'_blank');
}, 500); }, 500);
...@@ -363,23 +519,164 @@ export default { ...@@ -363,23 +519,164 @@ export default {
}, },
// 上传视频 // 上传视频
beforeVideoUpload(){ beforeVideoUpload(file){
vm.fileFlag = true;
vm.fileName = file.name;
if(file.size != null){
vm.fileSize = (file.size / 1024 / 1024).toFixed(1);
}
else {
vm.fileSize = file.size;
}
vm.$message.success('开始上传') vm.$message.success('开始上传')
doUpload(vm,file, getFilePath(file,null), 'preview4', 'uploadProgress1', '').then(function (path) { doUpload(vm,file, getFilePath(file,null), 'preview4', 'uploadProgress1', '').then(function (path) {
vm.cleatBroadcast.liveInfo.mgUrl = path.fullPath; vm.playbackForm.videos = [{
seqNo: 0,
videoName: vm.fileName,
videoSize: file.size,
videoSource: 2,
videoType: 1,
videoUrl: path.fullPath
}];
// vm.playbackForm.videos[0].seqNo = 0;
// vm.playbackForm.videos[0].videoName = vm.fileName;
// vm.playbackForm.videos[0].videoSize = file.size();
// vm.playbackForm.videos[0].videoSource = 2;
// vm.playbackForm.videos[0].videoType = 1;
// vm.playbackForm.videos[0].videoUrl = path.fullPath;
vm.fileFlag = false;
vm.deleteFileFlag = true;
vm.$message.success('上传成功') vm.$message.success('上传成功')
}); });
}, },
// 删除视频
delVideo(){
vm.fileFlag = true;
vm.deleteFileFlag = false;
vm.playbackForm.videos = [];
},
// 开启回放/结束回放
submitPlayback(canPlayback){
openLoading(this);
if(vm.uploadFlag && canPlayback == 1){
if(vm.playbackForm.videos == null || vm.playbackForm.videos.length == 0){
this.$message.warning("请上传回放视频");
}
}
// 开启回放 // 开启回放
openPlay(){ this.playbackForm.canPlayback = canPlayback;
let params = this.playbackForm;
postPlayback(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
if(canPlayback == 0){
this.$message.error("开启成功");
}
else {
this.$message.error("关闭成功");
}
} else {
if(canPlayback == 0){
this.$message.error("开启失败,请重试");
}
else {
this.$message.error("关闭失败,请重试");
}
}
}).catch((error) => {
this.$message.error("请重试");
})
}, },
// 关闭回放
closePlayback(){
this.$confirm(`确定关闭回放吗?`, "", {
confirmButtonText: "关闭回放",
cancelButtonText: "取消",
type: "warning"
// customClass: 'range-make-box',
})
.then(() => {
openLoading(this);
// confirm
let params = {rtcId: row.rtcId, canPlayback: 0};
updateLiveStatus(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
if(canPlayback == 0){
this.$message.success("关闭成功");
}
} else {
this.$message.error("关闭失败,请重试");
}
}).catch((error) => {
this.$message.error("请重试");
})
})
.catch(() => {});
},
// 结束直播
updatelive(row){
this.$confirm(`确定结束直播吗?`, "", {
confirmButtonText: "结束直播",
cancelButtonText: "取消",
type: "warning"
// customClass: 'range-make-box',
})
.then(() => {
openLoading(this);
// confirm
let params = {rtcId: row.rtcId,liveStatus: 4};
updateLiveStatus(params).then((res) => {
closeLoading(this);
if(res.code == "000000") {
if(canPlayback == 0){
this.$message.success("结束成功");
}
} else {
this.$message.error("结束失败,请重试");
}
}).catch((error) => {
this.$message.error("请重试");
})
})
.catch(() => {});
},
//数据统计 //数据统计
countLive(row) { countLive(row) {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册