Android-thermische-camera. Dus ho...">
,需要通过父级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);
}
});
})();
Heb je ooit overwogen of je lichaam warm of koud is? Zeer leuk om te leren! Je kunt je lichaamstemperatuur mooi ontmoeten met een android thermische beeldcamera Dus hoe kan deze speciale camera dat doen. In eenvoudige termen gebruikt het een coole technologie genaamd infrarood, die je helpt om de hitte te zien die zowel levende als niet-levende dingen afgeven. Ook, realiseer je je dat je ogen alleen geen infraroodlicht kunnen zien? Het is onzichtbaar! En dat is wat een thermische camerabeeld sensor cool en bijzonder maakt! Het zet de warmte om in beelden die je kunt zien. Je kunt ontdekken welke plekken op je lichaam heter zijn dan andere met deze geweldige camera. Een voorbeeld is dat je buiten speelt of aan het sporten bent en je gezicht heet voelt! Je handen kunnen koud aanvoelen als je handschoenen draagt, of je hand zal koel zijn. De camera onthult wat er daadwerkelijk in je plaatsvindt, waaruit het begrip van jezelf ontstaat. Een andere coole functie van een thermische camera is dat-ie de temperatuur kan meten zonder iets aan te raken! Dat is handig omdat je kunt zien of iets warm of koud is op afstand. Denk bijvoorbeeld aan het testen van de temperatuur voordat je jezelf onderdompelt in je warme bubbelbad. Je kunt zelfs de camera gebruiken om te zien of dat eten rijp of warm is voordat je er een hap van neemt. De camera regelt alles, dus het is vrij eenvoudig en plezierig om te gebruiken! Ken je misschien infraroodtechnologie? Heat Vision is een coole nieuwe manier om warmte te gebruiken om ons allemaal Heat Vision te geven zoals de Predators uit de films. Een handhante thermische camera, niet veel anders gebouwd dan een telefoon, om nuttige dingen over jou en je omgeving weer te geven! Het stelt je in staat om fenomenale informatie in je huis te vinden met behulp van deze camera. Het kan je ook verbazen hoe leuk het is om dingen te ontdekken! Ze zijn behulpzaam bij het beschermen tegen verschillende gezondheidsrisico's. Zo kan een thermische beeldcamera ons helpen. Het is waar! Je kunt het gebruiken om te controleren op warme plekken rondom je huis. Als je een warme plek hebt, betekent dit dat warme lucht mogelijk uit je huis ontsnapt en onze huizen verlaat. Het zal je ook helpen om naar warme plekken in elektriciteitskabels te zoeken met de camera. Het proces kan warme plekken onthullen, wat een bedreiging van een brand zou kunnen aanduiden. Met behulp van deze camera kun je je huis veilig maken en af en toe energie-efficiënt. persoonlijke thermische beeldcamera van LSJ. Bij LSJ begrijpen we hoe belangrijk het is om onze klanten producten van topkwaliteit en superieure service te bieden. Daarom bieden we garanties van één jaar of vijf jaar, wat onze vertrouwen in de duurzaamheid en prestaties van onze producten weerspiegelt. Wij zijn toegewijd aan onderzoek en ontwikkeling om ervoor te zorgen dat onze producten voldoen aan de hoogste normen. Als fabrikant hanteren wij strenge kwaliteitscontrole, vanaf het begin bij de grondstoffen tot aan de productie. Of u nu een particuliere koper, distributeur, inschrijver voor een aanbesteding of zelfs een overheidsinstantie bent: wij hebben een breed scala aan producten die aan uw eisen voldoen. Daarnaast onderhouden wij een uitgebreide voorraad grondstoffen en andere componenten om de snelle levering van elke bestelling te garanderen. Indien wij de levering niet op tijd kunnen uitvoeren, vergoeden wij onze klanten 2% tot 5% van de aankoopprijs. Om u te helpen onze producten efficiënt te gebruiken en optimaal te benutten, bieden wij gedetailleerde instructievideo’s. Bovendien kunnen wij regelingen treffen voor onze technische medewerkers om op locatie trainingen te geven die specifiek zijn afgestemd op uw behoeften, zodat u onze producten met vertrouwen en gemak kunt gebruiken. Kies LSJ voor hoogwaardige en degelijke producten en uitstekende klantenservice. Wij leveren diensten aan persoonlijke afdelingen voor thermische beeldvorming, evenals aan diensten voor openbare veiligheid en stedelijke zoek- en reddingsploegen. LSJ biedt geavanceerde apparatuur voor zoek- en reddingsoperaties, brandbestrijding en werkzaamheden in explosiegevaarlijke omgevingen binnen verschillende sectoren.
Thermische camera's voor brandbestrijding: Ons team heeft twee soorten thermische camera's ontwikkeld en getest, met drie resolutieopties: 256×192, 384×288 en 640×512. Deze camera's kunnen temperaturen meten tot 2000 °C.
Zoek- en reddingsapparatuur: Wij bieden diverse producten zoals gassensoren, stabiliteitsmonitors en bewegingsbewakingsystemen.
Industriële thermische camera's: LSJ biedt thermische camera's die niet uitsluitend worden gebruikt voor brandbestrijding, maar ook voor gebouwinspecties, elektronisch onderhoud, detectie van lekkages in waterleidingen en inspectie van HVAC-systemen.
Thermische vizieren: Onze nachtzichtoptiek is ideaal voor zichtbaarheid 's nachts. Ze zijn ook zeer populair bij jagers en kunnen eenvoudig op geweren worden gemonteerd.
LSJ richt zich erop hoogwaardige thermische beeldvormings- en reddingsapparatuur te leveren die voldoet aan de eisen van verschillende industrieën, waardoor de veiligheid en efficiëntie in alle sectoren worden verbeterd. LSJ levert de meest veilige en moderne oplossingen.
U kunt LSJ vertrouwen als uw voornaamste partner voor stedelijke zoek- en reddingsoperaties. LSJ is een pionier op het gebied van de ontwikkeling van hoogwaardige uitrusting voor stedelijke zoek- en reddingsoperaties, afgestemd op persoonlijke thermischebeeldcamera's.
Voorverkoopdienst:
Ons team van specialisten staat u vanaf het begin ter zijde. Wij bieden uitgebreide consultaties om u te helpen uw specifieke behoeften te begrijpen en passende oplossingen aan te bieden. Daarnaast verstrekken wij productdemonstraties en gedetailleerde technische specificaties, zodat u alle benodigde informatie heeft om een weloverwogen beslissing te nemen.
Verkoopdienst:
Wij garanderen dat het gehele verkoopproces naadloos en efficiënt verloopt. Ons efficiënte bestelsysteem, gecombineerd met strenge kwaliteitscontrolemaatregelen, waarborgt dat uw artikelen op tijd en in perfecte staat bij u aankomen. Wij bieden ook deur-tot-deurlevering.
Naservice:
Na levering van uw goederen eindigt onze samenwerking met u niet. Wij bieden uitgebreide naservice, zoals ondersteuning bij installatie, gebruikerstraining en onderhouds- en reparatiediensten. Onze klantenservicemedewerkers staan klaar om u te helpen bij eventuele vragen of problemen, zodat u volledig tevreden bent. Na aankoop van uitrusting van LSJ bieden wij een garantie van drie jaar en ontvangt u specifieke naservice van ons.
Kiezen voor LSJ betekent kiezen voor betrouwbaarheid, kwaliteit en ongeëvenaarde service. Wij willen graag uw partner zijn op het gebied van stedelijke zoek- en reddingsoperaties én brandbestrijding. Sinds 2013 ontwikkelt, produceert en levert LSJ persoonlijke thermische beeldvormingscamera’s en reddings- en brandweerapparatuur. LSJ is gecertificeerd volgens ISO 9001, CE, RoHS en MSDS en heeft meer dan 30 octrooien toegekend gekregen. Als toonaangevend bedrijf investeren wij aanzienlijk in ons ontwerp- en onderzoeksdepartement. In 2024 nam LSJ deel aan vier belangrijke evenementen: INTERSEC, Securika, de 18de Defence Services Asia en de 3de National Security Asia in Maleisië, en de NFPA in de Verenigde Staten. In 2025 zijn wij ingeschreven voor deelname aan INTERSEC 2025, die van 14 tot en met 16 januari in Dubai plaatsvindt. Wij zullen daar onze thermische brandbestrijdingscamera’s presenteren, naast audio- en videobewakingsapparatuur, 3D-gasdetectieradar en andere producten. Wij nodigen u van harte uit om onze stand te bezoeken. Met 11 jaar ervaring in de productie is LSJ gespecialiseerd in het herontwerpen en produceren van nieuwe producten op basis van de specifieke gebruikssituaties van klanten, waarbij we voortdurend functionaliteiten verbeteren en productkosten verlagen. LSJ heeft ook uitgebreide ervaring op het gebied van stedelijke zoek- en reddingsoperaties. Tijdens de aardbeving in Turkije in 2023 was de radarlevensdetector van LSJ van cruciaal belang bij de reddingsinspanningen van het Chinese Blue Sky Rescue Team. Kies LSJ voor de nieuwste technologie, specifiek afgestemd op uw behoeften. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
persoonlijke thermische beeldcamera
Zie het Onzichtbare met een Persoonlijke Thermische Beeldcamera

Meet Oppervlaktetemperatuur met Precisie en Gemak

Ervaar de Kracht van Infraroodtechnologie Thuis

Verbeter Je Gezondheid en Veiligheid met een Persoonlijke Thermische Beeldcamera
Why choose LSJ Technology persoonlijke thermische beeldcamera?
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
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