camere termovizuale pentru Android. Aceasta este cu adevărat o teh...">
,需要通过父级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);
}
});
})();
Pe baza ceea ce înțeleg eu, LSJ Technology are un mod excelent de a ne învăța cum să identificăm clădiri cu camerală termică pentru Android . Această tehnologie foarte amuzantă și interesantă ne permite să vedem lucruri la care ochii noștri nu pot ajunge. Când observăm un clădire de pe exterior, putem vedea doar acele părți care pot fi denumite ca fiind exterioarele sau picturile (zidurile) și ferestrele/ușile. Cu imagistica termică, avem posibilitatea să privim în interiorul zidurilor și plafonului. Testul este unul dificil, iar capacitatea sa de a detecta probleme interne înainte ca acestea să devină tulburări este o modalitate inteligentă de a menține clădirile sigure și solide. Lucruri Cool — Imagistica termică e genială! Lucrurile care ne ajută să localizăm fugi, curente de aer sau probleme cu izolația noastră pe care altfel nu am putea să le vedem. Chiar și fugi minore pot permite ploaia să se infiltreze în zone sensibile și curentele de aer să mențină o temperatură care nu este confortabilă. Poate ne alerta și despre probleme electrice care reprezintă riscuri de incendiu. Imagistica termică ne-a permis să trecem ușor prin inspecțiile clădirilor noastre, arătând ce este corect și ce nu este la o casă, lucruri pe care altfel nu le-am fi văzut doar cu ochii. Acest lucru economisește timp și bani clienților noștri, identificând problemele înainte ca acestea să se escaladeze în probleme mari costisitoare. Detectarea acestor probleme la timp contribuie la menținerea clădirilor în siguranță și în stare bună. Imaginile termice, pe de altă parte, funcționează cu camere construite pentru a recunoaște variațiile de temperatură. Cred că această tehnologie este destul de interesantă, deoarece ne oferă un mod rezonabil de a localiza locurile unde scapa sau intră căldura clădirii. De exemplu, în timpul iernii putem vedea locurile unde aerul cald scapa, dacă există vreun gol. Putem identifica și unele sigiliunde unde se află umiditatea, ceea ce ar putea justifica reparații, chiar dacă nu știm causa fugelor din casă. Ele pot chiar să ne arate unde ar putea să trăiască insectele sau maști, etc.! Imaginile termice (sau Imaginile Infraroșu), ne permit să vedem mai multe probleme ale clădirii care altfel sunt dificil de observat cu ochii nemișcați — prin urmare, acesta este un dispozitiv foarte util, mai ales când vine vorba de menținerea preventivă a clădirilor. Inspecțiile cu imagini termice sunt un mod foarte bun de a finaliza mai multe aspecte ale evaluării casei dvs. Această tehnologie ne ajută să localizăm problemele în câteva secunde, ceea ce ar fi fost imposibil de diagnosticat fără această metodologie. Această detectare timpurie poate economisi bani clienților noștri, evitând reparații costisitoare ulterior. Și economiseste timp, deoarece nu mai trebuie să petrecem ore căutând probleme în codurile noastre. Ne vom concentra mai degrabă pe rezolvarea problemelor detectate cât mai curând posibil. Astfel, toată lumea câștigă! În viața noastră de zi cu zi, asigurarea siguranței și a eficienței energetice a clădirilor este crucială pentru toată lumea care ocupa aceste spații. Folosind tehnologia termografiei, putem localiza unde se pierde energie. Energiea poate scăpa prin goluri sau fugi, ceea ce duce la o eficiență slabă a încălzirii și răcirei. Acest lucru ne permite să oferim ghidare despre cum ar fi putut fi îmbunătățită clădirea și să facem recomandări privind economisirea de energie. Putem determina orice pericole de incendiu posibile, ceva extrem de important, deoarece ar putea pune viațele oamenilor în pericol, iar noi toți trebuie să trăim și să lucrăm în aceste clădiri. Putem să facem clădirile mai sigure și mai eficiente energetic prin intermediul imaginii termice, ceea ce înseamnă că toți câștigăm. La LSJ suntem lideri în crearea echipamentelor de înaltă calitate pentru căutare și salvare urbană, concepute pentru a îndeplini cele mai riguroase standarde internaționale.
Servicii pre-vânzare:
Suntem aici să vă ajutăm chiar de la început. Vă oferim consultanță completă pentru a vă ajuta să înțelegeți nevoile specifice și pentru a vă furniza soluții personalizate. De asemenea, vă oferim demonstrații ale produselor și specificații tehnice detaliate, astfel încât să dețineți toate datele necesare pentru a lua o decizie bine fundamentată.
Servicii de vânzare:
În procesul de vânzare, vă asigurăm o experiență fluentă și eficientă. Garantăm livrarea produselor în termen și în stare perfectă, datorită sistemului nostru eficient de comandă și unui control strict al calității. Ofertăm, de asemenea, livrare „de la ușă la ușă”.
Servicii post-vânzare:
Relația noastră cu dumneavoastră nu se încheie în momentul în care primiți produsele noastre. Suportul nostru complet post-vânzare include asistență pentru instalare și inspecții cu imagistică termică. Dispunem de un personal dedicat de servicii clienți, disponibil 24 de ore pe zi. Aceștia vă vor ajuta cu orice întrebări sau probleme și se vor asigura că sunteți mulțumiți. Ofertăm o garanție de trei ani pentru toate echipamentele achiziționate de la LSJ. De asemenea, puteți beneficia de servicii post-vânzare din partea noastră.
Alegerea LSJ înseamnă a alege încredere, calitate, excelentă și un suport fără egal. Așteptăm cu nerăbdare să devenim partenerii dumneavoastră în domeniul căutării și salvării urbane, precum și în cel al stingerea incendiilor. Noi, la inspecțiile cu imagistică termică, știm cât de important este să oferim clienților noștri produse de calitate, precum și un serviciu superior. De aceea, oferim o garanție de unul sau cinci ani. Acest lucru demonstrează încrederea noastră în durabilitatea și calitatea produselor noastre. Ne angajăm în cercetare și dezvoltare pentru a ne asigura că produsele noastre respectă cele mai înalte standarde. Ca producător, menținem controale stricte de calitate, începând de la materiile prime până la produsul final. Dacă sunteți cumpărător particular, distribuitor, participant la licitații sau chiar o entitate guvernamentală, avem o gamă diversificată de produse care să răspundă cerințelor dumneavoastră. De asemenea, menținem un stoc mare de materii prime și alte componente pentru a garanta livrarea la timp a fiecărei comenzi. Vă rambursăm 2 % până la 5 % din valoarea achiziției, dacă nu reușim să livrăm mărfurile în termenul specificat. Vă oferim videoclipuri detaliate cu instrucțiuni care vă ajută să utilizați produsele noastre cu ușurință. Putem, de asemenea, organiza prezența personalului nostru tehnic pentru instruire pe loc, adaptată în mod special nevoilor dumneavoastră, astfel încât să puteți opera produsele noastre cu încredere și ușurință. Alegeți LSJ pentru produse de înaltă calitate și fiabile, precum și pentru un serviciu clienți excepțional. Susținem Departamentele de Pompieri și Salvare, Serviciile de Siguranță Publică, echipele urbane de căutare și salvare, precum și diverse forțe militare. LSJ oferă echipamente inovatoare pentru stingererea incendiilor, efectuarea operațiunilor de căutare și salvare, precum și pentru inspecțiile cu imagistică termică în diverse industrii.
Camere termice pentru stingerea incendiilor: Echipa noastră a creat două tipuri de camere termice, fiecare cu trei opțiuni de rezoluție: 256×192, 384×288 și 640×512. Aceste camere măsoară temperaturi până la 2000 °C.
Echipamente pentru căutare și salvare: Selecția noastră include detectoare de viață cu radar, radare 3D prin pereți, monitoare de stabilitate, sisteme de monitorizare a mișcării și detectoare de gaze.
Camere termice industriale: Camerele termice LSJ nu sunt utilizate doar pentru stingerea incendiilor, ci și pentru inspecții ale clădirilor, reparații electronice, detectarea scurgerilor de apă și inspecții ale sistemelor HVAC.
Vizori termice: Optica noastră de vedere nocturnă este perfectă pentru observarea în condiții de întuneric și este foarte apreciată de vânători. Se montează ușor pe puști.
LSJ oferă echipamente termice de top pentru salvare și imagistică, care satisfac nevoile diverselor industrii și sporesc eficiența și siguranța. Alegeți LSJ pentru cele mai sofisticate și fiabile soluții.
Puteți avea încredere că LSJ va fi sursa dvs. principală de asistență în cadrul operațiunilor urbane de căutare și salvare. Din 2013, LSJ dezvoltă activități de fabricație, producție și furnizare a echipamentelor de înaltă performanță destinate căutării și salvării, precum și echipamentelor pentru pompieri. LSJ a obținut certificate de conformitate cu standardele ISO9001, inspecții cu imagistică termică și ROHS. În plus, deține peste 30 de brevete. Investim semnificativ în departamentul nostru de proiectare și cercetare, deoarece suntem o companie lider pe piață. În 2024, LSJ a participat la patru evenimente majore: INTERSEC din Dubai, Securika 2024, The 18th Defence Services Asia (DSA) și a 3-a ediție a National Security Asia (NATSEC) din Malaysia, precum și la NFPA din SUA. Suntem, de asemenea, înregistrați pentru participarea la INTERSEC Dubai, care va avea loc între 14 și 16 ianuarie 2025. La acest eveniment, vom expune detectorul nostru radar de viață, radarul 3D capabil să „vadă” prin pereți, detectoarele de gaze, echipamentele de ascultare bazate pe audio și video, precum și echipamentele de monitorizare a stabilității și camerele termice pentru combaterea incendiilor. Vă invităm să vizitați standul nostru. LSJ are 11 ani de experiență în domeniul fabricației. Compania este specializată în conceperea și producerea de produse inovatoare, adaptate scenariilor specifice de utilizare ale clienților. De asemenea, își îmbunătățește în mod continuu capacitățile și reduce costurile produselor. LSJ deține o bogată experiență în domeniul salvărilor urbane, precum și al căutărilor. În 2023, în timpul cutremurului din Turcia, detectorul radar de viață LSJ a jucat un rol esențial în eforturile de salvare desfășurate de echipa chineză de salvare Blue Sky. Alegeți LSJ pentru a beneficia de soluții de înaltă tehnologie, personalizate în funcție de nevoile dumneavoastră specifice. Drepturi de Autor © Beijing LSJ Technology Development Co., Ltd. Toate Drepturile Rezervate
-
Politica de confidențialitate
inspectări cu imagistică termică
Puterea imaginii termice în inspecțiile clădirilor

Cum poate detecta imagistica termică probleme la clădiri

Economisirea de timp și bani cu inspectările prin imagistică termică în evaluarea proprietăților

Maximizarea eficienței și siguranței clădirilor cu tehnologia de imagistică termică
Why choose LSJ Technology inspectări cu imagistică termică?
De Ce LSJ Poate Fi Producătorul și Furnizorul Tău Principal?
Asigurarea Calității și a Livrării În Timp: Angajamentul LSJ de Satisfacere a Clientului
O lanțuri de aprovizionare completă cu echipamente pentru căutare și salvare urbană
Inovând ca fabricant de echipamente de căutare și salvare cu performanță înaltă
Categorii de produse conexe
Nu găsiți ceea ce căutați?
Solicitați acum o ofertă
Contactați consultanții noștri pentru mai multe produse disponibile.Contactați-ne