telecamera termica per Android. Quindi 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);
}
});
})();
Hai mai pensato se il tuo corpo è caldo o freddo? Molto interessante da sapere! Puoi scoprire la temperatura del tuo corpo meravigliosamente con una fotocamera termica android Allora, come fa questa telecamera speciale a fare tutto questo. In termini semplici, utilizza una tecnologia chiamata infrarossi che ti aiuta a vedere il calore emesso sia dagli esseri viventi che dagli oggetti inanimati. Inoltre, hai realizzato che i tuoi occhi da soli non possono vedere la luce infrarossa? È invisibile! E questo è ciò che rende una telecamera a immagini termiche interessante e speciale! Trasforma il calore in immagini che puoi vedere. Puoi scoprire quali parti del tuo corpo sono più calde di altre con questa incredibile telecamera. Un esempio è quando giochi all'esterno o fai esercizio e la tua faccia si scalda! Le tue mani potrebbero sentire freddo se indossi guanti, o la tua mano sarà fresca. La telecamera rivela ciò che effettivamente esiste in te, da cui nasce la comprensione di sé. Un'altra funzione interessante di una telecamera a immagini termiche è che può misurare la temperatura senza dover toccare nulla! Il che è bello perché puoi sapere se qualcosa è caldo o freddo da lontano. Pensa a testare l'impostazione della temperatura prima di immergerti, ignaro, nella tua vasca da bagno con acqua calda e bolle. Puoi anche usare la telecamera per vedere se quel cibo è maturo o caldo prima di addentarne un boccone. La telecamera si occupa di tutto, quindi è abbastanza semplice e piacevole da usare! Forse sei familiare con la tecnologia infrarossa? Heat Vision è un modo fantastico per utilizzare il calore per darci tutti una Visione Termica come i Predatori dei film. Una telecamera termica portatile costruita non molto diversamente da un cellulare per mostrare cose utili su di te e le aree circostanti! Ti consente di scoprire informazioni straordinarie in casa tua usando questa telecamera. Potrebbe anche sorprenderti quanto sia divertente scoprirlo! Sono utili per proteggerti da vari rischi per la salute. Ecco come una telecamera a immagini termiche può aiutarci. È vero! Puoi usarla per ispezionare le zone calde intorno alla tua casa. Se hai una zona calda, significa che l'aria calda potrebbe uscire dalla tua casa e dalle nostre case. Aiuterà anche a individuare le zone calde nei cavi elettrici con la telecamera. Il processo potrebbe rivelare delle zone calde, che indicano il rischio di un incendio. Grazie a questa telecamera, puoi rendere la tua casa sicura ed eventualmente efficiente energeticamente. telecamera personale per termografia a infrarossi di LSJ: comprendiamo quanto sia importante offrire ai nostri clienti prodotti di altissima qualità e un servizio superiore. Per questo motivo offriamo garanzie di uno o cinque anni, che riflettono la nostra fiducia nella durata e nelle prestazioni dei nostri prodotti. Siamo fortemente impegnati nella ricerca e nello sviluppo per garantire che i nostri prodotti rispondano agli standard più elevati. In quanto produttori, applichiamo un rigoroso controllo qualità sin dall’approvvigionamento delle materie prime fino alla fase produttiva. Che siate un acquirente privato, un distributore, un partecipante a gare d’appalto o persino un ente governativo, disponiamo di una vasta gamma di prodotti in grado di soddisfare le vostre esigenze. Manteniamo inoltre un ampio magazzino di materie prime e altri componenti per assicurare la consegna tempestiva di ogni ordine. Qualora non riuscissimo a rispettare i termini di consegna concordati, rimborseremo ai nostri clienti dal 2% al 5% del valore dell’acquisto. Per aiutarvi a utilizzare i nostri prodotti in modo efficiente e a trarne il massimo vantaggio, mettiamo a vostra disposizione dettagliati video tutorial. Inoltre, possiamo organizzare l’intervento del nostro personale tecnico per fornire formazione in loco personalizzata sulle vostre specifiche esigenze, garantendo così che possiate utilizzare i nostri prodotti con piena sicurezza e tranquillità. Scegliete LSJ per beneficiare di prodotti di alta qualità e solidi, nonché di un servizio clienti eccezionale. Forniamo servizi per i reparti di termocamere personali, nonché per i servizi di pubblica sicurezza e le squadre urbane di ricerca e soccorso. LSJ offre attrezzature all'avanguardia per la ricerca e il soccorso, per le operazioni antincendio e per il lavoro in atmosfere esplosive, in diversi settori.
Termocamere per antincendio: Il nostro team ha sviluppato e testato due tipologie di termocamere con tre opzioni di risoluzione: 256x192, 384x288 e 640x512. Queste termocamere possono misurare temperature fino a 2000 °C.
Attrezzature per ricerca e soccorso: Offriamo diversi prodotti, tra cui rilevatori di gas, sistemi di monitoraggio della stabilità e sistemi di monitoraggio del movimento.
Termocamere industriali: LSJ offre termocamere utilizzabili non solo per le operazioni antincendio, ma anche per ispezioni edilizie, riparazioni elettroniche, rilevamento di perdite idriche e ispezione di impianti di climatizzazione (HVAC).
Termoscopi: Le nostre ottiche per visione notturna garantiscono un’eccellente visibilità al buio e sono molto apprezzate anche dai cacciatori. Si montano facilmente sui fucili.
LSJ è impegnata a fornire termocamere e attrezzature per il soccorso di alta qualità, per soddisfare le esigenze di diversi settori industriali, migliorando così la sicurezza e l’efficienza in tutti i campi. LSJ fornisce soluzioni tra le più sicure e moderne disponibili sul mercato. Potete affidarvi a LSJ come vostro principale partner nelle operazioni urbane di ricerca e soccorso. LSJ è un pioniere nello sviluppo di attrezzature di altissima qualità per le operazioni urbane di ricerca e soccorso, compatibili con le termocamere personali. Servizio pre-vendita: il nostro team di specialisti è a vostra disposizione fin dall’inizio. Offriamo consulenze complete per aiutarvi a comprendere le vostre esigenze specifiche e proporvi soluzioni personalizzate. Forniamo inoltre dimostrazioni dei prodotti e specifiche tecniche dettagliate, in modo che abbiate tutte le informazioni necessarie per prendere una decisione consapevole. Servizio vendita: garantiamo che l’intero processo di vendita sia fluido ed efficiente. Il nostro sistema di ordinazione efficiente, abbinato a rigorosi controlli di qualità, assicura che i vostri articoli arrivino puntualmente e in perfette condizioni. Offriamo anche consegne porta a porta. Servizio post-vendita: dopo la consegna dei vostri ordini, la nostra collaborazione con voi non termina. Forniamo un ampio supporto post-vendita, tra cui assistenza all’installazione, formazione degli utenti, nonché servizi di manutenzione e riparazione. I nostri operatori del servizio clienti sono pronti ad assistervi per qualsiasi dubbio o problema possiate riscontrare, al fine di garantirvi la massima soddisfazione. Dopo aver acquistato le attrezzature da LSJ, vi offriremo una garanzia triennale e un supporto post-vendita specifico. Scegliere LSJ significa scegliere affidabilità, qualità e un servizio senza pari. Vogliamo essere il vostro partner nelle operazioni urbane di ricerca e soccorso, nonché nelle attività antincendio. Dal 2013, LSJ sviluppa, produce e fornisce telecamere personali per l’imaging termico, nonché attrezzature per operazioni di soccorso e per vigili del fuoco. LSJ è certificata ISO 9001, CE, ROHS e MSDS e ha ottenuto oltre 30 brevetti. In quanto azienda leader, investiamo ingenti risorse nel nostro dipartimento di progettazione e ricerca. Nel 2024, LSJ ha partecipato a quattro importanti eventi: INTERSEC, Securika, 18ª edizione di Defence Services Asia e 3ª edizione di National Security Asia in Malesia, nonché alla conferenza NFPA negli Stati Uniti. Nel 2025 siamo iscritti alla partecipazione a INTERSEC 2025, che si terrà a Dubai dal 14 al 16 gennaio. Presenteremo le nostre telecamere termiche per vigili del fuoco, oltre a dispositivi di videosorveglianza audio-video, radar 3D per il rilevamento di gas e altri prodotti. Vi invitiamo caldamente a visitare il nostro stand. Con 11 anni di esperienza nella produzione, LSJ si specializza nella riprogettazione e nella produzione di nuovi prodotti in base alle specifiche esigenze d’uso dei clienti, migliorando costantemente le funzionalità e riducendo i costi di produzione. LSJ vanta inoltre un’ampia esperienza nel campo della ricerca e del soccorso urbano. Durante il terremoto in Turchia nel 2023, il rilevatore di vita radar di LSJ ha svolto un ruolo fondamentale nelle operazioni di salvataggio condotte dalla squadra cinese di soccorso Blue Sky. Scegliete LSJ per ricevere le più recenti tecnologie, appositamente progettate per soddisfare le vostre esigenze. Copyright © Beijing LSJ Technology Development Co., Ltd. Tutti i diritti riservati
-
Informativa sulla privacy
camera termica personale
Vedi l'Invisibile con una Camera Termica Personale

Misura la Temperatura Superficiale con Precisione e Semplicità

Sperimenta il Potere della Tecnologia Infrarossa a Casa

Migliora la Tua Salute e Sicurezza con una Camera Termica Personale
Why choose LSJ Technology camera termica personale?
Garantire Qualità e Consegna Tempestiva: L'impegno della LSJ per la Soddisfazione del Cliente
Catene di approvvigionamento complete per l'attrezzatura di ricerca e soccorso urbano
Perché LSJ Può Essere il Tuo Produttore e Fornitore di Primer?
Innovando nel settore degli equipaggiamenti per ricerca e soccorso ad alta prestazione
Categorie di prodotti correlati
Non trovi quello che stai cercando?
Richiedi un preventivo ora
Contatta i nostri consulenti per ulteriori prodotti disponibili.Contattaci