海康无插件版Web3.4 SDK 动态引入
这是我的第一篇文章写的不好请多多见谅。海康无插件版demo下载地址海康开放平台Vue3通常的引入做法应该是将demo中的webs下的jquery-1.7.1.min.js、require-2.3.3.min.js、sea-3.0.1.min.js还有codebase下的webVideoCtrl.jscodebase/encryption下的AES.js、encryption.js、cryptico.min.js、encryption.js、crypto-3.1.2.min.js放到public包下然后在index.html中引入代码示例如下!-- index.html -- script src/jquery-1.7.1.min.js/script script src/codebase/webVideoCtrl.js/script script src/require-2.3.3.min.js/script script src/sea-3.0.1.min.js/script script src/codebase/encryption/AES.js/script script src/codebase/encryption/encryption.js/script script src/codebase/encryption/cryptico.min.js/script script src/codebase/encryption/encryption.js/script script src/codebase/encryption/crypto-3.1.2.min.js/script这种方式是全局引入一次引入全局调用在对应的页面新建WebVideoCtrl 然后调用文档中的官方方法即可。本文通过动态引入可以减少全局引入带来的资源浪费首屏加载慢的问题适用手机H5环境代码如下const HIK_SDK_PROMISE_KEY __hikSdkLoadPromise; // 判断是否是非网页 H5环境 const isH5Runtime () typeof window ! undefined typeof document ! undefined; const trimText (val) String(val ?? ).trim(); const normalizeBase (basePath) trimText(basePath).replace(/\/$/, ); const loadScript (src) { return new Promise((resolve, reject) { if (!isH5Runtime()) { reject(new Error(Not H5 runtime)); return; } const existing document.querySelector(script[data-hik-src${src}]); if (existing) { if (existing.dataset.loaded 1) { resolve(); return; } existing.addEventListener(load, () resolve(), { once: true }); existing.addEventListener(error, () reject(new Error(Load script failed: ${src})), { once: true, }); return; } const script document.createElement(script); script.src src; script.async true; script.dataset.hikSrc src; script.onload () { script.dataset.loaded 1; resolve(); }; script.onerror () reject(new Error(Load script failed: ${src})); document.head.appendChild(script); }); }; export const ensureHikSdkLoaded async (basePath /mobile_camera_app/static/hikvision) { if (!isH5Runtime()) return false; if (window.WebVideoCtrl (window.$ || window.jQuery)) { return true; } // 多个页面同时进入 只挂载一次 if (window[HIK_SDK_PROMISE_KEY]) { await window[HIK_SDK_PROMISE_KEY]; return !!window.WebVideoCtrl; } const base normalizeBase(basePath); const scripts [ ${base}/jquery-1.7.1.min.js, ${base}/codebase/encryption/AES.js, ${base}/codebase/encryption/cryptico.min.js, ${base}/codebase/encryption/crypto-3.1.2.min.js, ${base}/codebase/webVideoCtrl.js, ]; window[HIK_SDK_PROMISE_KEY] (async () { for (const script of scripts) { await loadScript(script); } })(); await window[HIK_SDK_PROMISE_KEY]; return !!window.WebVideoCtrl; };在需要的页面中import导入后使用异步加载判断ensureHikSdkLoaded是否加载成功示例如下import { ensureHikSdkLoaded } from /mobile_camera_app/utils/hikSdkLoader; const loaded await ensureHikSdkLoaded(props.sdkBase); if (!loaded) throw new Error(海康SDK加载失败); // 加载成功后可以创建海康无插件版的对象然后进行官方方法的调用 const WebVideoCtrl window.WebVideoCtrl; // 以下是操作代码 ....

相关新闻

智能制造项目数字化工厂规划与建设方案(65页ppt)

智能制造项目数字化工厂规划与建设方案(65页ppt)

很多制造企业搞数字化工厂,钱没少花,效果却很差。常见问题有这么几个:设备数据各自为政,连不起来,成了“信息孤岛”。车间现场还是靠纸质单子传递,一改版就乱。老板想上系统,一线工人嫌麻烦&…

2026/8/7 14:47:51 阅读更多 →
【C# 泛型默认值、集合类型的简单介绍】

【C# 泛型默认值、集合类型的简单介绍】

C# 泛型默认值、集合类型的简单介绍 1. 概念总览概念说明示例位置default(T) 默认值获取泛型类型的默认值default(T)、default(int)自定义泛型链表演示泛型在实际数据结构中的应用CarListList 泛型集合类型安全的动态数组List、ListArrayList 非泛型集合object 类型&#xff0c…

2026/8/7 12:18:22 阅读更多 →
Claw部署模式:企业AI落地的分布式架构实战解析

Claw部署模式:企业AI落地的分布式架构实战解析

1. 项目概述:Claw部署模式与企业AI的十字路口最近在跟几个做企业服务的朋友聊天,大家不约而同地都在讨论一个词:Claw。这玩意儿听起来像是个新出的AI模型或者工具,但仔细一扒拉,发现它更像是一个部署架构的代名词&…

2026/8/8 9:52:05 阅读更多 →

最新新闻

DSGE模型工具箱:如何用40+经典模型快速掌握宏观经济建模

DSGE模型工具箱:如何用40+经典模型快速掌握宏观经济建模

DSGE模型工具箱:如何用40经典模型快速掌握宏观经济建模 【免费下载链接】DSGE_mod A collection of Dynare models 项目地址: https://gitcode.com/gh_mirrors/ds/DSGE_mod 你是否曾为宏观经济模型的复杂性而望而却步?面对DSGE模型的理论推导、方…

2026/8/8 13:02:56 阅读更多 →
Unity Shader中_Time精度问题与UV动画优化策略

Unity Shader中_Time精度问题与UV动画优化策略

1. 项目概述:当UV动画开始“闪烁”时 如果你在Unity里写过Shader,尤其是做过UV动画,那你大概率遇到过这个场景:一个精心设计的流动水面或者火焰特效,在编辑器里跑得好好的,一打包到真机(特别是移…

2026/8/8 13:02:56 阅读更多 →
5分钟构建AI智能体:ChatClaw低代码平台实战指南

5分钟构建AI智能体:ChatClaw低代码平台实战指南

1. 项目概述:为什么“5分钟”不是噱头? 最近在AI圈子里,ChatClaw这个名字被频繁提及,尤其是在“AI智能体”这个赛道上。很多朋友看到“5分钟打造你的个人AI智能体”这个标题,第一反应可能是“这又是个营销口号吧&#…

2026/8/8 13:02:56 阅读更多 →
Viking AI 搜索 CLI:用自然语言对话驱动终端智能搜索

Viking AI 搜索 CLI:用自然语言对话驱动终端智能搜索

1. 项目概述:当命令行界面“开口说话” 如果你是一个重度命令行(CLI)用户,或者对效率工具有着近乎偏执的追求,那么“搜索”这个动作,大概率是你每天重复次数最多的操作之一。无论是查找一个模糊的API文档&a…

2026/8/8 13:02:55 阅读更多 →
职场英语慕课考试高分攻略:从考核逻辑到实战技巧

职场英语慕课考试高分攻略:从考核逻辑到实战技巧

1. 项目概述:从“找答案”到“学方法”的思维转变 最近在和一些高校学生交流时,发现一个挺有意思的现象:每到期末,像“中国高校外语慕课平台职场英语期末考试答案”这样的搜索词热度就会飙升。这背后反映的,其实是一个…

2026/8/8 13:02:55 阅读更多 →
如何快速构建光伏缺陷检测系统:2624张EL图像数据集的完整指南

如何快速构建光伏缺陷检测系统:2624张EL图像数据集的完整指南

如何快速构建光伏缺陷检测系统:2624张EL图像数据集的完整指南 【免费下载链接】elpv-dataset A dataset of functional and defective solar cells extracted from EL images of solar modules 项目地址: https://gitcode.com/gh_mirrors/el/elpv-dataset 在…

2026/8/8 13:01:55 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/8 8:58:26 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →