, e é uma ferramenta incrivelmente útil que pode ajud...">
,需要通过父级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);
}
});
})();
Você conhece uma câmera que é projetada especificamente para proteger você e sua casa? Ela se chama câmera térmica , e é uma ferramenta incrível que pode ajudá-lo a identificar problemas ocultos na sua casa e economizar energia! A LSJ Technology está aqui para explicar por que o uso de câmeras térmicas pode tornar suas inspeções residenciais melhores e sua vida mais fácil. Então, você pergunta, o que é exatamente uma câmera térmica? Imagine que você tem um par de óculos mágicos que conseguem ver coisas que seus olhos NÃO conseguem enxergar! Uma câmera térmica , que registra o efeito do calor e do frio em várias partes da sua casa, pode ser capaz de identificar problemas como vazamentos ou falhas elétricas que poderiam ser perigosos. Você pode proteger sua casa e sua família com uma câmera de termografia da LSJ Technology. De vez em quando, problemas podem surgir por trás das paredes ou sob os pisos — ocultos à vista e difíceis de localizar. Mas isso não acontece se você tiver uma câmera térmica, pois esses problemas invisíveis tornam-se fáceis de identificar! Com o auxílio de uma câmera térmica, você pode detectar dispositivos com vazamento de água, falta de isolamento térmico ou até insetos indesejados que estão incomodando sua residência. Se você identificar esses problemas cedo com uma câmera térmica da LSJ Technology, poderá investir o tempo e o dinheiro que economizou em reparos maiores e projetos futuros. Você sabia que o controle de clima pode representar um dos maiores custos na sua conta de energia? A termografia pode ser usada para tornar sua casa mais econômica nas contas de energia! Com uma câmera térmica e a noção de onde o ar quente ou frio está escapando, você pode fazer ajustes simples adicionando isolamento e vedando vazamentos, o que ajudará a manter sua casa aconchegante e seu bolso satisfeito. As câmeras térmicas da LSJ Technology podem ajudá-lo a localizar esses pontos de desperdício de energia, para que você possa tornar sua casa mais eficiente. Ninguém gosta de reparos residenciais inesperados, mas uma câmera térmica pode ajudá-lo a detectar problemas antes que eles se agravem. Usar uma câmera térmica para escanear periodicamente sua casa permite identificar problemas como danos por água, mofo ou fiação defeituosa antes que se transformem em problemas grandes e caros. Investir em uma câmera térmica da LSJ Technology é como ter um super-herói em casa, ajudando a prevenir desastres antes que eles aconteçam. Na LSJ, somos especialistas na produção de equipamentos de busca e salvamento urbano de alta qualidade, fabricados para atender aos mais elevados padrões internacionais.
Serviço Pré-Venda:
Estamos aqui para ajudá-lo desde o início. Oferecemos consultorias completas para identificar suas necessidades específicas e propor soluções personalizadas. Fornecemos especificações técnicas detalhadas, bem como demonstrações de produtos, para auxiliá-lo a tomar uma decisão informada.
Serviço de Vendas:
Garantimos que nosso processo de venda seja ágil e eficiente. Asseguramos que seus produtos cheguem pontualmente e em excelente estado, graças ao nosso processo de pedido simplificado e ao rigoroso controle de qualidade. Também oferecemos entrega porta a porta.
Serviço Pós-Venda:
Após a entrega do seu produto, nosso relacionamento com você não termina. O nosso abrangente suporte pós-venda inclui assistência na instalação, capacitação do usuário e manutenção. Nossa equipe de atendimento ao cliente está pronta para auxiliá-lo com quaisquer dúvidas ou problemas que possam surgir. Garantimos sua total satisfação. Ao adquirir equipamentos da LSJ, você receberá garantia de três anos. Além disso, poderá contar com assistência pós-venda específica conforme sua necessidade.
Escolher a LSJ significa optar por confiabilidade em qualidade, serviço e suporte incomparável. Estamos ansiosos para nos tornarmos seu parceiro de confiança em busca e salvamento urbano, bem como no segmento de bombeiros. Desde 2013, a LSJ desenvolve, fabrica e fornece câmeras térmicas para inspeção residencial, equipamentos de alto desempenho para buscas e resgates e equipamentos para bombeiros. A LSJ recebeu certificações ISO 9001, CE e RoHS. A empresa também detém mais de 30 patentes. Estamos investindo intensamente em nosso departamento de pesquisa e desenvolvimento, pois somos uma empresa líder no setor. Em 2024, a LSJ participou de quatro grandes feiras: INTERSEC, em Dubai; Securika 2024; a 18ª edição da Defence Services Asia (DSA); e a 3ª edição da National Security Asia (NATSEC), na Malásia; além da NFPA, nos Estados Unidos. Também já estamos registrados para participar da INTERSEC em Dubai, de 14 a 16 de janeiro de 2025. Lá, apresentaremos ao vivo nosso detector por radar, um radar 3D capaz de detectar paredes, detectores de gás, equipamentos de escuta de áudio e vídeo, bem como equipamentos de monitoramento de estabilidade e câmeras térmicas para combate a incêndios. Convidamos vocês a visitar nosso estande. A LSJ possui 11 anos de experiência em fabricação. São especialistas no desenvolvimento e construção de novos produtos com base nos cenários de uso dos clientes. Além disso, continuam a aprimorar as capacidades e reduzir os custos dos produtos. A LSJ também possui vasta experiência em busca e resgate urbano. Por exemplo, no terremoto da Turquia em 2023, o radar detector de vida da LSJ desempenhou um papel crucial nos esforços de resgate realizados pela Equipe Chinesa de Resgate Céu Azul. Escolha a LSJ para soluções avançadas e confiáveis, personalizadas conforme suas necessidades. Oferecemos serviços a Corpos de Bombeiros e Resgate, câmeras térmicas para inspeção residencial, equipes urbanas de busca e salvamento, bem como diversas forças armadas. A LSJ fornece equipamentos inovadores para combate a incêndios, realização de buscas e salvamentos, e atuação em ambientes explosivos em diversos setores. Câmeras Térmicas para Combate a Incêndios: Projetamos e desenvolvemos dois tipos de câmeras térmicas com três resoluções diferentes. Essas câmeras podem medir temperaturas de até 2000 °C. Equipamentos para Busca e Salvamento: Oferecemos diversos produtos, incluindo detectores de gases, monitores de estabilidade e sistemas de monitoramento de movimento. Câmeras Térmicas Industriais: A LSJ fornece câmeras térmicas que não se destinam apenas ao combate a incêndios, mas também são utilizadas em inspeções prediais, reparos eletrônicos, detecção de vazamentos de água e inspeção de sistemas de climatização (HVAC). Visores Térmicos: Os visores de visão noturna são ideais para visibilidade em ambientes escuros e também são muito populares entre caçadores. Podem ser facilmente montados em rifles. A LSJ oferece equipamentos térmicos de alta qualidade para resgate e imagens que atendem às exigências de diversos setores, melhorando a segurança e a eficácia dos seus negócios. Escolha a LSJ para as soluções mais avançadas e confiáveis. Certifique-se de confiar na LSJ como seu primeiro parceiro para busca e salvamento urbano. câmera térmica para inspeção residencial da LSJ. Entendemos a importância de oferecer aos nossos clientes produtos de alta qualidade e um serviço superior. É por isso que oferecemos garantias de um ano ou cinco anos, refletindo nossa confiança na durabilidade e no desempenho de nossos produtos. Estamos comprometidos com pesquisa e desenvolvimento para garantir que nossos produtos atendam aos mais elevados padrões. Como fabricante, mantemos um rigoroso controle de qualidade desde a seleção das matérias-primas até a produção. Seja você um comprador individual, distribuidor, participante de licitação ou até mesmo uma entidade governamental, dispomos de uma ampla variedade de produtos que atendem às suas necessidades. Além disso, mantemos um estoque robusto de matérias-primas e outros componentes para assegurar a entrega imediata de todos os pedidos. Caso não efetuemos a entrega no prazo combinado, reembolsaremos entre 2% e 5% do valor da compra aos nossos clientes. Para ajudá-lo a utilizar nossos produtos de forma eficiente e extrair o máximo de seu potencial, oferecemos vídeos tutoriais detalhados. Adicionalmente, podemos organizar treinamentos presenciais ministrados por nossa equipe técnica, personalizados conforme suas necessidades, garantindo que você utilize nossos produtos com confiança e tranquilidade. Escolha a LSJ e desfrute de produtos de alta qualidade, sólidos e de um atendimento ao cliente excepcional. Direitos Autorais © Beijing LSJ Technology Development Co., Ltd. Todos os Direitos Reservados
-
Política de Privacidade
câmera térmica para inspeção residencial
Detectando problemas ocultos em sua casa com uma câmera térmica

Melhorando a eficiência energética por meio de inspeções térmicas

Descobrindo possíveis problemas antes que eles se agravem com imagens térmicas

Investindo em tranquilidade com uma câmera térmica para inspeções residenciais.
Why choose LSJ Technology câmera térmica para inspeção residencial?
Por que a LSJ Pode Ser Sua Fabricante e Fornecedora de Primer?
Inovando na Fabricação de Equipamentos de Busca e Resgate de Alto Desempenho
Um Guia Completo de Equipamentos de Busca e Resgate em Áreas Urbanas e Cadeias de Fornecimento de Equipamentos
Garantindo Qualidade e Entrega Pontual: Compromisso da LSJ com a Satisfação do Cliente
Categorias de produtos relacionados
Não encontrou o que procura?
Solicite uma cotação agora
Entre em contato com nossos consultores para obter mais produtos disponíveis.Entre em Contato