This commit is contained in:
jiumikeji 2025-05-07 23:08:30 +08:00
parent 95b74b7d1a
commit 24702e3d3d
8 changed files with 70 additions and 31 deletions

View File

@ -95,5 +95,4 @@ public class LogController {
response.setStatus(HttpServletResponse.SC_NO_CONTENT); response.setStatus(HttpServletResponse.SC_NO_CONTENT);
} }
} }
} }

View File

@ -28,9 +28,11 @@ spring:
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
#url: jdbc:mysql://123.6.102.223:28306/wvprtsp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
url: jdbc:mysql://127.0.0.1:3306/wvprtsp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true url: jdbc:mysql://127.0.0.1:3306/wvprtsp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: root username: root
password: 2fbeccb829d05a67 # password: 2fbeccb829d05a67
password: 123456
#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口 #[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
server: server:
port: 18080 port: 18080
@ -63,9 +65,10 @@ sip:
#zlm 默认服务器配置 #zlm 默认服务器配置
media: media:
#这个ID很重要一定配zlmediakit配置文件的mediaServerId的值
id: zlmediakit-local id: zlmediakit-local
# [必须修改] zlm服务器的内网IP # [必须修改] zlm服务器的内网IP
ip: 127.0.0.1 ip: 111.7.106.28
# [必须修改] zlm服务器的http.port # [必须修改] zlm服务器的http.port
http-port: 6080 http-port: 6080
# [必选选] zlm服务器的hook.admin_params=secret # [必选选] zlm服务器的hook.admin_params=secret
@ -75,9 +78,9 @@ media:
# [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输 # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
enable: true enable: true
# [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性不然自动配置此属性可能不成功 # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性不然自动配置此属性可能不成功
port-range: 40000,45000 # 端口范围 port-range: 41000,45000 # 端口范围
# [可选] 国标级联在此范围内选择端口发送媒体流, # [可选] 国标级联在此范围内选择端口发送媒体流,
send-port-range: 50000,55000 # 端口范围 send-port-range: 51000,55000 # 端口范围
# [根据业务需求配置] # [根据业务需求配置]
user-settings: user-settings:
# 点播/录像回放 等待超时时间,单位:毫秒 # 点播/录像回放 等待超时时间,单位:毫秒

View File

@ -12,14 +12,18 @@ module.exports = {
assetsPublicPath: '/', assetsPublicPath: '/',
proxyTable: { proxyTable: {
'/debug': { '/debug': {
target: 'http://rtsp.api.hebei9.cn', // target: 'http://111.7.106.28:18080',
// target: 'http://rtsp.api.hebei9.cn',
target: 'http://127.0.0.1:18080',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/debug': '/' '^/debug': '/'
} }
}, },
'/static/snap': { '/static/snap': {
target: 'http://rtsp.api.hebei9.cn', // target: 'http://111.7.106.28:18080',
// target: 'http://rtsp.api.hebei9.cn',
target: 'http://127.0.0.1:18080',
changeOrigin: true, changeOrigin: true,
// pathRewrite: { // pathRewrite: {
// '^/static/snap': '/static/snap' // '^/static/snap': '/static/snap'

View File

@ -79,9 +79,9 @@
</el-button> </el-button>
<el-button size="medium" icon="el-icon-download" type="text" @click="downloadFile(scope.row)">下载 <el-button size="medium" icon="el-icon-download" type="text" @click="downloadFile(scope.row)">下载
</el-button> </el-button>
<!-- <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c"--> <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c"
<!-- @click="deleteRecord(scope.row)">删除--> @click="deleteRecord(scope.row)">删除
<!-- </el-button>--> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -265,24 +265,29 @@ export default {
console.log(error); console.log(error);
}); });
}, },
deleteRecord() { deleteRecord(row) {
// TODO // TODO
let msg = "确定删除此录像?"
let that = this; let that = this;
this.$axios({ // console.log(row)
method: 'delete', this.$confirm(msg, '提示', {
url: `/record_proxy/api/record/delete`, dangerouslyUseHTMLString: true,
params: { confirmButtonText: '确定',
page: that.currentPage, cancelButtonText: '取消',
count: that.count center: true,
} type: 'warning'
}).then(function (res) { }).then(() => {
console.log(res) this.$axios({
if (res.data.code === 0) { method: 'delete',
that.total = res.data.data.total; url: `/api/cloud/record/${row.id}/delete`,
that.recordList = res.data.data.list; }).then(function (res) {
} // console.log(res)
}).catch(function (error) { that.getRecordList()
console.log(error); }).catch(function (error) {
console.log(error);
});
}).catch(() => {
}); });
}, },
formatTime(time) { formatTime(time) {

View File

@ -10,6 +10,10 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div class="tishi_msg">-->
<!-- <p>穿透地址123.6.102.223</p>-->
<!-- <p>穿透端口61160</p>-->
<!-- </div>-->
<div id="shared" style="text-align: right; margin-top: 1rem; background-color: #FFFFFF; padding-top: 2rem;"> <div id="shared" style="text-align: right; margin-top: 1rem; background-color: #FFFFFF; padding-top: 2rem;">
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="11"> <el-col :span="11">

View File

@ -12,10 +12,17 @@
<div id="shared" style="margin-right: 18px;"> <div id="shared" style="margin-right: 18px;">
<el-form ref="pushKeyForm" :rules="rules" status-icon label-width="86px"> <el-form ref="pushKeyForm" :rules="rules" status-icon label-width="86px">
<el-form-item label="新pushKey" prop="newPushKey" > <el-form-item label="新pushKey" prop="newPushKey" >
<el-input v-model="newPushKey" autocomplete="off"></el-input> <el-row :gutter="20">
<el-col :span="20">
<el-input v-model="newPushKey" autocomplete="off"></el-input>
</el-col>
<el-col :span="2">
<el-button type="warning" @click="buildCodeEvent">生成KEY</el-button>
</el-col>
</el-row>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div style="float: right;"> <div >
<el-button type="primary" @click="onSubmit">保存</el-button> <el-button type="primary" @click="onSubmit">保存</el-button>
<el-button @click="close">取消</el-button> <el-button @click="close">取消</el-button>
</div> </div>
@ -47,6 +54,11 @@ export default {
showDialog: false, showDialog: false,
isLoging: false, isLoging: false,
listChangeCallback: null, listChangeCallback: null,
pubKeyconfig: {
prefix: 'JIUMI', //
length: 24, //
excludeChars: 'O0Il1' //
},
form: {}, form: {},
rules: { rules: {
newpushKey: [{ required: true, validator: validatePass1, trigger: "blur" }], newpushKey: [{ required: true, validator: validatePass1, trigger: "blur" }],
@ -54,6 +66,16 @@ export default {
}; };
}, },
methods: { methods: {
buildCodeEvent:function (){
// 32 256
const array = new Uint8Array(32);
window.crypto.getRandomValues(array);
this.newPushKey = btoa(String.fromCharCode(...array))
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '');
},
openDialog: function (row, callback) { openDialog: function (row, callback) {
console.log(row) console.log(row)
this.showDialog = true; this.showDialog = true;

View File

@ -15,6 +15,8 @@
<el-descriptions-item label="域">{{configInfoData.sip.domain}}</el-descriptions-item> <el-descriptions-item label="域">{{configInfoData.sip.domain}}</el-descriptions-item>
<el-descriptions-item label="IP">{{configInfoData.sip.showIp}}</el-descriptions-item> <el-descriptions-item label="IP">{{configInfoData.sip.showIp}}</el-descriptions-item>
<el-descriptions-item label="端口">{{configInfoData.sip.port}}</el-descriptions-item> <el-descriptions-item label="端口">{{configInfoData.sip.port}}</el-descriptions-item>
<el-descriptions-item label="穿透地址">123.6.102.223</el-descriptions-item>
<el-descriptions-item label="穿透端口">61160</el-descriptions-item>
<el-descriptions-item label="密码"> <el-descriptions-item label="密码">
<el-tag size="small">{{configInfoData.sip.password}}</el-tag> <el-tag size="small">{{configInfoData.sip.password}}</el-tag>
</el-descriptions-item> </el-descriptions-item>

View File

@ -61,9 +61,9 @@
</el-button> </el-button>
<el-button size="medium" icon="el-icon-download" type="text" @click="downloadFile(scope.row)">下载 <el-button size="medium" icon="el-icon-download" type="text" @click="downloadFile(scope.row)">下载
</el-button> </el-button>
<!-- <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c"--> <el-button size="medium" icon="el-icon-delete" type="text" style="color: #f56c6c"
<!-- @click="deleteRecord(scope.row)">删除--> @click="deleteRecord(scope.row)">删除
<!-- </el-button>--> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>