, ed è uno strumento davvero eccezionale che può aiutare...">
,需要通过父级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);
}
});
})();
Sai di una telecamera progettata specificamente per proteggere te e la tua casa? Si chiama camera termica , ed è uno strumento davvero innovativo che può aiutarti a individuare problemi nascosti nella tua abitazione e a risparmiare energia! LSJ Technology è qui per spiegarti perché l'uso delle telecamere termiche può migliorare le ispezioni della tua casa e semplificarti la vita. Allora, ti chiederai, cos'è esattamente una telecamera termica? Immagina di avere un paio di occhiali magici che possono vedere cose che i tuoi occhi NON possono vedere! Una camera termica , che registra l'effetto del calore e del freddo in diverse parti della tua casa, potrebbe essere in grado di individuare problemi come perdite o guasti elettrici che potrebbero essere pericolosi. Puoi proteggere la tua casa e la tua famiglia con una telecamera per mappa termica di LSJ Technology. Di tanto in tanto, i problemi possono manifestarsi dietro le pareti o sotto i pavimenti, nascosti alla vista e difficili da individuare. Ma non se hai una telecamera termica: questi problemi invisibili diventano facili da rilevare! Con l'aiuto di una telecamera termica, puoi trovare dispositivi che perdono acqua, carenze di isolamento o persino insetti indesiderati che infestano la tua abitazione. Se individui questi problemi precocemente con una camera termica di LSJ Technology, puoi investire il tempo e il denaro risparmiati in interventi e progetti più grandi in futuro. Sapevi che il controllo del clima può rappresentare uno dei costi più elevati in bolletta per l'energia? L'immagine termica può aiutarti a ridurre i consumi e risparmiare sui tuoi costi energetici! Con una telecamera termica e la consapevolezza dei punti in cui l'aria calda o fredda fuoriesce, puoi effettuare semplici interventi come aggiungere isolamento o sigillare le perdite, mantenendo la tua casa confortevole e il tuo portafoglio soddisfatto. Le telecamere termiche di LSJ Technology possono aiutarti a individuare questi punti di spreco energetico, rendendo la tua abitazione più efficiente. Nessuno ama i riparazioni domestiche impreviste, ma una telecamera termica può aiutarti a individuare i problemi prima che peggiorino. Scansionare periodicamente la tua casa con una telecamera termica ti permette di rilevare tempestivamente problemi come danni da acqua, muffa o cablaggi difettosi, prima che si trasformino in guasti gravi e costosi. Investire in una telecamera termica LSJ Technology è come avere un supereroe in casa, pronto ad aiutarti a prevenire disastri prima che accadano. Presso LSJ siamo esperti nella produzione di attrezzature di alta qualità per le operazioni urbane di ricerca e soccorso, realizzate per soddisfare gli standard internazionali più elevati.
Servizio pre-vendita:
Siamo qui per aiutarvi fin dall’inizio. Offriamo consulenze complete per identificare le vostre esigenze specifiche e proporre soluzioni personalizzate. Forniamo specifiche tecniche dettagliate nonché dimostrazioni dei prodotti per aiutarvi a prendere una decisione informata.
Servizio vendita:
Garantiamo che il nostro processo di vendita sia fluido ed efficiente. Assicuriamo la consegna puntuale dei vostri prodotti, in ottime condizioni, grazie al nostro semplice processo d’ordine e a un rigoroso controllo qualità. Offriamo inoltre il servizio di consegna porta a porta.
Servizio post-vendita:
Dopo la consegna del vostro prodotto, il nostro rapporto con voi non termina. Il nostro completo supporto post-vendita include assistenza per l’installazione, formazione degli utenti e manutenzione. Il nostro team di assistenza clienti è pronto a supportarvi in caso di qualsiasi dubbio o problema. Ci impegniamo affinché siate pienamente soddisfatti. Una volta acquistata l’attrezzatura da LSJ, vi offriamo tre anni di garanzia. Potrete inoltre beneficiare di un’assistenza post-vendita specifica da parte nostra.
Scegliere LSJ significa scegliere affidabilità in termini di qualità, servizio e supporto senza pari. Non vediamo l’ora di diventare il vostro partner di fiducia nelle operazioni urbane di ricerca e soccorso, nonché nel settore dei vigili del fuoco. Dal 2013, la termocamera per ispezioni domestiche di LSJ sviluppa, produce e fornisce attrezzature ad alte prestazioni per operazioni di ricerca e soccorso e per equipaggiamenti per vigili del fuoco. LSJ ha ottenuto le certificazioni ISO 9001, CE e ROHS. L’azienda possiede inoltre oltre 30 brevetti. Investiamo ingenti risorse nel nostro dipartimento di ricerca e sviluppo, essendo un’impresa leader nel settore. Nel 2024, LSJ ha partecipato a quattro importanti fiere internazionali: INTERSEC a Dubai, Securika 2024, la 18ª edizione della Defence Services Asia (DSA) e la 3ª edizione della National Security Asia (NATSEC) in Malesia, nonché la fiera NFPA negli Stati Uniti. Siamo inoltre già registrati per partecipare a INTERSEC a Dubai dal 14 al 16 gennaio 2025. In tale occasione presenteremo il nostro rilevatore radar in tempo reale, un radar 3D in grado di rilevare pareti, rilevatori di gas, dispositivi di ascolto audio e video, nonché sistemi di monitoraggio della stabilità e termocamere antincendio. Vi invitiamo caldamente a visitare il nostro stand. LSJ vanta 11 anni di esperienza nella produzione industriale. È specializzata nello sviluppo e nella realizzazione di nuovi prodotti basati sugli specifici scenari d’uso dei clienti. L’azienda continua inoltre a potenziare le proprie capacità e a ridurre i costi dei prodotti. LSJ possiede inoltre un’ampia esperienza nel campo della ricerca e del soccorso urbano: ad esempio, durante il terremoto in Turchia nel 2023, il radar rilevatore di vita LSJ ha svolto un ruolo cruciale nelle operazioni di soccorso condotte dalla squadra cinese Blue Sky Rescue. Scegliete LSJ per soluzioni avanzate, affidabili e personalizzate in base alle vostre esigenze. Forniamo servizi ai Corpi dei Vigili del Fuoco e di Soccorso, alle squadre di ispezione domestica con termocamere, alle squadre di ricerca e soccorso urbano e a una varietà di forze armate. LSJ fornisce attrezzature innovative per la lotta contro gli incendi, per le operazioni di ricerca e soccorso e per il lavoro in ambienti esplosivi in diversi settori. Termocamere per la lotta antincendio: abbiamo progettato e sviluppato due tipologie di termocamere, disponibili in tre diverse risoluzioni. Queste telecamere possono misurare temperature fino a 2000 °C. Attrezzature per la ricerca e il soccorso: offriamo una vasta gamma di prodotti, tra cui rilevatori di gas, sistemi di monitoraggio della stabilità e sistemi di monitoraggio del movimento. Termocamere industriali: LSJ fornisce termocamere non solo per la lotta antincendio, ma anche per ispezioni edilizie, riparazioni elettroniche, rilevamento di perdite idriche e ispezione dei sistemi HVAC. Visori termici: i visori per la visione notturna garantiscono un’ottima visibilità al buio e sono particolarmente apprezzati dagli appassionati di caccia. Si montano facilmente sui fucili. LSJ offre attrezzature termiche di alta qualità per il soccorso e l’imaging, in grado di soddisfare le esigenze di diversi settori industriali e di migliorare la sicurezza e l’efficacia della vostra attività. Scegliete LSJ per soluzioni all’avanguardia e affidabili. Affidatevi con fiducia a LSJ come vostro primo partner per la ricerca e il soccorso urbano. telecamera termica per ispezioni domestiche 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, a testimonianza della nostra fiducia nella durata e nelle prestazioni dei nostri prodotti. Siamo 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à fin dalle materie prime fino alla produzione. 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. Nel caso in cui non riuscissimo a rispettare i termini di consegna, 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 alle vostre esigenze, garantendo così che possiate utilizzare i nostri prodotti con sicurezza e tranquillità. Scegliete LSJ per godere di prodotti di alta qualità e solidi, nonché di un servizio clienti eccezionale. Copyright © Beijing LSJ Technology Development Co., Ltd. Tutti i diritti riservati
-
Informativa sulla privacy
telecamera termica per ispezioni domestiche
Rilevare problemi nascosti nella tua casa con una telecamera termica

Migliorare l'efficienza energetica attraverso ispezioni termiche

Scoprire potenziali problemi prima che peggiorino grazie all'imaging termico

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