提交
This commit is contained in:
@ -11,7 +11,8 @@ spring:
|
|||||||
active: sqlite
|
active: sqlite
|
||||||
mysql:
|
mysql:
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://192.168.110.65:6975/yjearth?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
url: >-
|
||||||
|
jdbc:mysql://192.168.110.65:6975/yjearth?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
username: yjearth
|
username: yjearth
|
||||||
password: kNGxrsSSYMexZ2t4
|
password: kNGxrsSSYMexZ2t4
|
||||||
servlet:
|
servlet:
|
||||||
@ -38,8 +39,8 @@ file:
|
|||||||
graphhopper:
|
graphhopper:
|
||||||
graphLocation: ./target/graphhopper
|
graphLocation: ./target/graphhopper
|
||||||
profiles:
|
profiles:
|
||||||
- car
|
- car
|
||||||
- bike
|
- bike
|
||||||
- foot
|
- foot
|
||||||
sync:
|
sync:
|
||||||
folder: E:\\地理资源
|
folder: E:\\地理资源
|
||||||
|
|||||||
@ -20096,8 +20096,8 @@
|
|||||||
var testing =
|
var testing =
|
||||||
'<div class="compass" title="拖动外圈:旋转视图,' +
|
'<div class="compass" title="拖动外圈:旋转视图,' +
|
||||||
'拖动内陀螺仪:自由轨道,' +
|
'拖动内陀螺仪:自由轨道,' +
|
||||||
'双击:重置视图,' +
|
'双击:重置视图' +
|
||||||
'提示:您还可以按住CTRL键并拖动地图来释放轨道." data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }">' +
|
'" data-bind="visible: showCompass, event: { mousedown: handleMouseDown, dblclick: handleDoubleClick }">' +
|
||||||
'<div class="compass-outer-ring-background"></div>' +
|
'<div class="compass-outer-ring-background"></div>' +
|
||||||
" <div class=\"compass-rotation-marker\" data-bind=\"visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }\"></div>" +
|
" <div class=\"compass-rotation-marker\" data-bind=\"visible: isOrbiting, style: { transform: 'rotate(-' + orbitCursorAngle + 'rad)', '-webkit-transform': 'rotate(-' + orbitCursorAngle + 'rad)', opacity: orbitCursorOpacity }, cesiumSvgPath: { path: svgCompassRotationMarker, width: 145, height: 145 }\"></div>" +
|
||||||
" <div class=\"compass-outer-ring\" title=\"单击并拖动以旋转相机\" data-bind=\"style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }\"></div>" +
|
" <div class=\"compass-outer-ring\" title=\"单击并拖动以旋转相机\" data-bind=\"style: { transform: 'rotate(-' + heading + 'rad)', '-webkit-transform': 'rotate(-' + heading + 'rad)' }, cesiumSvgPath: { path: svgCompassOuterRing, width: 145, height: 145 }\"></div>" +
|
||||||
|
|||||||
@ -29,6 +29,14 @@
|
|||||||
--color-background-mute: var(--ev-c-black-mute);
|
--color-background-mute: var(--ev-c-black-mute);
|
||||||
|
|
||||||
--color-text: var(--ev-c-text-1);
|
--color-text: var(--ev-c-text-1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--color-border1: rgba(0, 194, 142, 1);
|
||||||
|
--color-border2: rgba(0, 255, 200, 1);
|
||||||
|
--color-border3: rgba(42, 200, 251, 1);
|
||||||
|
--color-border4: rgba(229, 93, 93, 1);
|
||||||
|
--color-border5: rgba(255, 165, 92, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
*,
|
*,
|
||||||
|
|||||||
32
src/renderer/src/utils/theme.ts
Normal file
32
src/renderer/src/utils/theme.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
let theme = {
|
||||||
|
"yingguangse": new Map(),
|
||||||
|
"gonganlan": new Map(),
|
||||||
|
"hong": new Map(),
|
||||||
|
}
|
||||||
|
theme.yingguangse.set("--svg-headColor1", "rgba(11, 37, 40, 0.6)")
|
||||||
|
theme.yingguangse.set("--svg-headColor2", "rgba(11, 37, 40, 0.8)")
|
||||||
|
theme.yingguangse.set("--svg-headColor3", "#0ff")
|
||||||
|
theme.yingguangse.set("--svg-headColorbg", "rgba(0,255,255,0.1)")
|
||||||
|
// theme.yingguangse.set("--svg-headColor3", "#0ff")
|
||||||
|
theme.yingguangse.set("--svg-baseLineColor", "#0ff")
|
||||||
|
theme.yingguangse.set("--svg-divBgColor", "rgba(0, 0, 0, .5)")
|
||||||
|
|
||||||
|
theme.gonganlan.set("--svg-headColor1", "rgba(11, 37, 40, 0.6)")
|
||||||
|
theme.gonganlan.set("--svg-headColor2", "rgba(17, 19, 69, 0.8)")
|
||||||
|
theme.gonganlan.set("--svg-headColor3", "#2ac8fb")
|
||||||
|
theme.gonganlan.set("--svg-headColorbg", "rgba(34,39,142,0.1)")
|
||||||
|
theme.gonganlan.set("--svg-headLineColor", "#22278e")
|
||||||
|
theme.gonganlan.set("--svg-baseLineColor", "#2ac8fb")
|
||||||
|
// theme.gonganlan.set("--svg-baseLineColor", "#fb2a2a")
|
||||||
|
theme.gonganlan.set("--svg-divBgColor", "rgba(0, 0, 0, .5)")
|
||||||
|
|
||||||
|
|
||||||
|
theme.hong.set("--svg-headColor1", "rgba(11, 37, 40, 0.6)")
|
||||||
|
theme.hong.set("--svg-headColor2", "rgba(17, 19, 69, 0.8)")
|
||||||
|
theme.hong.set("--svg-headColor3", "#bb1a29")
|
||||||
|
theme.hong.set("--svg-headColorbg", "rgba(187,26,41,0.1)")
|
||||||
|
theme.hong.set("--svg-headLineColor", "#bb1a29")
|
||||||
|
theme.hong.set("--svg-baseLineColor", "#bb1a29")
|
||||||
|
// theme.gonganlan.set("--svg-baseLineColor", "#fb2a2a")
|
||||||
|
theme.hong.set("--svg-divBgColor", "rgba(0, 0, 0, .5)")
|
||||||
|
export default theme;
|
||||||
@ -410,6 +410,7 @@ import { ElMessage } from 'element-plus'
|
|||||||
import { inject, onMounted } from 'vue'
|
import { inject, onMounted } from 'vue'
|
||||||
import { TreeApi } from '@/api/tree'
|
import { TreeApi } from '@/api/tree'
|
||||||
import { $sendElectronChanel } from '@/utils/communication'
|
import { $sendElectronChanel } from '@/utils/communication'
|
||||||
|
import theme from "@/utils/theme";
|
||||||
|
|
||||||
const eventBus: any = inject('bus')
|
const eventBus: any = inject('bus')
|
||||||
|
|
||||||
@ -523,7 +524,7 @@ const sysChange = async () => {
|
|||||||
let coor = systemSetting.value.coordinate ? systemSetting.value.coordinate : 'EPSG:4326'
|
let coor = systemSetting.value.coordinate ? systemSetting.value.coordinate : 'EPSG:4326'
|
||||||
YJ.Global.setCoordinateSystem(window.earth, coor)
|
YJ.Global.setCoordinateSystem(window.earth, coor)
|
||||||
//设置坐标格式
|
//设置坐标格式
|
||||||
YJ.Global.setDMS(window.earth, systemSetting.value.positionType)
|
// YJ.Global.setDMS(window.earth, systemSetting.value.positionType)
|
||||||
|
|
||||||
//比例尺
|
//比例尺
|
||||||
await YJ.Global.SheetIndexStatusSwitch(window.earth, systemSetting.value.sheetIndexStatusSwitch)
|
await YJ.Global.SheetIndexStatusSwitch(window.earth, systemSetting.value.sheetIndexStatusSwitch)
|
||||||
@ -535,6 +536,13 @@ const sysChange = async () => {
|
|||||||
} else {
|
} else {
|
||||||
YJ.Global.MapX.close(window.earth)
|
YJ.Global.MapX.close(window.earth)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let skin = systemSetting.value.skinInfo ? systemSetting.value.skinInfo : "yingguangse";
|
||||||
|
let colorVariable = Array.from(theme[skin].keys());
|
||||||
|
colorVariable.forEach((key:any) => {
|
||||||
|
console.log('key', key)
|
||||||
|
document.documentElement.style.setProperty(key, theme[skin].get(key));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
const searchWayChange = (val) => {
|
const searchWayChange = (val) => {
|
||||||
localStorage.setItem('searchWay', val)
|
localStorage.setItem('searchWay', val)
|
||||||
|
|||||||
@ -2,19 +2,52 @@
|
|||||||
<div class="leftBox">
|
<div class="leftBox">
|
||||||
<div class="left animate__animated">
|
<div class="left animate__animated">
|
||||||
<div class="menus">
|
<div class="menus">
|
||||||
<div
|
<div class="menus_itemBox" v-for="(item, index) in menuList" :title="t(`firstMenu.${item.name}`)">
|
||||||
class="menus_itemBox"
|
<div class="item_icon" @click="(e) => {
|
||||||
v-for="(item, index) in menuList"
|
handleClick(item, e)
|
||||||
:title="t(`firstMenu.${item.name}`)"
|
}
|
||||||
>
|
">
|
||||||
<div
|
<!-- <svg class="item_icon_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
class="item_icon"
|
width="162" height="44" viewBox="0 0 162 44" fill="none" preserveAspectRatio="none">
|
||||||
@click="
|
<path fill="#000000" fill-opacity="0.5" d="M0 44L136.639 44L162 18L162 0L0 0L0 44Z" />
|
||||||
(e) => {
|
<path fill-rule="evenodd" fill="rgba(42, 200, 251, 1)"
|
||||||
handleClick(item, e)
|
d="M136.006 42.5L1.5 42.5L1.5 1.5L160.5 1.5L160.5 17.3896L136.006 42.5ZM136.639 44L0 44L0 0L162 0L162 18L136.639 44Z" />
|
||||||
}
|
<path d="M0 0L15.0533 0L49.1742 41L98.4484 41.2681L102 44L0 44L0 0Z" fill="#45AEF7" fill-opacity="0.2" />
|
||||||
"
|
<path d="M3 34L3 41L10 41L3 34Z" stroke="rgba(198, 248, 255, 1)" stroke-width="0.5"
|
||||||
>
|
stroke-linejoin="round" />
|
||||||
|
<path d="M159 10L159 3L152 3L159 10Z" stroke="rgba(198, 248, 255, 1)" stroke-width="0.5"
|
||||||
|
stroke-linejoin="round" />
|
||||||
|
</svg> -->
|
||||||
|
<svg class="item_icon_bg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
width="162" height="44" viewBox="0 0 162 44" fill="none" preserveAspectRatio="none">
|
||||||
|
<path fill="#000000" fill-opacity="0.5" d="M0 44L136.639 44L162 18L162 0L0 0L0 44Z" />
|
||||||
|
<path fill-rule="evenodd" fill="url(#linear_border_2218_109_0)"
|
||||||
|
d="M136.006 42.5L1.5 42.5L1.5 1.5L160.5 1.5L160.5 17.3896L136.006 42.5ZM136.639 44L0 44L0 0L162 0L162 18L136.639 44Z" />
|
||||||
|
<path d="M0 0L15.0533 0L49.1742 41L98.4484 41.2681L102 44L0 44L0 0Z" fill="#00FFFF" fill-opacity="0.2" />
|
||||||
|
<path d="M3 34L3 41L10 41L3 34Z" stroke="rgba(0, 255, 255, 1)" stroke-width="0.5"
|
||||||
|
stroke-linejoin="round" />
|
||||||
|
<path d="M159 10L159 3L152 3L159 10Z" stroke="rgba(0, 255, 255, 1)" stroke-width="0.5"
|
||||||
|
stroke-linejoin="round" />
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="linear_border_2218_109_0" x1="0" y1="-1.7520751953125" x2="140.2142333984375"
|
||||||
|
y2="40.473846435546875" gradientUnits="userSpaceOnUse">
|
||||||
|
<stop offset="0.0625" stop-color="#00FFFF" />
|
||||||
|
<stop offset="1" stop-color="#00C8FF" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
|
<svg class="item_icon_bg item_icon_bg_hover" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="163" height="45"
|
||||||
|
viewBox="0 0 163 45" fill="none" preserveAspectRatio="none">
|
||||||
|
<path fill="url(#linear_fill_2218_82_1)"
|
||||||
|
d="M0.5 44.5L137.139 44.5L162.5 18.5L162.5 0.5L0.5 0.5L0.5 44.5Z" />
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="linear_fill_2218_82_1" x1="84.9554443359375" y1="44.49997329711914"
|
||||||
|
x2="84.95498657226562" y2="0.5" gradientUnits="userSpaceOnUse">
|
||||||
|
<stop offset="0" stop-color="#00FFFF" stop-opacity="0.6" />
|
||||||
|
<stop offset="1" stop-color="#00FFFF" stop-opacity="0" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
||||||
<!-- <svg-icon :class-name="['absolute', 'zIndex-1', 'left_item_bg']" icon-class="bg2"></svg-icon> -->
|
<!-- <svg-icon :class-name="['absolute', 'zIndex-1', 'left_item_bg']" icon-class="bg2"></svg-icon> -->
|
||||||
<svg-icon :name="item.svg" :size="16" color="rgba(0, 255, 255, 1)"></svg-icon>
|
<svg-icon :name="item.svg" :size="16" color="rgba(0, 255, 255, 1)"></svg-icon>
|
||||||
<div class="item_text">
|
<div class="item_text">
|
||||||
@ -22,10 +55,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<leftSideSecond
|
<leftSideSecond class="absolute zIndex99 leftSideSecond" ref="leftSideSecondRef"></leftSideSecond>
|
||||||
class="absolute zIndex99 leftSideSecond"
|
|
||||||
ref="leftSideSecondRef"
|
|
||||||
></leftSideSecond>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="left_bottom" @click="fold"></div>
|
<div class="left_bottom" @click="fold"></div>
|
||||||
@ -33,16 +63,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {useI18n} from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import {useRouter} from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
|
||||||
import {bus} from '@/utils/bus'
|
import { bus } from '@/utils/bus'
|
||||||
import leftSideSecond from '@/views/components/leftSide/leftSideSecond.vue'
|
import leftSideSecond from '@/views/components/leftSide/leftSideSecond.vue'
|
||||||
import {ElMessage, ElLoading} from 'element-plus'
|
import { ElMessage, ElLoading } from 'element-plus'
|
||||||
|
|
||||||
const {ipcRenderer} = require('electron')
|
const { ipcRenderer } = require('electron')
|
||||||
const router = useRouter() // 路由实例
|
const router = useRouter() // 路由实例
|
||||||
const {t} = useI18n()
|
const { t } = useI18n()
|
||||||
const eventBus: any = inject('bus')
|
const eventBus: any = inject('bus')
|
||||||
const menuList: any = ref([
|
const menuList: any = ref([
|
||||||
// 方案推演
|
// 方案推演
|
||||||
@ -202,7 +232,7 @@ const handleClick = (item: any, e) => {
|
|||||||
if ((window as any).checkAuthIsValid) {
|
if ((window as any).checkAuthIsValid) {
|
||||||
console.log('打开态势推演')
|
console.log('打开态势推演')
|
||||||
ipcRenderer.send('toggle-fullscreen', true)
|
ipcRenderer.send('toggle-fullscreen', true)
|
||||||
router.push({path: '/ts'})
|
router.push({ path: '/ts' })
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
@ -368,20 +398,27 @@ const clickMenu = (item: any) => {
|
|||||||
.item_icon {
|
.item_icon {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 4.2vh;
|
height: 4.2vh;
|
||||||
background: url('../../../assets/images/hongse/left.png') no-repeat;
|
// background: url('../../../assets/images/hongse/left.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
position: relative;
|
||||||
|
|
||||||
.item_icon:hover .item_text {
|
>.item_icon_bg {
|
||||||
color: rgba(0, 255, 255, 1);
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_icon:hover {
|
.item_icon:hover {
|
||||||
background: url('../../../assets/images/hongse/left1.png') no-repeat;
|
// background: url('../../../assets/images/hongse/left1.png') no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
>.item_icon_bg_hover {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_text {
|
.item_text {
|
||||||
|
|||||||
@ -85,7 +85,7 @@
|
|||||||
<div class="table-body" v-if="cameraList && cameraList.length > 0">
|
<div class="table-body" v-if="cameraList && cameraList.length > 0">
|
||||||
<div class="tr" v-for="(item, index) in cameraList">
|
<div class="tr" v-for="(item, index) in cameraList">
|
||||||
<div class="td">
|
<div class="td">
|
||||||
<input type="checkbox" :value="item.deviceId" v-model="item.checked"
|
<input type="checkbox" :value="item.id" v-model="item.checked"
|
||||||
@change="changeAttributeCamera(item)" />
|
@change="changeAttributeCamera(item)" />
|
||||||
<span>绑定</span>
|
<span>绑定</span>
|
||||||
</div>
|
</div>
|
||||||
@ -228,6 +228,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { inject } from 'vue'
|
import { inject } from 'vue'
|
||||||
|
import { deviceApi } from '@/api/deviceManage'
|
||||||
|
|
||||||
let ipcRenderer;
|
let ipcRenderer;
|
||||||
if (window && window.process && window.process.type === 'renderer') {
|
if (window && window.process && window.process.type === 'renderer') {
|
||||||
@ -244,7 +245,7 @@ const cameraParams = ref({
|
|||||||
page: 1,
|
page: 1,
|
||||||
total: 0
|
total: 0
|
||||||
})
|
})
|
||||||
const cameraList = ref()
|
const cameraList:any = ref([])
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
entityOptions: {
|
entityOptions: {
|
||||||
@ -349,40 +350,27 @@ const cameraSelect = ({ page, limit }) => {
|
|||||||
let url = ""
|
let url = ""
|
||||||
const params:any = {
|
const params:any = {
|
||||||
cameraName: cameraParams.value.keyWord,
|
cameraName: cameraParams.value.keyWord,
|
||||||
page: cameraParams.value.page,
|
pageNum: cameraParams.value.page,
|
||||||
pageSize: cameraParams.value.pageSize
|
pageSize: cameraParams.value.pageSize
|
||||||
};
|
};
|
||||||
const queryString = new URLSearchParams(params).toString();
|
deviceApi.deviceList(params).then((res) => {
|
||||||
url = `http://localhost:8891/yjearth4.0/api/v1/cameraData/list?${queryString}`
|
if (res.code === 0 || res.code === 200) {
|
||||||
fetch(url, {
|
if (res.data) {
|
||||||
method: 'get',
|
cameraParams.value.total = res.data.total
|
||||||
headers: {
|
if (res.data.records && res.data.records.length > 0) {
|
||||||
'Content-Type': 'application/json',
|
cameraList.value = res.data.records
|
||||||
"token": 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzYwOTQyMzU2fQ.TKwa0hMzsSl9bD4-iItoay2VDTQZf2zt0Lu0qgiRaUM',
|
for (let i = 0; i < cameraList.value.length; i++) {
|
||||||
"Authorization": "Bearer " + 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzYwOTQyMzU2fQ.TKwa0hMzsSl9bD4-iItoay2VDTQZf2zt0Lu0qgiRaUM',
|
cameraList.value[i].checked = false
|
||||||
}
|
for (let j = 0; j < props.entityOptions.attributeCamera.length; j++) {
|
||||||
}).then((response) => {
|
if (cameraList.value[i].id == props.entityOptions.attributeCamera[j].id) {
|
||||||
if (response.status === 200) {
|
cameraList.value[i].checked = true
|
||||||
response.json().then((data) => {
|
|
||||||
if (data.code === 200 || data.code === 0) {
|
|
||||||
if (data.data) {
|
|
||||||
cameraParams.value.total = data.data.total
|
|
||||||
if (data.data.list && data.data.list.length > 0) {
|
|
||||||
cameraList.value = data.data.list
|
|
||||||
for (let i = 0; i < cameraList.value.length; i++) {
|
|
||||||
cameraList.value[i].checked = false
|
|
||||||
for (let j = 0; j < props.entityOptions.attributeCamera.length; j++) {
|
|
||||||
if (cameraList.value[i].deviceId == props.entityOptions.attributeCamera[j].deviceId) {
|
|
||||||
cameraList.value[i].checked = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
console.error(data.message)
|
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
} else {
|
||||||
|
console.error(res.message)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -636,7 +624,7 @@ const changeAttributeCamera = (e) => {
|
|||||||
console.log(e)
|
console.log(e)
|
||||||
props.entityOptions.attributeCamera = [{ ...e }]
|
props.entityOptions.attributeCamera = [{ ...e }]
|
||||||
for (let i = 0; i < cameraList.value.length; i++) {
|
for (let i = 0; i < cameraList.value.length; i++) {
|
||||||
if (cameraList.value[i].deviceId !== e.deviceId) {
|
if (cameraList.value[i].id !== e.id) {
|
||||||
cameraList.value[i].checked = false
|
cameraList.value[i].checked = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -101,11 +101,12 @@ function leftClick(options) {
|
|||||||
info.camera.forEach((item) => {
|
info.camera.forEach((item) => {
|
||||||
index++;
|
index++;
|
||||||
ipcRenderer.send("openFFPlay", {
|
ipcRenderer.send("openFFPlay", {
|
||||||
url: item.rtspUrl, //
|
// url: 'rtsp://admin:admin123456@192.168.110.32:554/cam/realmonitor?channel=1&subtype=0', //
|
||||||
|
url: `rtsp://${item.username}:${item.password}@${item.ip}:${item.port}/cam/realmonitor?channel=${item.channel}&subtype=0`, //
|
||||||
cameraName: item.cameraName, //
|
cameraName: item.cameraName, //
|
||||||
ip: item.ip, //
|
ip: item.ip, //
|
||||||
name: node.sourceName,
|
name: node.sourceName,
|
||||||
deviceId: item.deviceId, //
|
deviceId: item.id, //
|
||||||
});
|
});
|
||||||
ipcRenderer.once(
|
ipcRenderer.once(
|
||||||
"openFFPlayOut",
|
"openFFPlayOut",
|
||||||
|
|||||||
Reference in New Issue
Block a user