Merge branch 'master' into 重构/1078

# Conflicts:
#	src/main/java/com/genersoft/iot/vmp/common/enums/ChannelDataType.java
#	src/main/java/com/genersoft/iot/vmp/gb28181/service/IGbChannelPlayService.java
#	src/main/java/com/genersoft/iot/vmp/gb28181/service/impl/GbChannelPlayServiceImpl.java
This commit is contained in:
lin
2025-07-31 21:14:23 +08:00
75 changed files with 2242 additions and 472 deletions

View File

@@ -63,7 +63,7 @@ export function getList(params) {
const { page, count, query, online, hasRecordPlan, channelType } = params
return request({
method: 'get',
url: `/api/common/channel/list`,
url: '/api/common/channel/list',
params: {
page: page,
count: count,
@@ -79,7 +79,7 @@ export function getCivilCodeList(params) {
const { page, count, channelType, query, online, civilCode } = params
return request({
method: 'get',
url: `/api/common/channel/civilcode/list`,
url: '/api/common/channel/civilcode/list',
params: {
page: page,
count: count,
@@ -95,7 +95,7 @@ export function getUnusualCivilCodeList(params) {
const { page, count, channelType, query, online } = params
return request({
method: 'get',
url: `/api/common/channel/civilCode/unusual/list`,
url: '/api/common/channel/civilCode/unusual/list',
params: {
page: page,
count: count,
@@ -110,7 +110,7 @@ export function getUnusualParentList(params) {
const { page, count, channelType, query, online } = params
return request({
method: 'get',
url: `/api/common/channel/parent/unusual/list`,
url: '/api/common/channel/parent/unusual/list',
params: {
page: page,
count: count,
@@ -125,7 +125,7 @@ export function clearUnusualCivilCodeList(params) {
const { all, channelIds } = params
return request({
method: 'post',
url: `/api/common/channel/civilCode/unusual/clear`,
url: '/api/common/channel/civilCode/unusual/clear',
data: {
all: all,
channelIds: channelIds
@@ -137,7 +137,7 @@ export function clearUnusualParentList(params) {
const { all, channelIds } = params
return request({
method: 'post',
url: `/api/common/channel/parent/unusual/clear`,
url: '/api/common/channel/parent/unusual/clear',
data: {
all: all,
channelIds: channelIds
@@ -149,7 +149,7 @@ export function getParentList(params) {
const { page, count, channelType, query, online, groupDeviceId } = params
return request({
method: 'get',
url: `/api/common/channel/parent/list`,
url: '/api/common/channel/parent/list',
params: {
page: page,
count: count,
@@ -165,7 +165,7 @@ export function addToRegion(params) {
const { civilCode, channelIds } = params
return request({
method: 'post',
url: `/api/common/channel/region/add`,
url: '/api/common/channel/region/add',
data: {
civilCode: civilCode,
channelIds: channelIds
@@ -176,7 +176,7 @@ export function addToRegion(params) {
export function deleteFromRegion(channels) {
return request({
method: 'post',
url: `/api/common/channel/region/delete`,
url: '/api/common/channel/region/delete',
data: {
channelIds: channels
}
@@ -187,7 +187,7 @@ export function addDeviceToRegion(params) {
const { civilCode, deviceIds } = params
return request({
method: 'post',
url: `/api/common/channel/region/device/add`,
url: '/api/common/channel/region/device/add',
data: {
civilCode: civilCode,
deviceIds: deviceIds
@@ -198,7 +198,7 @@ export function addDeviceToRegion(params) {
export function deleteDeviceFromRegion(deviceIds) {
return request({
method: 'post',
url: `/api/common/channel/region/device/delete`,
url: '/api/common/channel/region/device/delete',
data: {
deviceIds: deviceIds
}
@@ -209,7 +209,7 @@ export function addToGroup(params) {
const { parentId, businessGroup, channelIds } = params
return request({
method: 'post',
url: `/api/common/channel/group/add`,
url: '/api/common/channel/group/add',
data: {
parentId: parentId,
businessGroup: businessGroup,
@@ -221,7 +221,7 @@ export function addToGroup(params) {
export function deleteFromGroup(channels) {
return request({
method: 'post',
url: `/api/common/channel/group/delete`,
url: '/api/common/channel/group/delete',
data: {
channelIds: channels
}
@@ -232,7 +232,7 @@ export function addDeviceToGroup(params) {
const { parentId, businessGroup, deviceIds } = params
return request({
method: 'post',
url: `/api/common/channel/group/device/add`,
url: '/api/common/channel/group/device/add',
data: {
parentId: parentId,
businessGroup: businessGroup,
@@ -244,7 +244,7 @@ export function addDeviceToGroup(params) {
export function deleteDeviceFromGroup(deviceIds) {
return request({
method: 'post',
url: `/api/common/channel/group/device/delete`,
url: '/api/common/channel/group/device/delete',
data: {
deviceIds: deviceIds
}
@@ -260,3 +260,246 @@ export function playChannel(channelId) {
}
})
}
// 前端控制
export function setSpeedForScan({ channelId, scanId, speed }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/scan/set/speed',
params: {
channelId: channelId,
scanId: scanId,
speed: speed
}
})
}
export function setLeftForScan({ channelId, scanId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/scan/set/left',
params: {
channelId: channelId,
scanId: scanId
}
})
}
export function setRightForScan({ channelId, scanId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/scan/set/right',
params: {
channelId: channelId,
scanId: scanId
}
})
}
export function startScan({ channelId, scanId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/scan/start',
params: {
channelId: channelId,
scanId: scanId
}
})
}
export function stopScan({ channelId, scanId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/scan/stop',
params: {
channelId: channelId,
scanId: scanId
}
})
}
export function queryPreset(channelId) {
return request({
method: 'get',
url: '/api/common/channel/front-end/preset/query',
params: {
channelId: channelId
}
})
}
export function addPointForCruise({ channelId, tourId, presetId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/point/add',
params: {
channelId: channelId,
tourId: tourId,
presetId: presetId
}
})
}
export function deletePointForCruise({ channelId, tourId, presetId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/point/delete',
params: {
channelId: channelId,
tourId: tourId,
presetId: presetId
}
})
}
export function setCruiseSpeed({ channelId, tourId, presetId , speed }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/speed',
params: {
channelId: channelId,
tourId: tourId,
presetId: presetId,
speed: speed
}
})
}
export function setCruiseTime({ channelId, tourId, presetId, time }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/time',
params: {
channelId: channelId,
tourId: tourId,
presetId: presetId,
time: time
}
})
}
export function startCruise({ channelId, tourId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/start',
params: {
channelId: channelId,
tourId: tourId
}
})
}
export function stopCruise({ channelId, tourId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/tour/stop',
params: {
channelId: channelId,
tourId: tourId
}
})
}
export function addPreset({ channelId, presetId, presetName }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/preset/add',
params: {
channelId: channelId,
presetId: presetId,
presetName: presetName
}
})
}
export function callPreset({ channelId, presetId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/preset/call',
params: {
channelId: channelId,
presetId: presetId
}
})
}
export function deletePreset({ channelId, presetId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/preset/delete',
params: {
channelId: channelId,
presetId: presetId
}
})
}
/**
* command: on 开启, off 关闭
*/
export function auxiliary({ channelId, command, auxiliaryId }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/auxiliary',
params: {
channelId: channelId,
command: command,
auxiliaryId: auxiliaryId
}
})
}
/**
* command: on 开启, off 关闭
*/
export function wiper({ channelId, command }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/wiper',
params: {
channelId: channelId,
command: command
}
})
}
export function ptz({ channelId, command, panSpeed, tiltSpeed, zoomSpeed }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/ptz',
params: {
channelId: channelId,
command: command,
panSpeed: panSpeed,
tiltSpeed: tiltSpeed,
zoomSpeed: zoomSpeed
}
})
}
export function iris({ channelId, command, speed }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/fi/iris',
params: {
channelId: channelId,
command: command,
speed: speed
}
})
}
export function focus({ channelId, command, speed }) {
return request({
method: 'get',
url: '/api/common/channel/front-end/fi/focus',
params: {
channelId: channelId,
command: command,
speed: speed
}
})
}

View File

@@ -47,14 +47,22 @@ export function updateDeviceTransport(deviceId, streamMode) {
export function setGuard(deviceId) {
return request({
method: 'get',
url: `/api/device/control/guard/${deviceId}/SetGuard`
url: `/api/device/control/guard`,
params: {
deviceId: deviceId,
guardCmd: 'SetGuard'
}
})
}
export function resetGuard(deviceId) {
return request({
method: 'get',
url: `/api/device/control/guard/${deviceId}/ResetGuard`
url: `/api/device/control/guard`,
params: {
deviceId: deviceId,
guardCmd: 'ResetGuard'
}
})
}
@@ -185,12 +193,13 @@ export function changeChannelAudio(params) {
}
export function updateChannelStreamIdentification(params) {
const { deviceDbId, streamIdentification } = params
const { deviceDbId, streamIdentification, id } = params
return request({
method: 'post',
url: `/api/device/query/channel/stream/identification/update/`,
params: {
deviceDbId: deviceDbId,
id: id,
streamIdentification: streamIdentification
}
})

View File

@@ -535,29 +535,29 @@ export default {
ptzCamera: function(command) {
console.log('云台控制:' + command)
this.$store.dispatch('commonChanel/ptz',
[
this.channelId,
command,
parseInt(this.controSpeed * 255 / 100),
parseInt(this.controSpeed * 255 / 100),
parseInt(this.controSpeed * 16 / 100)
])
{
channelId: this.channelId,
command: command,
panSpeed: this.controSpeed,
tiltSpeed: this.controSpeed,
zoomSpeed: this.controSpeed
})
},
irisCamera: function(command) {
this.$store.dispatch('commonChanel/iris',
[
this.channelId,
command,
parseInt(this.controSpeed * 255 / 100)
])
{
channelId: this.channelId,
command: command,
speed: this.controSpeed
})
},
focusCamera: function(command) {
this.$store.dispatch('commonChanel/focus',
[
this.channelId,
command,
parseInt(this.controSpeed * 255 / 100)
])
{
channelId: this.channelId,
command: command,
speed: this.controSpeed
})
},
// ////////////////////播放器事件处理//////////////////////////
videoError: function(e) {

View File

@@ -3,7 +3,7 @@
<div style="display: grid; grid-template-columns: 80px auto; line-height: 28px">
<span>巡航组号: </span>
<el-input
v-model="cruiseId"
v-model="tourId"
min="1"
max="255"
placeholder="巡航组号"
@@ -93,7 +93,7 @@ export default {
props: ['channelId'],
data() {
return {
cruiseId: 1,
tourId: 1,
presetList: [],
allPresetList: [],
selectPreset: '',
@@ -110,7 +110,7 @@ export default {
},
methods: {
getPresetList: function() {
this.$store.dispatch('commonChanel/queryPreset', [this.channelId])
this.$store.dispatch('commonChanel/queryPreset', this.channelId)
.then((data) => {
this.allPresetList = data
})
@@ -124,7 +124,11 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/addPointForCruise',
[this.channelId, this.cruiseId, this.selectPreset.presetId])
{
channelId: this.channelId,
tourId: this.tourId,
presetId: this.selectPreset.presetId
})
.then((data) => {
this.presetList.push(this.selectPreset)
}).catch((error) => {
@@ -152,7 +156,11 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/deletePointForCruise',
[this.channelId, this.cruiseId, preset.presetId])
{
channelId: this.channelId,
tourId: this.tourId,
presetId: preset.presetId
})
.then((data) => {
this.presetList.splice(index, 1)
}).catch((error) => {
@@ -180,7 +188,11 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/deletePointForCruise',
[this.channelId, this.cruiseId, 0])
{
channelId: this.channelId,
tourId: this.tourId,
presetId: 0
})
.then((data) => {
this.presetList = []
}).catch((error) => {
@@ -195,6 +207,14 @@ export default {
})
},
setCruiseSpeed: function() {
if (this.presetList.length === 0) {
this.$message({
showClose: true,
message: '请添加巡航点',
type: 'warning'
})
return
}
const loading = this.$loading({
lock: true,
fullscreen: true,
@@ -203,7 +223,12 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/setCruiseSpeed',
[this.channelId, this.cruiseId, this.cruiseSpeed])
{
channelId: this.channelId,
tourId: this.tourId,
presetId: this.presetList.at(-1).presetId,
speed: this.cruiseSpeed
})
.then((data) => {
this.$message({
showClose: true,
@@ -227,6 +252,14 @@ export default {
this.setSpeedVisible = false
},
setCruiseTime: function() {
if (this.presetList.length === 0) {
this.$message({
showClose: true,
message: '请添加巡航点',
type: 'warning'
})
return
}
const loading = this.$loading({
lock: true,
fullscreen: true,
@@ -235,7 +268,12 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/setCruiseTime',
[this.channelId, this.cruiseId, this.cruiseTime])
{
channelId: this.channelId,
tourId: this.tourId,
time: this.cruiseTime,
presetId: this.presetList.at(-1).presetId
})
.then((data) => {
this.$message({
showClose: true,
@@ -267,7 +305,10 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/startCruise',
[this.channelId, this.cruiseId])
{
channelId: this.channelId,
tourId: this.tourId
})
.then((data) => {
this.$message({
showClose: true,
@@ -295,7 +336,10 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/stopCruise',
[this.channelId, this.cruiseId])
{
channelId: this.channelId,
tourId: this.tourId
})
.then((data) => {
this.$message({
showClose: true,
@@ -317,12 +361,3 @@ export default {
}
}
</script>
<style>
.channel-form {
display: grid;
background-color: #FFFFFF;
padding: 1rem 2rem 0 2rem;
grid-template-columns: 1fr 1fr 1fr;
gap: 1rem;
}
</style>

View File

@@ -50,7 +50,7 @@ export default {
},
methods: {
getPresetList: function() {
this.$store.dispatch('commonChanel/queryPreset', [this.channelId])
this.$store.dispatch('commonChanel/queryPreset', this.channelId)
.then(data => {
this.presetList = data
// 防止出现表格错位
@@ -73,7 +73,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/addPreset', [this.channelId, this.ptzPresetId])
this.$store.dispatch('commonChanel/addPreset', {
channelId: this.channelId,
presetId: this.ptzPresetId,
presetName: this.ptzPresetId
})
.then(data => {
setTimeout(() => {
this.inputVisible = false
@@ -99,7 +103,10 @@ export default {
},
gotoPreset: function(preset) {
console.log(preset)
this.$store.dispatch('commonChanel/callPreset', [this.channelId, preset.presetId])
this.$store.dispatch('commonChanel/callPreset', {
channelId: this.channelId,
presetId: preset.presetId
})
.then(data => {
this.$message({
showClose: true,
@@ -128,7 +135,10 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/deletePreset', [this.channelId, preset.presetId])
this.$store.dispatch('commonChanel/deletePreset', {
channelId: this.channelId,
presetId: preset.presetId
})
.then(data => {
setTimeout(() => {
this.getPresetList()

View File

@@ -65,7 +65,12 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/setSpeedForScan', [this.channelId, this.scanId, this.speed])
this.$store.dispatch('commonChanel/setSpeedForScan',
{
channelId: this.channelId,
scanId: this.scanId,
speed: this.speed
})
.then(data => {
this.$message({
showClose: true,
@@ -97,7 +102,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/setLeftForScan', [this.channelId, this.scanId])
this.$store.dispatch('commonChanel/setLeftForScan',
{
channelId: this.channelId,
scanId: this.scanId
})
.then(data => {
this.$message({
showClose: true,
@@ -125,7 +134,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/setRightForScan', [this.channelId, this.scanId])
this.$store.dispatch('commonChanel/setRightForScan',
{
channelId: this.channelId,
scanId: this.scanId
})
.then(data => {
this.$message({
showClose: true,
@@ -153,7 +166,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/startScan', [this.channelId, this.scanId])
this.$store.dispatch('commonChanel/startScan',
{
channelId: this.channelId,
scanId: this.scanId
})
.then(data => {
this.$message({
showClose: true,
@@ -179,7 +196,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/stopScan', [this.channelId, this.scanId])
this.$store.dispatch('commonChanel/stopScan',
{
channelId: this.channelId,
scanId: this.scanId
})
.then(data => {
this.$message({
showClose: true,

View File

@@ -3,7 +3,7 @@
<el-form size="mini" :inline="true">
<el-form-item>
<el-input
v-model="switchId"
v-model="auxiliaryId"
min="1"
max="4095"
placeholder="开关编号"
@@ -29,7 +29,7 @@ export default {
props: ['channelId'],
data() {
return {
switchId: 1
auxiliaryId: 1
}
},
created() {
@@ -43,7 +43,12 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/auxiliary', [this.channelId, command, this.switchId])
this.$store.dispatch('commonChanel/auxiliary',
{
channelId: this.channelId,
command: command,
auxiliaryId: this.auxiliaryId
})
.then(data => {
this.$message({
showClose: true,
@@ -64,13 +69,4 @@ export default {
}
}
</script>
<style>
.channel-form {
display: grid;
background-color: #FFFFFF;
padding: 1rem 2rem 0 2rem;
grid-template-columns: 1fr 1fr 1fr;
gap: 1rem;
}
</style>

View File

@@ -25,7 +25,11 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
this.$store.dispatch('commonChanel/wiper', [this.channelId, command])
this.$store.dispatch('commonChanel/wiper',
{
channelId: this.channelId,
command: command
})
.then(data => {
this.$message({
showClose: true,

View File

@@ -55,8 +55,8 @@
<el-option label="streamnumber:1(子码流-2022)" value="streamnumber:1" />
<el-option label="streamprofile:0(主码流-大华)" value="streamprofile:0" />
<el-option label="streamprofile:1(子码流-大华)" value="streamprofile:1" />
<el-option label="streamMode:main(主码流-水星+TP-LINK)" value="streamMode:main" />
<el-option label="streamMode:sub(子码流-水星+TP-LINK)" value="streamMode:sub" />
<el-option label="streamMode:MAIN(主码流-水星+TP-LINK)" value="streamMode:MAIN" />
<el-option label="streamMode:SUB(子码流-水星+TP-LINK)" value="streamMode:SUB" />
</el-select>
</el-form-item>
<el-form-item style="float: right;">
@@ -123,8 +123,8 @@
<el-option label="streamnumber:1(子码流-2022)" value="streamnumber:1" />
<el-option label="streamprofile:0(主码流-大华)" value="streamprofile:0" />
<el-option label="streamprofile:1(子码流-大华)" value="streamprofile:1" />
<el-option label="streamMode:main(主码流-水星+TP-LINK)" value="streamMode:main" />
<el-option label="streamMode:sub(子码流-水星+TP-LINK)" value="streamMode:sub" />
<el-option label="streamMode:MAIN(主码流-水星+TP-LINK)" value="streamMode:MAIN" />
<el-option label="streamMode:SUB(子码流-水星+TP-LINK)" value="streamMode:SUB" />
</el-select>
</template>
</el-table-column>

View File

@@ -362,7 +362,7 @@ export default {
})
},
resetGuard: function(itemData) {
this.$store.dispatch('device/ResetGuard', itemData.deviceId)
this.$store.dispatch('device/resetGuard', itemData.deviceId)
.then((data) => {
this.$message.success({
showClose: true,