Android-thermische-imagingcamera...">
,需要通过父级DOM结构来判断
*/
var trackActionPhone = function (node) {
var nodeInnerText = node.innerText || '';
if (!limitRegLength(nodeInnerText)) return;
var nodeText = trimText(nodeInnerText);
if (nodeText.length < 5 || nodeText.length > 20) return false;
var type =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: 'click';
var str = trimText(node.href || node.innerHTML || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
_paq.push(['trackEvent', type, 'phone', nodeText]);
return true;
}
/** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */
var fatherText = trimText(node.parentNode.innerText || '');
if (fatherText.length < 5 || fatherText.length > 20) return false;
var fatherDom = trimText(node.parentNode.innerHTML || '');
if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) {
_paq.push(['trackEvent', type, 'phone', nodeText]);
return true;
}
return false;
};
window.addEventListener('click', function (e) {
var node = e.target;
/** 社媒点击 */
var appName = '';
var getAppAriaLabel =
node.ariaLabel || node.parentNode.ariaLabel || '';
if (mediaList.includes(getAppAriaLabel.toLowerCase())) {
appName = getAppAriaLabel;
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'a'
) {
appName = getMediaName(node.href) || getMediaName(node.alt);
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'img'
) {
appName = getMediaName(node.alt) || getMediaName(node.src);
}
if (
!appName &&
node.nodeName &&
node.nodeName.toLowerCase() === 'i'
) {
appName = getMediaName(node.className);
}
if (appName) {
_paq.push(['trackEvent', 'click', 'contactApp', appName]);
return;
}
/** 联系方式点击 */
if (trackActionPhone(node, 'click')) return;
if (node.nodeName && node.nodeName.toLowerCase() === 'a') {
var val = node.href;
if (!limitRegLength(val)) return;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val]);
return;
}
}
if (node.nodeName && node.nodeName.toLowerCase() === 'i') {
var val = node.className;
var content = node.parentNode.href || '';
if (val.includes('email')) {
_paq.push(['trackEvent', 'click', 'email', content]);
return;
}
}
var nodeChildList = node.childNodes;
for (var i = 0; i < nodeChildList.length; i++) {
if (nodeChildList[i].nodeType !== 3) continue;
var val = nodeChildList[i].textContent.replace(/\s?:?/g, '');
if (!limitRegLength(val)) continue;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val]);
return;
}
}
trackNumberData(node);
});
window.addEventListener('copy', function (e) {
if (trackActionPhone(e.target, 'copy')) return;
var text = e.target.textContent;
if (!text) return;
var val = text.replace(/\s:?/g, '');
if (!limitRegLength(val)) return;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'copy', 'email', val]);
return;
}
trackNumberData(e.target);
});
}
trackContactInit();
/**
* 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户
* 1. 缓存的KEY:TRACK_INPUT_ID_MTM_00;
* 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报
*/
function trackActionInput() {
const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00';
const pathName = window.location.hostname + window.location.pathname;
var lockTrackInput = function () {
try {
const lastCacheData = localStorage.getItem(CACHE_KEY);
if (!lastCacheData) return false;
const cacheData = JSON.parse(lastCacheData);
const cacheTime = cacheData[pathName];
if (!cacheTime) return false;
return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报
} catch (error) {
console.error('lockTrackInput Error', error);
return false;
}
};
var setInputTrackId = function () {
try {
const curCacheData = localStorage.getItem(CACHE_KEY);
if (curCacheData) {
const cacheData = JSON.parse(curCacheData);
cacheData[pathName] = Date.now();
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
return;
}
const cacheData = {
[pathName]: Date.now(),
};
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
} catch (error) {
console.error('setInputTrackId Error', error);
}
};
var getInputDom = function (initDom) {
var ele = initDom;
while (ele) {
/**
* isWebSiteForm 是站点的表单
* isChatWindowForm 是聊天窗口的表单
*/
/** 旧模板表单 */
var isWebSiteForm = !!(
/crm-form/i.test(ele.className) && ele.querySelector('form')
);
/** 1:新模板自定义表单、2:Get a Quote 弹框表单 */
var isWebSiteFormNew = !!(
/inquiry/i.test(ele.className) && ele.querySelector('form')
);
if (isWebSiteForm || isWebSiteFormNew) {
_paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']);
setInputTrackId();
return;
}
/** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */
var isInquiryChatForm = !!(
/comp-form/i.test(ele.className) && ele.querySelector('form')
);
if (isInquiryChatForm) {
_paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']);
setInputTrackId();
return;
}
/** 向上查找父节点 */
ele = ele.parentNode;
}
};
function initInputListener() {
var inputUseDebounce = function (fn, delay) {
var timer = null;
var that = this;
return function () {
var args = Array.prototype.slice.call(arguments);
if (timer) clearTimeout(timer);
timer = setTimeout(function () {
fn.apply(that, args);
}, delay);
};
};
var optimizeGetInputDom = inputUseDebounce(getInputDom, 300);
window.addEventListener('input', function (e) {
/** 如果已经上报过,则不再上报 */
if (lockTrackInput()) return;
optimizeGetInputDom(e.target);
});
}
try {
initInputListener();
} catch (error) {
console.log('initInputListener Error', error);
}
}
trackActionInput();
}
/** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */
function thirdMsgCollect() {
/** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */
const scriptList = Array.prototype.slice.call(
document.querySelectorAll('script'),
);
const checkStayReal = () =>
!!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn'));
if (!checkStayReal()) return;
/** 缓存当前消息队列的最后一条消息id */
const CACHE_KEY = 'CACHE_KEY_MONITOR';
const setCache = (msgIndex) => {
/** 对缓存KEY进行base64转码处理 */
const cacheMsgIndex = btoa(msgIndex);
localStorage.setItem(CACHE_KEY, cacheMsgIndex);
};
const getCache = () => {
const cacheMsgIndex = localStorage.getItem(CACHE_KEY);
if (cacheMsgIndex) return Number(atob(cacheMsgIndex));
return -1;
};
/** 拉取最新msg列表 */
const pullMsgList = () => {
const msgEleList = Array.prototype.slice.call(
document.querySelectorAll('#chat-list li'),
);
const msgIds = [];
const msgMap = msgEleList.reduce((acc, item) => {
const sendTime = item
.querySelector('.message-data-time')
.textContent.trim();
const sendContent = item.querySelector('.message').textContent.trim();
/** msg带有class:other-message的是访客消息,my-message的是客服消息 */
const isOtherMessage = item
.querySelector('.message')
.classList.contains('other-message');
const msgId = item.querySelector('.message').getAttribute('id');
const msgItemData = {
msgId,
user: isOtherMessage ? 'visitor' : 'official',
time: sendTime,
content: sendContent,
};
msgIds.push(msgId);
acc[msgId] = msgItemData;
return acc;
}, {});
return {
ids: msgIds,
dataMap: msgMap,
};
};
/** 加密并上传消息数据 */
let ENCRYPT_KEY = 'de29f1aab63ab033';
let ENCRYPT_IV = 'b8d2badf875e76ac';
const baseUrl = 'https://cms.xiaoman.cn';
// var getEncryptConfig = function () {
// const url = baseUrl + '/shop-api/innerApi/getKeyIv'
// $.get(
// url,
// function (result) {
// console.log('result', result)
// if (Number(result.code) === 0 && result.data.key && result.data.iv) {
// ENCRYPT_KEY = result.data.key
// ENCRYPT_IV = result.data.iv
// uploadMsgData()
// } else {
// /** 如果获取失败,则重试 */
// setTimeout(() => {
// getEncryptConfig()
// }, 1000)
// }
// },
// 'json'
// )
// }
// getEncryptConfig()
const encryptMsg = function (msgData) {
const enc = new TextEncoder();
// 转字节
const keyBytes = enc.encode(ENCRYPT_KEY);
const ivBytes = enc.encode(ENCRYPT_IV);
const plainBytes = enc.encode(msgData);
// 导入密钥并加密
return crypto.subtle
.importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt'])
.then(function (cryptoKey) {
return crypto.subtle.encrypt(
{ name: 'AES-CBC', iv: ivBytes },
cryptoKey,
plainBytes,
);
})
.then(function (encryptedBuffer) {
// 转 base64 返回
return btoa(
String.fromCharCode(...new Uint8Array(encryptedBuffer)),
);
})
.catch((err) => {
return Promise.reject(err);
});
};
let uploadFlag = false;
const uploadMsgData = function () {
if (uploadFlag) return;
uploadFlag = true;
const { ids, dataMap } = pullMsgList();
let cacheMsgIndex = getCache();
const msgLen = ids.length;
if (!msgLen) {
// 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空
uploadFlag = false;
return;
}
if (msgLen - 1 < cacheMsgIndex) {
/** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */
cacheMsgIndex = msgLen - 1;
setCache(cacheMsgIndex);
uploadFlag = false;
return;
}
if (msgLen - 1 === cacheMsgIndex) {
// 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报
uploadFlag = false;
return;
}
const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen);
const currentMsgData = currentMsgIds.map((id) => dataMap[id]);
const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id
const msgBody = {
mtmId,
curl: window.location.href,
msgList: currentMsgData,
};
const msgBodyStr = JSON.stringify(msgBody);
encryptMsg(msgBodyStr)
.then(function (encryptedMsg) {
console.log('encryptedMsg:', encryptedMsg, msgBodyStr);
const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus';
$.ajax({
type: 'POST',
url,
data: JSON.stringify({ d_v: encryptedMsg }),
contentType: 'application/json',
success: function (result) {
if (Number(result.code) === 0) {
// 更新消息队列
setCache(msgLen - 1);
}
uploadFlag = false;
},
error: function (err) {
console.error(err, '请求异常');
uploadFlag = false;
},
});
})
.catch((err) => {
console.error(err, '数据加密失败');
uploadFlag = false;
});
};
/** 监控chat-list的DOM变更 */
const initChatListObserver = () => {
// 需要监听的 DOM 节点
const target = document.getElementById('chat-list');
if (!target) return;
// 回调函数
const callback = function (mutationsList, observer) {
for (const mutation of mutationsList) {
console.log('mutation', mutation);
if (mutation.type === 'childList') {
uploadMsgData();
}
}
};
// 配置
const config = {
childList: true, // 监听子节点的增删
subtree: true, // 是否也监听后代节点
};
// 创建 observer
const observer = new MutationObserver(callback);
// 开始监听
observer.observe(target, config);
};
let testCount = 30;
let itv = null;
const checkChatDom = () => !!document.querySelector('#vc-model');
const initTalkCheck = () => {
itv = setTimeout(() => {
console.log('checkChatDom', checkChatDom(), testCount);
if (!checkChatDom() && testCount > 0) {
testCount--;
initTalkCheck();
return;
}
clearTimeout(itv);
uploadMsgData();
initChatListObserver();
}, 1500);
};
initTalkCheck();
}
try {
gtmTrack();
thirdMsgCollect();
console.log('inserted gtm code');
} catch (error) {
console.error('gtmTrack Error', error);
}
});
})();
Hier is een nieuwe camera die ons in staat stelt om effectief en veilig te blijven, ook in de duisternis. Met een naam waardig voor James Bond, heet deze camera de android thermische beeldcamera --en het bedrijf erachter is LSJ Technology. En ze bieden dit coole gereedschap aan als OpenSource. Lees verder om te ontdekken hoe deze geweldige Camera voor ons werkt. Heb je ooit in een film gezien dat de spion of speciale agent een geheime camera gebruikt om te zien waar de slechteriken zich verbergen? Het ziet er zo cool uit, hè? Je kunt nu zelf ervaren wat die kracht inhoudt met een mobiele thermische camera voor Android ! Deze is speciaal omdat hij hitte in plaats van licht uitstraalt. Dus, zelfs midden in de volle nachtelijke duisternis en dikke rook van vulkaanactiviteit kan er nog steeds een beeld worden opgevangen. Dus waarom al de ophef over deze camera? Hij laat je dingen zien die je ogen nooit zullen zien. Een voorbeeld hiervan is als je 's nachts in het bos bent en iemand mist, kun je naar hem\/haar zoeken met deze thermische camera. Wil je je huisdier in het donker kunnen vinden als ze ontsnappen? Je kunt hem gebruiken om een lek in de leidingen van je huis te detecteren, wat je misschien kan redden van vervelende verrassingen later. De mobiliteit van de thermische camera is niet alleen beperkt tot zien in het donker. Om verschillende redenen lijkt het ons meer veiligheid te bieden. Een toepassing kan zijn dat brandweerlieden deze camera's gebruiken om hete plekken in een vuur achter muren of plafonds te zien. Dit laat hen vuur op een veiliger manier blussen. Deze camera's worden ook gebruikt door politieagenten om mensen te pakken die proberen hen te ontwijken of weg te rennen. Je kunt ze ook gebruiken om grote ruimtes te bewaken en op de hoogte te blijven of er ergens potentiële schade of problemen zijn, dus als je een beveiliger bent en je bedrijf drones heeft, is dit waar ze... Toch is dit geen camera die alleen professionele fotografen zullen waarderen! Dit zijn dezelfde camera's die jij ook kunt gebruiken! Stel je voor — ben je ooit bang geweest om 's nachts in je eentje te lopen? Gebruik een thermische camera om te kijken of er iemand in de buurt verborgen zit. Dat geeft je alleen al de rust die je nodig hebt wanneer je op pad bent en je veiliger voelt. Hoe werkt een mobiele thermische beeldcamera? De NIGHTSEA™ Predator gebruikt specifieke sensoren die het in staat stellen te bepalen hoeveel warmte wordt afgegeven door verschillende objecten. Wanneer het de warmte voelt, visualiseert het die data in een fel gekleurd beeld. Ditbeeld laat je zien de warmste en koudste gebieden. Alsof het bovennatuurlijk gezicht is! — Lachie Smith (@LockieSmit) 1 september 2020 Het is ook mobiel, wat betekent dat je het apparaat overal mee naartoe kunt nemen. Dit laat je het thuis, buiten gebruiken en zelfs tijdens reizen coles,cljs Verandering is onvermijdelijk, de wereld ontwikkelt zich voortdurend en nieuwe gereedschappen/technologieën worden regelmatig ontwikkeld. Vandaag meer dan ooit is het essentieel om met de juiste gereedschappen veilig en winstgevend te blijven. Hier zijn ze. Een van de meest praktische apparaten om je levensstijl te verbeteren is een draagbare thermische beeldcamera. Deze camera helpt je om verborgen gevaren thuis te vinden, zoekende naar verloren personen of huisdieren, of zelfs controleren waar energielekken elektriciteit en geld kosten. Wij bieden ondersteuning aan brandweer- en reddingsdiensten, evenals aan openbare veiligheidsdiensten en mobiele thermische camera's. LSJ levert geavanceerde apparatuur voor het bestrijden van branden, het uitvoeren van zoek- en reddingsoperaties en het werken in gevaarlijke omgevingen binnen een breed scala aan sectoren.
Thermische brandbestrijdingscamera's: Wij hebben twee soorten thermische camera's ontwikkeld en ontworpen, met drie resolutieopties: 256×192, 384×288 en 640×512. Deze kunnen temperaturen tot 2000 °C meten.
Zoek- en reddingsapparatuur: Wij bieden een reeks producten, waaronder gassensoren, stabiliteitsmonitors en bewegingsbewakingsystemen.
Industriële thermische camera's: Naast thermische camera's voor brandbestrijding biedt LSJ ook handbediende thermische camera's voor het opsporen van lekkages in waterinstallaties, gebouwinspecties, elektronisch herstel, warmteverlies in vloerverwarmingssystemen en inspecties van HVAC-systemen.
Thermische vizieren: Onze nachtzichtoptiek is ideaal voor gebruik bij nachtzicht. Ze zijn ook zeer populair bij jagers. Ze kunnen eenvoudig op geweren worden gemonteerd.
LSJ richt zich erop hoogwaardige thermische beeldvormings- en reddingsapparatuur te leveren die voldoet aan de eisen van verschillende sectoren, waardoor efficiëntie en veiligheid worden verbeterd. Kies voor LSJ als leverancier van de meest geavanceerde en efficiënte oplossingen.
Vertrouw op LSJ als uw voornaamste partner op het gebied van stedelijke zoek- en reddingsoperaties. Bij LSJ zijn we experts in de productie van hoogwaardige uitrusting voor stedelijke zoek- en reddingsoperaties, ontworpen om te voldoen aan de strengste internationale normen.
Voorverkoopdienst:
Wij staan u vanaf het begin ter zijde. Wij bieden uitgebreide consultaties om uw behoeften volledig te begrijpen en passende oplossingen te leveren. Daarnaast bieden wij productdemo’s met gedetailleerde technische specificaties, zodat u alle benodigde informatie hebt om een weloverwogen beslissing te nemen.
Verkoopdienst:
Tijdens het verkoopproces garanderen wij een mobiele thermische camera en een effectieve ervaring. Dankzij ons geautomatiseerd ordersysteem en een strenge kwaliteitscontrole garanderen wij dat uw producten op tijd en in perfecte staat aankomen. Wij ondersteunen ook levering op locatie (deur-tot-deur).
Naservice:
Nadat u uw goederen heeft ontvangen, eindigt ons partnerschap met u niet. Onze uitgebreide naservice omvat ondersteuning bij installatie, gebruikerstraining en onderhoud. Onze klantenservice is altijd bereikbaar om eventuele vragen of bezorgdheden te bespreken en uw volledige tevredenheid te waarborgen. Zodra u uitrusting van LSJ koopt, verstrekken wij een garantie van drie jaar; u kunt specifieke naservices bij ons afroepen.
De keuze voor LSJ is een keuze voor vertrouwen, kwaliteit en ongeëvenaarde ondersteuning. Wij kijken ernaar uit om uw partner te worden in stedelijke zoek- en reddingsoperaties, evenals bij brandweeractiviteiten. Wij van LSJ zijn ons bewust van het belang om onze klanten producten van topkwaliteit en mobiele thermische beeldvormingscamera's aan te bieden. Wij bieden garanties van één of vijf jaar, wat onze overtuiging weerspiegelt met betrekking tot de duurzaamheid en prestaties van onze producten. Onze aanzienlijke investeringen in onderzoek en ontwikkeling garanderen dat uw producten voldoen aan de hoogste normen. Als productiebedrijf hanteren wij strenge kwaliteitscontrole, vanaf de grondstoffen tot en met de productie. Of u nu een particuliere klant, distributeur, inschrijver voor een aanbesteding of overheidsinstantie bent: wij bieden een breed scala aan producten die aan uw eisen voldoen. Onze voorraad grondstoffen, componenten en andere artikelen is voldoende groot om tijdige levering te waarborgen. Indien wij niet op tijd leveren, verplichten wij ons ertoe om maximaal 2%–50% van de totale orderwaarde aan onze klanten terug te betalen. Wij bieden u gedetailleerde instructies en video’s waarmee u onze producten efficiënt kunt gebruiken. Daarnaast kunnen wij op locatie persoonlijke technische trainingen organiseren, afgestemd op uw behoeften, zodat u onze producten met vertrouwen en gemak kunt gebruiken. Kies voor LSJ als u wilt profiteren van producten van hoge kwaliteit en betrouwbaarheid, en van buitengewone klantenservice. Sinds 2013 ontwikkelt, levert en verkoopt LSJ hoogwaardige zoek- en reddingsapparatuur en brandweerapparatuur. LSJ heeft certificaten ontvangen van ISO9001, CE en ROHS. Daarnaast bezit het meer dan 30 octrooien. Als toonaangevend bedrijf investeren wij aanzienlijk in onze afdeling voor ontwerp en onderzoek. In 2024 nam LSJ deel aan vier grote evenementen: INTERSEC, Securika, de 18de Defence Services Asia en de 3de National Security Asia in Maleisië, en de NFPA in de Verenigde Staten. Wij zijn ook geregistreerd voor deelname aan INTERSEC in januari 2025 (14–16 januari), waar wij onze mobiele thermische camera’s zullen presenteren. Tijdens deze beurs tonen wij ook onze radar live-detector (een 3D-radar die muren kan doordringen), een gasdetector, audio- en videoluisterapparatuur, stabiliteitsbewakingsapparatuur en thermische camera’s voor brandbestrijding. Wij nodigen u van harte uit om onze stand te bezoeken. LSJ beschikt over meer dan 11 jaar ervaring in de productie. Het bedrijf is gespecialiseerd in het ontwikkelen en produceren van nieuwe producten op basis van de specifieke gebruikssituaties van klanten. Daarnaast blijft LSJ de capaciteiten van haar producten verbeteren en de kosten verlagen. LSJ heeft een ruime expertise op het gebied van stedelijke redding en zoekacties. Zo speelde de radarlevensdetector van LSJ bijvoorbeeld tijdens de aardbeving in Turkije in 2023 een cruciale rol bij de reddingsoperaties van het Chinese Blue Sky Rescue Team. Kies LSJ voor betrouwbare, geavanceerde oplossingen die specifiek op uw behoeften zijn afgestemd. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
mobiele thermische beeldcamera
Veiligheid en beveiliging verbeteren met een mobiele thermische camerabeeld

Een mobiele thermische cameroplossing

Blijf voorop lopen met een draagbare thermische camerabeeld

Professionals versterken met draagbare thermische cameratechnologie
Why choose LSJ Technology mobiele thermische beeldcamera?
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Innovatieve hoogwaardige zoek- en reddingsapparatuur fabrikant
Gerelateerde productcategorieën
Niet vinden wat u zoekt?
Vraag nu een offerte aan
Neem contact op met onze consultants voor beschikbare productenNEEM CONTACT OP