From 1401ce98d480cc4c77507d86dc35c939a5becfe9 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 15 十二月 2021 11:46:26 +0800
Subject: [PATCH] 优化mysql脚本
---
web_src/src/components/dialog/StreamProxyEdit.vue | 148 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 116 insertions(+), 32 deletions(-)
diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue
index b0ea10e..fa09cf8 100644
--- a/web_src/src/components/dialog/StreamProxyEdit.vue
+++ b/web_src/src/components/dialog/StreamProxyEdit.vue
@@ -10,7 +10,7 @@
@close="close()"
>
<div id="shared" style="margin-top: 1rem;margin-right: 100px;">
- <el-form ref="streamProxy" :rules="rules" :model="proxyParam" label-width="140px">
+ <el-form ref="streamProxy" :rules="rules" :model="proxyParam" label-width="140px" >
<el-form-item label="绫诲瀷" prop="type">
<el-select
v-model="proxyParam.type"
@@ -36,11 +36,39 @@
<el-form-item label="鎷夋祦鍦板潃" prop="src_url" v-if="proxyParam.type=='ffmpeg'">
<el-input v-model="proxyParam.src_url" clearable></el-input>
</el-form-item>
- <el-form-item label="瓒呮椂鏃堕棿" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
+ <el-form-item label="瓒呮椂鏃堕棿:姣" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
<el-input v-model="proxyParam.timeout_ms" clearable></el-input>
</el-form-item>
+ <el-form-item label="鑺傜偣閫夋嫨" prop="rtp_type">
+ <el-select
+ v-model="proxyParam.mediaServerId"
+ @change="mediaServerIdChange"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨鎷夋祦鑺傜偣"
+ >
+ <el-option label="鑷姩閫夋嫨" value="auto"></el-option>
+ <el-option
+ v-for="item in mediaServerList"
+ :key="item.id"
+ :label="item.id"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="FFmpeg鍛戒护妯℃澘" prop="ffmpeg_cmd_key" v-if="proxyParam.type=='ffmpeg'">
- <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>
+<!-- <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>-->
+ <el-select
+ v-model="proxyParam.ffmpeg_cmd_key"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨FFmpeg鍛戒护妯℃澘"
+ >
+ <el-option
+ v-for="item in Object.keys(ffmpegCmdList)"
+ :key="item"
+ :label="ffmpegCmdList[item]"
+ :value="item">
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item label="鍥芥爣缂栫爜" prop="gbId">
<el-input v-model="proxyParam.gbId" placeholder="璁剧疆鍥芥爣缂栫爜鍙帹閫佸埌鍥芥爣" clearable></el-input>
@@ -56,20 +84,38 @@
<el-option label="缁勬挱" value="2"></el-option>
</el-select>
</el-form-item>
+
+ <el-form-item label="鍥芥爣骞冲彴">
+ <el-select
+ v-model="proxyParam.platformGbId"
+ style="width: 100%"
+ placeholder="璇烽�夋嫨鍥芥爣骞冲彴"
+ >
+ <el-option
+ v-for="item in platformList"
+ :key="item.name"
+ :label="item.name"
+ :value="item.serverGBId">
+ <span style="float: left">{{ item.name }}</span>
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.serverGBId }}</span>
+ </el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="鍏朵粬閫夐」">
<div style="float: left;">
<el-checkbox label="鍚敤" v-model="proxyParam.enable" ></el-checkbox>
<el-checkbox label="杞琀LS" v-model="proxyParam.enable_hls" ></el-checkbox>
<el-checkbox label="MP4褰曞埗" v-model="proxyParam.enable_mp4" ></el-checkbox>
+ <el-checkbox label="鏃犱汉瑙傜湅鑷姩鍒犻櫎" v-model="proxyParam.enable_remove_none_reader" ></el-checkbox>
</div>
-
+
</el-form-item>
<el-form-item>
<div style="float: right;">
- <el-button type="primary" @click="onSubmit">{{onSubmit_text}}</el-button>
+ <el-button type="primary" @click="onSubmit" :loading="dialogLoading" >{{onSubmit_text}}</el-button>
<el-button @click="close">鍙栨秷</el-button>
</div>
-
+
</el-form-item>
</el-form>
</div>
@@ -78,6 +124,8 @@
</template>
<script>
+import MediaServer from './../service/MediaServer'
+
export default {
name: "streamProxyEdit",
props: {},
@@ -104,13 +152,16 @@
listChangeCallback: null,
showDialog: false,
isLoging: false,
+ dialogLoading: false,
onSubmit_text: "绔嬪嵆鍒涘缓",
+ platformList: [],
+ mediaServer: new MediaServer(),
proxyParam: {
name: null,
type: "default",
app: null,
stream: null,
- url: "rtmp://58.200.131.2:1935/livetv/hunantv",
+ url: "",
src_url: null,
timeout_ms: null,
ffmpeg_cmd_key: null,
@@ -119,8 +170,13 @@
enable: true,
enable_hls: true,
enable_mp4: false,
+ enable_remove_none_reader: false,
+ platformGbId: null,
+ mediaServerId: "auto",
},
-
+ mediaServerList:{},
+ ffmpegCmdList:{},
+
rules: {
name: [{ required: true, message: "璇疯緭鍏ュ悕绉�", trigger: "blur" }],
app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
@@ -138,39 +194,67 @@
this.listChangeCallback = callback;
if (proxyParam != null) {
this.proxyParam = proxyParam;
- this.onSubmit_text = "淇濆瓨";
- } else {
- this.onSubmit_text = "绔嬪嵆鍒涘缓";
}
- },
- onSubmit: function () {
- console.log("onSubmit");
- var that = this;
- that.$axios({
- method: 'post',
- url:`/api/proxy/save`,
- data: that.proxyParam
+
+ let that = this;
+ this.$axios({
+ method: 'get',
+ url:`/api/platform/query/10000/0`
}).then(function (res) {
- console.log(res);
- console.log(res.data == "success");
- if (res.data == "success") {
- that.$message({
- showClose: true,
- message: "淇濆瓨鎴愬姛",
- type: "success",
- });
- that.showDialog = false;
- if (that.listChangeCallback != null) {
- that.listChangeCallback();
- }
+ that.platformList = res.data.list;
+ }).catch(function (error) {
+ console.log(error);
+ });
+ this.mediaServer.getOnlineMediaServerList((data)=>{
+ this.mediaServerList = data;
+ })
+ },
+ mediaServerIdChange:function (){
+ let that = this;
+ if (that.proxyParam.mediaServerId !== "auto"){
+ that.$axios({
+ method: 'get',
+ url:`/api/proxy/ffmpeg_cmd/list`,
+ params: {
+ mediaServerId: that.proxyParam.mediaServerId
}
+ }).then(function (res) {
+ that.ffmpegCmdList = res.data.data;
}).catch(function (error) {
console.log(error);
});
+ }
+
+ },
+ onSubmit: function () {
+ this.dialogLoading = true;
+ var that = this;
+ that.$axios({
+ method: 'post',
+ url:`/api/proxy/save`,
+ data: that.proxyParam
+ }).then(function (res) {
+ that.dialogLoading = false;
+ if (typeof (res.data.code) != "undefined" && res.data.code === 0) {
+ that.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "success",
+ });
+ that.showDialog = false;
+ if (that.listChangeCallback != null) {
+ that.listChangeCallback();
+ that.dialogLoading = false;
+ }
+ }
+ }).catch(function (error) {
+ console.log(error);
+ this.dialogLoading = false;
+ });
},
close: function () {
- console.log("鍏抽棴娣诲姞瑙嗛骞冲彴");
this.showDialog = false;
+ this.dialogLoading = false;
this.$refs.streamProxy.resetFields();
},
deviceGBIdExit: async function (deviceGbId) {
--
Gitblit v1.8.0