Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
提交
议题看板
打开侧边栏
jingqi.liu
pica.cloud.web-education-admin
提交
dfd2aaf1
提交
dfd2aaf1
编写于
7月 07, 2020
作者:
bo.dang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
直播管理二期
上级
28f22214
变更
5
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
427 行增加
和
42 行删除
+427
-42
icon_download.png
src/assets/image/icon_download.png
+0
-0
icon_upload.png
src/assets/image/icon_upload.png
+0
-0
yqrangeApi.js
src/utils/yqrange/yqrangeApi.js
+30
-0
create-live.vue
src/views/yqrange/create-live.vue
+77
-19
live-manage.vue
src/views/yqrange/live-manage.vue
+320
-23
未找到文件。
src/assets/image/icon_download.png
0 → 100644
浏览文件 @
dfd2aaf1
1.4 KB
src/assets/image/icon_upload.png
0 → 100644
浏览文件 @
dfd2aaf1
1.4 KB
src/utils/yqrange/yqrangeApi.js
浏览文件 @
dfd2aaf1
...
@@ -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
:
'更新直播状态'
,
})
};
src/views/yqrange/create-live.vue
浏览文件 @
dfd2aaf1
...
@@ -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=
"changeSt
yl
e"
>
<el-radio-group
v-model=
"formData.streamType"
size=
"small"
@
change=
"changeSt
reamTyp
e"
>
<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
size=
"small"
v-model=
"formData.pullStreamRtmp"
maxlength=
"20"
placeholder=
"请输入App拉流地址"
style=
"width:70%;"
:disabled=
"styleEditFlag"
></el-input>
</el-col>
<el-col
:span=
"13"
>
<el-input
<el-input
size=
"small"
size=
"small"
v-model=
"formData.
name
"
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) => {
...
...
src/views/yqrange/live-manage.vue
浏览文件 @
dfd2aaf1
此差异已折叠。
点击以展开。
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录