, et elle est 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);
}
});
})();
Bonjour ! Aujourd'hui, nous parlons d'un outil très pratique qui peut nous aider à localiser des fuites d'eau cachées. Il est appelé caméra infrarouge , et il est extrêmement sophistiqué ! Les fuites d'eau peuvent être insidieuses. Parfois, elles ne sont même pas visibles à l'œil nu — mais cela ne signifie pas qu'elles ne causeront pas de dégâts importants. C'est là qu'un caméra infrarouge peut s'avérer très utile ! Cette caméra spéciale est capable de « voir » la chaleur émise par les fuites d'eau, même à travers les murs ou sous les planchers. Cela nous permet de repérer rapidement les fuites et de les réparer avant qu'elles ne causent trop de dégâts. LSJ Technology caméra infrarouge est inégalé pour détecter les dégâts d'eau. Il utilise une technologie de pointe pour tracer exactement d'où proviennent les fuites. Ainsi, les plombiers peuvent facilement identifier les zones problématiques sans avoir à démolir toute votre maison. Les économies à long terme en temps et en coûts que vous pouvez réaliser en détectant les fuites d'eau avec une caméra infrarouge peut être une source importante de complications si vous ne le faites pas. Grâce à une caméra qui remplace des jours, voire des semaines de recherches, la source d'une fuite peut être identifiée en seulement une fraction de ce temps. Cela se traduit par un temps de réparation réduit et moins d'argent à dépenser pour réparer les dégâts causés par la fuite. La prévention des dégâts des eaux est plus efficace lorsque le risque est atténué précocement. Plus tôt vous détectez une fuite, moins elle peut causer de dommages. Une caméra permettant d'observer notre maison en lumière infrarouge, issue de LSJ Technology, nous a permis de repérer des fuites avant qu'elles ne deviennent de gros problèmes. Plus tôt nous trouvons des fuites, plus nous pouvons économiser sur des réparations coûteuses, et plus nos maisons seront sûres, sèches et saines. Les caméras infrarouges de la LSJ sont un nouveau type d'instrument permettant une détection rapide et efficace des fuites. Elles nous aident à détecter des fuites qui seraient autrement invisibles et nous font gagner du temps, de l'argent et évitent bien des soucis. Désormais, nous pouvons dormir tranquilles, sachant qu'avec cet appareil haut de gamme, nos maisons sont protégées des dégâts des eaux. Depuis 2013, LSJ développe des caméras infrarouges pour la détection de fuites d’eau, fabrique et fournit des équipements hautement performants destinés aux opérations de recherche et sauvetage ainsi qu’aux pompiers. LSJ est certifiée ISO 9001, CE et ROHS. Par ailleurs, l’entreprise détient plus de 30 brevets. En tant qu’acteur de premier plan, nous investissons massivement dans nos départements de conception et de recherche. En 2024, LSJ a participé à quatre grands événements internationaux : INTERSEC, Securika, la 18e édition de Defence Services Asia et la 3e édition de National Security Asia en Malaisie, ainsi que la conférence NFPA aux États-Unis. En 2025, nous sommes inscrits à la prochaine édition d’INTERSEC, qui se tiendra à Dubaï du 14 au 16 janvier. Nous y présenterons nos caméras thermiques pour pompiers, ainsi que nos équipements de surveillance audio et vidéo, nos détecteurs de gaz, nos radars 3D et d’autres produits. Nous serions ravis de vous accueillir sur notre stand. Forte de plus de 11 ans d’expérience dans la fabrication, LSJ se spécialise dans la refonte et la fabrication de nouveaux produits adaptés aux conditions d’utilisation spécifiques de ses clients, améliorant continuellement leurs fonctionnalités tout en réduisant les coûts. LSJ possède également une expertise approfondie en matière de secours urbains et de recherche. Par exemple, lors du séisme survenu en Turquie en 2023, le détecteur de vie par radio de LSJ a joué un rôle essentiel dans les opérations de secours menées par l’équipe chinoise Blue Sky Rescue. Choisissez LSJ pour des solutions avancées, fiables et entièrement adaptées à vos besoins spécifiques. Nous fournissons un soutien aux services d'incendie et de secours, ainsi qu'aux services de sécurité publique, et des caméras infrarouges pour la détection de fuites d'eau. LSJ propose des équipements de pointe destinés à lutter contre les incendies, à mener des opérations de recherche et de sauvetage, et à intervenir dans des environnements dangereux, dans une grande variété de secteurs. Caméras thermiques anti-incendie : Nous avons mené des recherches et conçu deux types de caméras thermiques offrant trois choix de résolution : 256 × 192, 384 × 288 et 640 × 512. Elles permettent de surveiller des températures allant jusqu'à 2000 °C. Équipements de recherche et de sauvetage : Nous proposons une gamme de produits incluant des détecteurs de gaz, des moniteurs de stabilité et des systèmes de surveillance du mouvement. Caméras thermiques industrielles : En complément des caméras thermiques anti-incendie, LSJ propose des caméras thermiques portables destinées à la détection de fuites d'eau, à l’inspection des bâtiments, à la réparation électronique, à la détection des pertes de chaleur dans les planchers chauffants et à l’inspection des systèmes CVC. Viseurs thermiques : Nos optiques de vision nocturne sont parfaitement adaptées à l’observation nocturne. Elles rencontrent également un grand succès auprès des chasseurs. Elles se montent facilement sur les fusils. LSJ s’engage à fournir des équipements de haute qualité en imagerie thermique et en secours, répondant aux exigences spécifiques de divers secteurs, afin d’améliorer l’efficacité et la sécurité. Choisissez LSJ pour des solutions parmi les plus sophistiquées et performantes. Comptez sur LSJ comme votre principal partenaire dans le domaine de la recherche et du sauvetage urbains. Chez LSJ, nous comprenons l'importance d'offrir des caméras infrarouges pour la détection de fuites d'eau ainsi qu'un service supérieur à nos clients. Nous proposons des garanties d'une durée d'un an ou de cinq ans, ce qui témoigne de notre confiance dans la durabilité et la qualité de nos produits. Nous investissons massivement dans la recherche et le développement afin de garantir que nos produits répondent aux normes les plus exigeantes. En tant que fabricant, nous appliquons des procédures strictes de contrôle qualité, depuis les matières premières jusqu’au produit fini. Nous proposons une gamme variée de produits répondant aux besoins de tous. Par ailleurs, nous maintenons un stock complet de matières premières et de composants afin de garantir une livraison ponctuelle pour chaque commande. En cas de non-respect du délai convenu, nous rembourserons 2 % à 5 % de la valeur de la commande à nos clients. Pour vous aider à utiliser nos produits efficacement, nous mettons à votre disposition des vidéos tutorielles détaillées. Nous pouvons également organiser des formations techniques sur site, entièrement adaptées à vos besoins spécifiques, afin de vous permettre d’utiliser nos produits en toute confiance et aisance. Choisissez LSJ pour des produits de haute qualité, robustes, et un service client exceptionnel. LSJ est un leader du marché dans la fabrication de caméras infrarouges haut de gamme pour la détection des fuites d'eau, conformes aux normes internationales.
Service avant-vente :
Nous sommes là pour vous accompagner dès le début. Nous offrons des consultations complètes afin de mieux comprendre vos besoins spécifiques et vous proposer des solutions sur mesure. Nous fournissons les caractéristiques techniques ainsi que des démonstrations des produits pour vous aider à prendre une décision éclairée.
Service vente :
Nous garantissons que l’ensemble du processus de vente se déroule de manière fluide et efficace. Nos caméras infrarouges performantes pour la détection des fuites d’eau, associées à nos procédures rigoureuses de contrôle qualité, vous assurent une livraison ponctuelle et des produits d’excellente qualité. Nous assurons également une livraison porte-à-porte.
Service après-vente :
Notre relation avec vous ne prend pas fin une fois que vous avez reçu nos produits. Nous proposons un large éventail de services après-vente, notamment des conseils d’installation, une formation des utilisateurs ainsi que des services de maintenance. Une équipe dédiée de service clientèle est toujours à votre disposition pour répondre à toutes vos questions ou préoccupations et garantir votre entière satisfaction. Après l’achat d’un équipement LSJ, nous vous offrons une garantie de trois ans, ainsi qu’un accès à des services après-vente spécifiques. En choisissant LSJ, vous optez pour la qualité, la fiabilité et un soutien sans égal. Nous serions ravis de devenir votre partenaire dans les domaines de la recherche urbaine et du sauvetage ainsi que de la lutte contre l’incendie. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
caméra infrarouge pour fuites d'eau
Technologie avancée pour localiser précisément les dégâts d'eau

Économisez du temps et de l'argent grâce à la technologie de caméra infrarouge

Prévenez les dégâts d'eau coûteux par une détection précoce

Solution innovante pour identifier rapidement et efficacement les fuites
Why choose LSJ Technology caméra infrarouge pour fuites d'eau?
Fabricant d'équipements de recherche et de sauvetage haute performance innovant
Une chaîne d'approvisionnement complète en équipements pour les opérations de recherche et de sauvetage en milieu urbain
Garantir la qualité et la livraison dans les délais : l'engagement de LSJ en matière de satisfaction clientèle
Pourquoi LSJ peut être votre fabricant et fournisseur de produits de préparation ?
Catégories de produits associés
Vous ne trouvez pas ce que vous cherchez ?
Demandez un devis maintenant
Contactez nos consultants pour plus de produits disponibles.Contactez-nous