vue项目中海康插件的使用

官方文档 :https://open.hikvision.com/docs/3784e07072ee4f09a573d61f20782267

插件版本:视频WEB插件 V1.5.1(见附件)(另附H5视频播放器开发包 V1.0.0,可用于移动端开发)

针对于web端的调用方法:

  1. 直接调用海康插件,需传参数 cameraIndexCode(监控点编号)。
  2. 调用海康接口,需传参数 url(监控点预览取流),需注意传输协议(rtsp,hls等)及延时情况。

以下为第一种方法(通过监控点编号cameraIndexCode直接调用海康插件的方法)说明:

【开发流程】

  • 安装 VideoWebPlugin.exe 插件包(直接安装,勿自行解压并运行解压后的可执行文件,安装于系统盘的“Program Files (x86)\VideoWebPlugin”目录中)。
  • 在vue项目的入口文件( public - index.vue )中引入js文件。
    <script src="./HikVision/jquery-1.12.4.min.js"></script>
    <script src="./HikVision/jsencrypt.min.js"></script>
    <script src="./HikVision/jsWebControl-1.0.0.min.js"></script>
  • 应用插件,基本对接流程(灰色为可选步骤):

目录

1. 创建 WebControl 实例 new WebControl

2. 启动插件 JS_StartService

(3.1 设置消息回调 JS_SetWindowControlCallback)

3.2 创建插件窗口 JS_CreateWnd

(4.1 申请RSA公钥 JS_RequestInterface - funcName: "getRSAPubKey")

4.2 初始化 JS_RequestInterface - funcName: "init"

5.1 调整插件窗口大小、位置接口 JS_Resize

5.2 预览(实时)JS_RequestInterface - funcName: "startPreview"

5.3 回放 JS_RequestInterface - funcName: "startPlayback"

(6.销毁插件窗口 JS_DestroyWnd)

7. 断开插件服务连接 JS_Disconnect


1. 创建 WebControl 实例 new WebControl

      this.oWebControl = new WebControl({
        szPluginContainer: "playWnd"+this.settingId, // 指定容器id
        iServicePortStart: 15900, // 指定起止端口号,建议使用该值
        iServicePortEnd: 15909,
        szClassId: "23BF3B0A-2C56-4D97-9C03-0CB103AA8F11", // 用于IE10使用ActiveX的clsid
        cbConnectSuccess: () => {
          // ----------创建WebControl实例成功 启动插件---------
          // ---------------2.JS_StartService-----------------
        },
        cbConnectError: () => {
          // 创建WebControl实例失败
          this.oWebControl = null;
          this.playText = '插件未启动,正在尝试启动,请稍候...';
          this.WebControl.JS_WakeUp("VideoWebPlugin://");// 程序未启动时执行error函数,采用wakeup来启动程序
          this.initCount++;
          if (this.initCount < 2) {
            setTimeout(() => {
              this.initPlugin(); // 重新创建播放实例
            }, 3000);
          } else {
            this.playText = `插件启动失败,请检查插件是否安装!`;
          }
        },
        cbConnectClose: () => {//bNormalClose
          // 异常断开:bNormalClose = false
          // JS_Disconnect正常断开:bNormalClose = true
          this.oWebControl = null;
        }
      });

2. 启动插件 JS_StartService

          this.oWebControl.JS_StartService("window", {
              // WebControl实例创建成功后需要启动服务
              dllPath: "./VideoPluginConnect.dll" // 值"./VideoPluginConnect.dll"写死
            }).then(() => {
                // --------------------设置消息回调--------------------
                //-----------3.1 JS_SetWindowControlCallback----------
                
                // ----启动插件服务成功 创建视频播放窗口(宽高可设定)----
                // ------------------3.2 JS_CreateWnd------------------
                
              },
              function() {
                // 启动插件服务失败
              }
            );

(3.1 设置消息回调 JS_SetWindowControlCallback)

                this.oWebControl.JS_SetWindowControlCallback({
                  cbIntegrationCallBack:function (oData) {
//                    console.log('回调信息',oData)
                  }
//                  this.cbIntegrationCallBack() // 封装的推送消息方法
                });

3.2 创建插件窗口 JS_CreateWnd

                this.oWebControl.JS_CreateWnd("playWnd"+this.settingId, this.$refs.playWnd.offsetWidth, this.$refs.playWnd.offsetHeight).then(() => {
                  // ------------------创建播放实例成功后初始化-------------------
                  // -----4.1 JS_RequestInterface - funcName: "getRSAPubKey"-----
                  
                  // ------------------创建播放实例成功后初始化-------------------
                  // ---------4.2 JS_RequestInterface - funcName: "init"----------
                });

(4.1 申请RSA公钥 JS_RequestInterface - funcName: "getRSAPubKey")

          this.oWebControl.JS_RequestInterface({
              //通用请求响应接口
              funcName: "getRSAPubKey", // 功能标识
              argument: JSON.stringify({
                keyLength: 1024 // 秘钥长度,可选1024或2048
              })
            })
            .then(oData => {
              if (oData.responseMsg.data) {
                // 当code为-1时无data字段
                this.pubKey = oData.responseMsg.data; // 返回的数据,如RSA公钥
                callback();
              }
            });
            
            //RSA加密
            setEncrypt(value) {
              var encrypt = new JSEncrypt();
              encrypt.setPublicKey(this.pubKey);
              return encrypt.encrypt(value);
            },
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 在使用 Vue 项目使用 CodeHighlighter 插件,需要进行如下步骤: 1. 安装 CodeHighlighter 插件: 使用 npm 或 yarn 安装 CodeHighlighter 插件,例如: npm install vue-code-highlight 2. 引入 CodeHighlighter: 在 main.js 引入 CodeHighlighter 插件,例如: import VueCodeHighlight from 'vue-code-highlight' 3. 注册 CodeHighlighter: 在 main.js 注册 CodeHighlighter 插件,例如: Vue.use(VueCodeHighlight) 4. 使用 CodeHighlighter 组件: 在需要使用高亮的页面使用 CodeHighlighter 组件,例如: ``` <template> <code-highlight :code="code" :language="language"></code-highlight> </template> <script> export default { data() { return { code: '<div>Hello, World!</div>', language: 'html' } } } </script> ``` 5. 引入样式: 引入 CodeHighlighter 插件的样式文件, 例如: import 'vue-code-highlight/themes/prism-okaidia.css' 这样就可以在Vue项目使用CodeHighlighter插件了。 ### 回答2: 在Vue项目使用CodeHighlighter插件可以按照以下步骤进行: 1. 首先,确保你已经安装了Vue.js和CodeHighlighter插件。可以使用npm或者yarn进行安装。在终端执行下面的命令来安装CodeHighlighter插件: ``` npm install vue-code-highlighter ``` 或者 ``` yarn add vue-code-highlighter ``` 2. 安装完成后,在你的Vue项目的入口文件(通常是main.js)导入和使用CodeHighlighter插件: ```javascript import Vue from 'vue'; import VueCodeHighlighter from 'vue-code-highlighter'; Vue.use(VueCodeHighlighter); ``` 这个步骤是将CodeHighlighter插件注册为Vue的全局组件,使得我们可以在任何Vue组件使用它。 3. 现在你可以在你的Vue组件使用CodeHighlighter插件了。在需要高亮代码的地方,使用`<vue-code-highlighter></vue-code-highlighter>`标签将要高亮的代码包裹起来,并且通过`lang`属性指定代码的语言类型。例如,如果你的代码是JavaScript的,你可以这样写: ```html <vue-code-highlighter lang="javascript"> // your code here </vue-code-highlighter> ``` 使用这种方式,你可以将JavaScript、HTML、CSS以及其他语言的代码在你的Vue组件进行高亮显示。 4. 最后,你可以根据需要修改CodeHighlighter的样式和配置。在你的Vue项目的样式文件进行修改,可以参考CodeHighlighter插件的文档来进行配置,例如支持更多的语言类型、修改颜色样式等。 这样,你就可以在Vue项目使用CodeHighlighter插件来高亮代码了。记得在代码修改后编译运行项目以查看效果。 ### 回答3: 要在Vue项目使用CodeHighlighter插件,可以按照以下步骤进行: 1. 首先,需要在Vue项目安装CodeHighlighter插件。可以通过npm或者yarn来安装,比如在终端运行以下命令:`npm install code-highlighter`。 2. 然后,需要在Vue组件引入CodeHighlighter插件。可以在要使用CodeHighlighter的组件使用import语句引入插件,例如:`import CodeHighlighter from 'code-highlighter'`。 3. 接下来,可以在Vue组件的`mounted`或者`created`生命周期钩子函数初始化CodeHighlighter插件。例如,在`mounted`钩子函数,可以使用如下代码初始化插件:`CodeHighlighter.init()`。 4. 然后,需要在Vue组件使用CodeHighlighter来高亮显示代码。可以在需要高亮显示代码的地方,使用CodeHighlighter的`highlightBlock`方法来实现。例如,如果要高亮显示一个HTML代码块,可以使用如下代码:`CodeHighlighter.highlightBlock(document.getElementById('code-block'))`(其,`'code-block'`为对应HTML代码块的id)。 5. 最后,可以根据自己的需求定制CodeHighlighter插件的样式。可以在Vue组件的样式表,根据自己的需求来修改插件的样式。 总的来说,使用CodeHighlighter插件Vue项目的步骤包括:安装插件、引入插件、初始化插件使用插件高亮显示代码,以及定制样式。根据以上步骤,即可在Vue项目成功使用CodeHighlighter插件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值