海康视频WEB插件

引入相关依赖

index.html

html 复制代码
<script src="/video/web-control_1.2.5.min.js"></script>
<script src="/video/jquery-1.12.4.min.js" type="text/javascript"></script>
<script src="/video/jsencrypt.min.js" type="text/javascript"></script>

全局配置参数

javascript 复制代码
<script>
    window._CONFIG = {
        appKey:"XXXXXXXXX",
        secret:"XXXXXXXXXXXX",
        hikIp:'xxx.xxx.xxx.xx',
        apiPort:'XXXX',
};
</script>

页面

html 复制代码
<div class="backWidth play_box" ref="backWidth">
	<a-row type="flex" justify="space-around" align="middle">
		<a-spin v-show="spinFlag" tip="加载中请稍后......" />
	</a-row>
	<a-row class="play_box">
		<div id="playWnd" class="playWnd" ref="barparent"></div>
	</a-row>
</div>
javascript 复制代码
<script>
import {playMixin} from '@/utils/playMixinNew.js';
export default {
    mixins: [playMixin],
    data() {
        return {
            windowHeight: 0,
            curPlayMode:0,
        },
    mounted() {
        //计算窗口高度
        this.getWindowHeight();
        // 在窗口大小改变时重新获取窗口高度
        window.addEventListener('resize', this.getWindowHeight);
    },
    methods: {
        getWindowHeight() {
            this.windowHeight = window.innerHeight - 355;
        },
        // 切换实时视频和历史视频
        changePlay(value,playMode){
            if(playMode !== this.curPlayMode){
              this.closeWindow();
              setTimeout(()=>{
                this.openPlayer(value,playMode)
              },200)
            }
        },
        // 打开海康视频插件
        openPlayer(value,playMode=0){
            this.curPlayMode = playMode;
            this.$nextTick(()=>{
                this.initparam.layout = '1x1'
                this.spinFlag = true;
                this.initPlugin({playMode:this.curPlayMode});
                setTimeout(()=>{
                    if(this.curPlayMode){
                        console.log('进入视频回放')
                        this.startPlayBack(value)
                    }else{
                        console.log('进入视频预览')
                        this.startpreview(value);
                    }
                },2000)
            })
        },
    }
相关推荐
大龄秃头程序员几秒前
iOS Method Swizzling 的工程化实践:如何处理多重交换与第三方冲突
前端
liangshanbo12155 分钟前
Webpack 文件指纹面试题整理
前端·webpack·node.js
xieter14 分钟前
【技术精选】Node.js 核心事件循环机制与异步 I/O 深度剖析 (2026-10-02)
前端·javascript
计算机魔术师42 分钟前
Ethan Mollick 谈点与群:智能体自组织为何让管理假设失效
前端
故七月1 小时前
GEO 信源评估体系:如何判断一条网页信源能否被大模型采信
前端·网络·人工智能
liangshanbo12151 小时前
Webpack 常见 Plugin 面试题
前端·webpack·node.js
xxwl5851 小时前
vue3的入门学习
前端·vue.js·学习
用户847172102841 小时前
.shot 文件格式规范
前端·后端
web打印社区1 小时前
政务办事大厅:叫号小票、办理回执网页怎么静默出纸
前端·javascript·vue.js·pdf·html·政务
C++ 老炮儿的技术栈2 小时前
有符号变量与无符号变量的区别
服务器·开发语言·前端·数据结构·c++·算法·c