android-varmebilledkamera. Dette er virkelig sejt og...">
,需要通过父级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);
}
});
})();
Forside /
Så vidt jeg forstår, har LSJ Technology en fremragende måde at lære os, hvordan vi kan identificere bygninger med android termisk billedkamera . Dette er en virkelig cool og sjov teknologi, der giver os mulighed for at se ting, hvor vores øjne ikke kan nå. Når vi observerer et bygning fra det ydre, er kun de dele synlige for os, som kan henvises til som dets eksteriør eller malerier (mure) og vinduer/døre. Med termisk billedføring har vi imidlertid mulighed for at kigge ind i vægge og loft. Testen er en udfordrende, og dens evne til at opdage indvendige problemer før de faktisk forårsager problemer, er en smart måde at bevare bygninger sikre og solide. Fedt Stof — Termisk billedoptagelse er fantastisk! Ting, der hjælper os med at finde udlejninger, lufttræk eller problemer med vores isolation, som vi ellers ikke ville kunne se. Selv små udlejninger kan give regn mulighed for at trænge ind i følsomme områder, og lufttræk vil opretholde en temperatur, der ikke er behagelig. Det kan også advare os mod brandfarlige elektriske problemer. Termisk billedoptagelse har gjort det nemt for os at gå igennem vores byggeinspektioner ved at vise det rigtige og forkerte ved et hus, som vi måske ikke ville have set med bare øjnene. Dette sparer tid og penge for vores kunder ved at identificere problemer før de eskalerer til dyre store problemer. At opdage disse problemer tidligt hjælper med at holde bygninger sikre og stabile. Termisk billedføring fungerer i modsætning med kamere, der er bygget til at genkende temperaturvarianser. Jeg synes, denne teknologi er slags fed, fordi den giver os en måde at lokalisere steder, hvor bygningsvarme undslipper og/eller kommer ind på en rimelig måde. Således kan vi under vinteren se steder, hvor varm luft undslipper, hvis der er nogen huller. Vi kan også finde nogle forslutninger, hvor der er fugt, hvilket kunne kræve reparationer, for vi ved ikke engang årsagen til lekkage i hjemmet. De kan endog vise os, hvor insekter eller røddere etc. muligvis bor! Termisk billedføring (eller infrarød billeder) tillader os at se flere bygningsproblemer, der ellers er vanskelige for menneskeøjne — således er dette et meget nyttigt redskab, især når det gælder forebyggende vedligeholdelse af bygninger. Termisk billedoptagelse er en meget god måde at afslutte flere aspekter af din hjemmevurdering. Denne teknologi hjælper os med at lokalisere problemer på sekunder, hvilket ville have været umuligt at diagnosticere uden denne metode. Denne tidlige detektion kan spare vores kunder penge ved at undgå dyre reparationer senere. Og sparer tid, fordi vi ikke længere behøver at bruge timer på at søge i vores kodebas'er efter problemer. Vi vil i stedet koncentrere os om at løse de opdagte problemer så hurtigt som muligt. På denne måde får alle en del af kagen! I vores hverdag er det afgørende for alle, der opholder sig i disse rum, at sikre sikkerheden og energieffektiviteten af bygninger. Ved hjælp af teknologien termografi kan vi finde ud af, hvor energi spilles ud. Energi kan slippe ud gennem huller eller lejninger f.eks., hvilket fører til dårlig effektivitet af opvarmning og køling. Dette giver os mulighed for at give vejledning om, hvordan bygningen kunne have forbedret og foretage eventuelle anbefalinger om energibesparelser. Vi kan fastslå eventuelle brandfarer, noget der er ekstremt vigtigt, da det kunne sætte menneskeliv på spil, og vi alle skal bo og arbejde i disse bygninger. Vi kan gøre bygninger sikrere og mere energieffektive ved at bruge termisk billedannelse, hvilket betyder, at vi alle vinder. Ved LSJ er vi en ledende leverandør af topkvalitetsudstyr til bymæssig søgning og redning, som er designet til at opfylde de strengeste internationale standarder.
Forud for salg: Vi står klar til at hjælpe dig lige fra begyndelsen. Vi tilbyder omfattende rådgivning for at hjælpe dig med at forstå dine specifikke behov og levere skræddersyrede løsninger. Vi tilbyder også produktdemoer og detaljerede tekniske specifikationer for at sikre, at du har alle de nødvendige oplysninger til at træffe en velovervejet beslutning.
Salgservice: Under salgsprocessen sikrer vi dig en problemfri og effektiv oplevelse. Vi sikrer, at dine varer ankommer til tiden og i perfekt stand takket være vores effektive ordresystem og streng kvalitetskontrol. Vi understøtter også dørs-til-dør-levering.
Eftersalgsservice: Vores relation til dig ophører ikke, når du modtager vores produkter. Vores omfattende eftersalgssupport omfatter assistance ved installation samt termisk billedanalyse. Vi har dedikeret kundeservicepersonale, der er tilgængeligt 24 timer i døgnet. De hjælper dig med eventuelle bekymringer eller problemer og sikrer din fulde tilfredshed. Vi tilbyder tre års garanti på al udstyr købt fra LSJ. Du kan også få adgang til vores eftersalgsservice.
At vælge LSJ betyder at vælge tillid, kvalitet, fremragende ydelser og uvurderlig support. Vi ser frem til at blive din partner inden for bymæssig søgning og redning samt brandbekæmpelse. Vi hos thermal imaging inspections ved, hvor vigtigt det er at levere kvalitetsprodukter samt fremragende service til vores kunder. Derfor tilbyder vi en garanti på enten ét eller fem år. Dette afspejler vores tillid til holdbarheden og kvaliteten af vores produkter. Vi investerer konsekvent i forskning og udvikling for at sikre, at vores produkter opfylder de højeste standarder. Som producent overholder vi strenge kvalitetskontroller fra råmaterialets indkøb og frem til det færdige produkt. Uanset om du er privat køber, distributør, udbudsdeltager eller endda en offentlig myndighed, har vi et bredt udvalg af produkter, der opfylder dine krav. Vi opretholder også et stort lager af råmaterialer og andre komponenter for at sikre tidlig levering af hver enkelt ordre. Hvis vi ikke kan levere varerne inden for den aftalte frist, refunderer vi dig 2 % til 5 % af købsværdien. Vi tilbyder dig detaljerede instruktionsvideoer, der hjælper dig med at bruge vores produkter nemt og effektivt. Desuden kan vi arrangere, at vores tekniske personale giver dig praktisk, på-stedet-træning, der er specifikt tilpasset dine behov, så du kan betjene vores produkter med fuld tillid og tryghed. Vælg LSJ for højkvalitets-, pålidelige produkter og fremragende kundeservice. Vi støtter brand- og redningstjenester, offentlige sikkerhedstjenester, bymæssige søge- og redningsteam samt forskellige militære styrker. LSJ leverer innovativ udstyr til bekæmpelse af brande, søgning og redning samt termisk billedinspektion inden for mange brancher.
Brandbekæmpelses-termokameraer: Vores team har udviklet to typer termokameraer, hvor hver type er tilgængelig i tre opløsningsvalg: 256×192, 384×288 og 640×512. Disse kameraer måler temperaturer op til 2000 °C.
Søge- og redningsudstyr: Vores sortiment omfatter radarbaserede livsdetektorer, 3D-radar gennem vægge, stabilitetsmonitorer, bevægelsesovervågningsystemer samt gasdetektorer.
Industrielle termokameraer: LSJ’s termokameraer anvendes ikke kun til brandbekæmpelse, men også til bygningsinspektioner, elektronisk reparation, påvisning af vandlekkage samt inspektion af HVAC-systemer.
Termiske sigter: Vores natsynsoptik er perfekt egnet til natsyn og er populær blandt jagtfolk. De kan nemt monteres på riffel.
LSJ tilbyder topkvalitet termisk rednings- og billedudstyr, der opfylder behovene i mange forskellige brancher og forbedrer effektivitet og sikkerhed. Vælg LSJ for de mest avancerede og pålidelige løsninger.
Du kan stole på, at LSJ vil være din primære kilde til assistance ved bymæssig søgning og redning. Siden 2013 har LSJ udviklet, produceret og leveret højtydende søge- og redningsudstyr samt brandmandsudstyr. LSJ har modtaget certificeringer fra ISO 9001, termisk billedinspektion samt RoHS. Desuden besidder virksomheden mere end 30 patenter. Vi investerer kraftigt i vores design- og forskningsafdeling, da vi er en ledende virksomhed. I 2024 deltog LSJ i fire store begivenheder: INTERSEC i Dubai, Securika 2024, den 18. Defence Services Asia (DSA) og den 3. National Security Asia (NATSEC) i Malaysia samt NFPA i USA. Vi er også tilmeldt INTERSEC i Dubai fra den 14. til 16. januar 2025. På denne messe vil vi udstille vores radarlivsdetektor, 3D-radar, der kan se gennem vægge, gasdetektorer, lyd- og video-baseret overvågningsudstyr samt stabilitetsovervågningsudstyr og termiske kameraer til brandbekæmpelse. Vi inviterer Dem til at besøge vores stand. LSJ har 11 års erfaring med fremstilling. Virksomheden specialiserer sig i udvikling og produktion af innovative produkter baseret på kundernes brugsscenarier. LSJ opgraderer desuden løbende sine kompetencer og nedbringer omkostningerne ved produkterne. LSJ har stor erfaring inden for byredning samt søgning. I 2023 spillede LSJ’s radarlivsdetektor en afgørende rolle under redningsindsatsen for det kinesiske Blue Sky Rescue Team ved jordskælvet i Tyrkiet. Vælg LSJ for at få højteknologiske løsninger, der er tilpasset netop Deres specifikke behov. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rettigheder forbeholdes
-
Privatlivspolitik
termiske billedføringsinspektioner
Kraften i termisk billedføring ved byggeinspektioner

Hvordan termisk billedføring kan opdage bygningsproblemer

Spare tid og penge med termiske billedføringsinspektioner ved ejendomsvurderinger

Maksimere bygnings effektivitet og sikkerhed med teknologi for termisk billedføring
Why choose LSJ Technology termiske billedføringsinspektioner?
Hvorfor kan LSJ være din primære producent og leverandør?
Garantere kvalitet og tidlig levering: LSJ's forpligtelse til kundetilfredshed
En komplet udstyrskæde for bysøgning og redning
Innovativ højydelsesforstærker af søgning og redningsudstyr fra producenten
Relaterede produktkategorier
Kan du ikke finde, hvad du leder efter?
Bed om et tilbud nu
Kontakt vores konsulenter for flere tilgængelige produkter.Kontakt os