feat(视频监控): 添加视频监控模块,屏蔽部分打包文件,更新后端exe和插件,取消csp屏蔽
This commit is contained in:
parent
5a0304a8d6
commit
06edc35679
|
@ -11,7 +11,7 @@ files:
|
|||
- '!src/*' # 排除源代码目录
|
||||
- '!electron.vite.config.{js,ts,mjs,cjs}' # 排除Electron构建配置文件
|
||||
- '!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}' # 排除开发和文档文件
|
||||
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml}' # 排除环境和包管理配置文件
|
||||
- '!{.env,.env.*,.npmrc,pnpm-lock.yaml,*.zip,app.log}' # 排除环境和包管理配置文件
|
||||
# 定义需要解压的asar文件
|
||||
asarUnpack:
|
||||
- resources/** # 解压资源目录下的所有文件
|
||||
|
|
Binary file not shown.
|
@ -34,7 +34,7 @@ function createWindow() {
|
|||
// 禁用同源策略,允许跨域请求
|
||||
webSecurity: false,
|
||||
contextIsolation: false,
|
||||
csp: "default-src 'self'; connect-src 'self' *",
|
||||
// csp: "default-src 'self'; connect-src 'self' *",
|
||||
// 禁止build环境使用DevTool
|
||||
// devTools: is.dev ? true : false
|
||||
devTools: true
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
<title>谷云工具</title>
|
||||
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
|
||||
<link rel="stylesheet" href="/src/assets/iconfont/iconfont.css">
|
||||
<meta
|
||||
http-equiv="Content-Security-Policy"
|
||||
content="default-src 'self'; connect-src 'self' *; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:"
|
||||
/>
|
||||
<!-- <meta-->
|
||||
<!-- http-equiv="Content-Security-Policy"-->
|
||||
<!-- content="default-src 'self'; connect-src 'self' *; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:"-->
|
||||
<!-- />-->
|
||||
<script type="text/javascript" src="./videoplayer/EasyPlayer-element.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<cross-domain-policy>
|
||||
<allow-access-from domain="*"/>
|
||||
</cross-domain-policy>
|
|
@ -10,7 +10,7 @@ const settings = defineProps({
|
|||
<el-scrollbar>
|
||||
<el-menu default-active="/system/switch" :collapse="settings.collapse" :router="true">
|
||||
<el-menu-item index="/system/switch"> <span class="iconfont icon-icon_duanluqi"></span> 断路器调试</el-menu-item>
|
||||
<!-- <el-menu-item index="/system/about"><span class="iconfont icon-icon_jiankong"></span> 视频监控</el-menu-item>-->
|
||||
<el-menu-item index="/system/videoplayer"><span class="iconfont icon-icon_jiankong"></span> 视频监控</el-menu-item>
|
||||
<!-- <el-menu-item index="/system/test"><el-icon> <Menu /> </el-icon>测试</el-menu-item>-->
|
||||
</el-menu>
|
||||
</el-scrollbar>
|
||||
|
|
|
@ -26,6 +26,15 @@ const router = createRouter({
|
|||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'videoplayer',
|
||||
name: 'videoplayer',
|
||||
component: () => import('@renderer/views/system/videoplayer/index.vue'),
|
||||
meta: {
|
||||
menu: 'videoplayer',
|
||||
keepAlive: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'about',
|
||||
name: 'about',
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
<template>
|
||||
<div id="video-player-box">
|
||||
<easy-player id="EasyPlayer" ref="vVideoPlayerRef" live muted autoplay :has-audio="videoOption.hasAudio" :video-url="videoOption.videoUrl"></easy-player>
|
||||
<div class="operation-box">
|
||||
<div>
|
||||
<el-checkbox v-model="videoOption.hasAudio" label="音频(音频有问题,请设置成false,仅支持flv)" size="large" />
|
||||
</div>
|
||||
<div>
|
||||
<span>视频地址:</span>
|
||||
<el-input v-model="videoOption.videoUrl" style="width: 500px; margin-right: 10px" placeholder="请输入视频地址" />
|
||||
<el-button type="primary" @click="initPlay">初始化</el-button>
|
||||
<el-button v-if="videoOption.status" type="primary" @click="switchVideo">播放</el-button>
|
||||
<el-button v-else @click="switchVideo">暂停</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
const videoOption = ref({
|
||||
//视频地址
|
||||
videoUrl: '',
|
||||
//是否静音
|
||||
hasAudio: false,
|
||||
status: true
|
||||
});
|
||||
const vVideoPlayerRef = ref(null);
|
||||
|
||||
const initPlay = () => {
|
||||
let player = vVideoPlayerRef.value.getVueInstance();
|
||||
player.destroyPlayer();
|
||||
player.initPlayer();
|
||||
};
|
||||
|
||||
const switchVideo = () => {
|
||||
let player = vVideoPlayerRef.value.getVueInstance();
|
||||
player.switchVideo();
|
||||
videoOption.value.status = !player.pause;
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#video-player-box {
|
||||
height: 100%;
|
||||
//position: relative;
|
||||
//padding-bottom: 5px;
|
||||
}
|
||||
#EasyPlayer {
|
||||
display: inline-block;
|
||||
width: 100% !important;
|
||||
height: 500px !important;
|
||||
margin: 0 auto;
|
||||
}
|
||||
:deep(.easy-player-loading .logo) {
|
||||
display: none;
|
||||
}
|
||||
:deep(.easy-player-right-menu) {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue