genoemd, en het is e...">
,需要通过父级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);
}
});
})();
Hallo daar! Vandaag bespreken we een erg cool hulpmiddel dat ons kan helpen verborgen waterlekken te lokaliseren. Het staat bekend als een infraroodcamera , en het is extreem hightech! Waterlekken kunnen sluipenderwijs optreden. En soms zijn ze zelfs niet zichtbaar voor het menselijk oog — maar dat betekent niet dat ze geen grote schade kunnen veroorzaken. Hier komt een infraroodcamera echt goed van pas! Deze speciale camera is in staat om de warmte te 'zien' die wordt uitgestraald door waterlekken, zelfs door muren of onder vloeren. Zo kunnen we lekken snel opsporen en herstellen voordat ze al te veel schade aanrichten. LSJ Technology's infraroodcamera is ongeëvenaard in het opsporen van waterschade. Het maakt gebruik van ultramoderne technologie om exact te traceren waar de lekkages vandaan komen. Op deze manier kunnen loodgieters gemakkelijk de probleemgebieden lokaliseren zonder dat uw hele huis opengebroken hoeft te worden. De langetermijntijd- en kostenbesparingen die u kunt realiseren door waterlekkages te vinden met een infraroodcamera kan een heleboel gedoe zijn als u dat niet doet. Met een camera als vervanging voor dagen of weken zoeken, kan de bron van een lek in een fractie van die tijd worden gevonden. Dit betekent minder tijd nodig voor reparaties en minder geld dat u moet uitgeven om de schade als gevolg van het lek te verhelpen. Voorkomen van waterschade is het meest effectief wanneer het risico vroegtijdig wordt beperkt. Hoe eerder u een lek ontdekt, hoe minder schade het kan veroorzaken. Een camera om ons huis in infraroodlicht te bekijken van LSJ Technology heeft ons in staat gesteld lekkages op te sporen voordat ze grote problemen worden. Hoe eerder we lekkages vinden, hoe meer we kunnen besparen op dure reparaties en hoe veiliger, droger en gezonder onze huizen zullen zijn. Infraroodcamera's van de LSJ zijn een nieuw type instrument voor snel en efficiënt lekdetectie. Het helpt ons om lekken op te sporen die anders onopgemerkt zouden blijven, en bespaart ons tijd, geld en hoofdpijn. Nu kunnen we gerust slapen, wetende dat met dit hightech-apparaat onze huizen veilig zijn tegen waterschade. Sinds 2013 ontwikkelt LSJ infraroodcamera’s voor het opsporen van lekkages in waterleidingen en produceert en levert het hoogwaardige zoek- en reddingsapparatuur alsook brandweerapparatuur. LSJ heeft certificaten ontvangen van ISO9001, CE en ROHS. Daarnaast bezit het meer dan 30 octrooien. Als toonaangevend bedrijf investeren wij aanzienlijk in onze afdelingen voor ontwerp en onderzoek. In 2024 nam LSJ deel aan vier grote evenementen, waaronder INTERSEC, Securika, de 18e Defence Services Asia en de 3e National Security Asia in Maleisië, en de NFPA in de Verenigde Staten. In 2025 zijn wij ingeschreven voor INTERSEC, die in januari in Dubai zal plaatsvinden, van 14 tot en met 16. Wij zullen onze thermische brandweercamera’s, evenals audio- en videobewakingsapparatuur, gasdetectieapparatuur, 3D-radars en andere producten tentoonstellen. Wij nodigen u van harte uit om ons stand te bezoeken. Met meer dan 11 jaar ervaring in de productie is LSJ gespecialiseerd in het herontwerpen en produceren van nieuwe producten op basis van de specifieke gebruikssituaties van klanten, waarbij we voortdurend functies verbeteren en kosten verlagen. LSJ beschikt ook over uitgebreide kennis op het gebied van stedelijke redding en zoekacties. Zo speelde de LSJ-radiolevensdetector bijvoorbeeld tijdens de aardbeving in Turkije in 2023 een cruciale rol bij de reddingsinspanningen van het Chinese Blue Sky Rescue Team. Kies LSJ voor geavanceerde, betrouwbare oplossingen die specifiek op uw behoeften zijn afgestemd. Wij bieden ondersteuning aan brandweer- en reddingsdiensten, evenals aan openbare veiligheidsdiensten en infraroodcamera's voor het opsporen van lekkages in waterleidingen. LSJ levert geavanceerde apparatuur voor het bestrijden van branden, het uitvoeren van zoek- en reddingsoperaties en het werken in gevaarlijke omgevingen binnen een breed scala aan industrieën.
Brandbestrijdings-thermische camera's: Wij hebben twee soorten thermische camera's ontwikkeld en ontworpen, met drie resolutieopties: 256×192, 384×288 en 640×512. Deze kunnen temperaturen tot 2000 °C meten.
Zoek- en reddingsapparatuur: Wij bieden een reeks producten, waaronder gasdetectoren, stabiliteitsmonitors en bewegingsbewakingsystemen.
Industriële thermische camera's: Naast thermische camera's voor brandbestrijding biedt LSJ ook handbediende thermische camera's voor het opsporen van lekkages in waterleidingen, gebouwinspecties, elektronisch herstel, warmteverlies in vloerverwarmingssystemen en inspecties van HVAC-systemen.
Thermische vizieren: Onze nachtzichtoptiek is ideaal voor gebruik bij nachtzicht. Ze zijn ook zeer populair bij jagers en kunnen eenvoudig op geweren worden gemonteerd.
LSJ richt zich erop hoogwaardige thermische beeldvormings- en reddingsapparatuur te leveren die voldoet aan de eisen van verschillende sectoren, waardoor efficiëntie en veiligheid worden verbeterd. Kies voor LSJ als leverancier van de meest geavanceerde en efficiënte oplossingen.
Vertrouw op LSJ als uw voornaamste partner op het gebied van stedelijke zoek- en reddingsoperaties. Bij LSJ begrijpen we het belang van het aanbieden van infraroodcamera's voor lekkages in waterleidingen en uitstekende service aan onze klanten. Wij bieden garanties die één of vijf jaar gelden. Dit onderstreept ons vertrouwen in de duurzaamheid en kwaliteit van onze producten. Wij investeren zwaar in onderzoek en ontwikkeling om ervoor te zorgen dat onze producten voldoen aan de hoogste normen. Als producent hanteren wij strenge kwaliteitscontroleprocedures, van grondstoffen tot het eindproduct. Wij bieden een breed scala aan producten die aan de behoeften van iedereen voldoen. Daarnaast onderhouden wij een uitgebreide voorraad grondstoffen en componenten om de tijdige levering van elke bestelling te garanderen. Mochten we de afleverdatum niet halen, dan vergoeden wij 2%–5% van de orderwaarde aan onze klanten. Om u te helpen onze producten optimaal te gebruiken, verstrekken wij gedetailleerde instructievideo's. Wij kunnen ook technische cursussen op locatie aanbieden, specifiek afgestemd op uw behoeften, zodat u onze producten met vertrouwen en gemak kunt gebruiken. Kies LSJ voor hoogwaardige, degelijke producten en uitstekende klantenservice. LSJ is een marktleider in de productie van hoogwaardige infraroodcamera's voor lekken in waterleidingen, conform internationale normen.
Pre-sales service:
Wij staan u vanaf het begin ter zijde. Wij bieden uitgebreide adviesdiensten om u te helpen uw specifieke behoeften te begrijpen en passende oplossingen te leveren. Wij verstrekken technische specificaties en productdemonstraties om u te ondersteunen bij het nemen van een weloverwogen keuze.
Sales service:
Wij garanderen dat het gehele verkoopproces soepel en efficiënt verloopt. Onze efficiënte infraroodcamera's voor lekken in waterleidingen, gecombineerd met onze strenge kwaliteitscontroleprocessen, zorgen ervoor dat u uw producten tijdig en in uitstekende kwaliteit ontvangt. Wij bieden ook deur-tot-deurlevering aan.
After-sales service:
Onze relatie met u eindigt niet zodra u onze producten heeft ontvangen. Wij bieden een breed scala aan after-sales services, waaronder installatiebegeleiding, gebruikersopleiding en onderhoudsdiensten. Wij beschikken over een toegewijde klantenserviceteam dat altijd voor u klaarstaat. Zij helpen u bij eventuele vragen of problemen en zorgen voor uw tevredenheid. Nadat u apparatuur van LSJ hebt aangeschaft, bieden wij een garantie van drie jaar, en kunt u specifieke after-sales services bij ons afroepen.
Wanneer u voor LSJ kiest, kiest u voor kwaliteit, betrouwbaarheid en ongeëvenaarde ondersteuning. Wij kijken ernaar uit om uw partner te worden in stedelijke zoek- en reddingsoperaties en bij brandweeractiviteiten. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
infraroodcamera voor waterlekken
Geavanceerde technologie voor het lokaliseren van waterschade

Bespaar tijd en geld met infraroodcameratechnologie

Voorkom kostbare waterschade door vroegtijdige detectie

Innovatieve oplossing om lekkages snel en efficiënt te identificeren
Why choose LSJ Technology infraroodcamera voor waterlekken?
Innovatieve hoogwaardige zoek- en reddingsapparatuur fabrikant
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
Gerelateerde productcategorieën
Niet vinden wat u zoekt?
Vraag nu een offerte aan
Neem contact op met onze consultants voor beschikbare productenNEEM CONTACT OP