de LSJ Technology,...">
,需要通过父级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);
}
});
})();
Avez-vous déjà rêvé de posséder un super pouvoir vous permettant de voir dans le noir ? Avec la technologie LSJ meilleure caméra thermique portable , vous pouvez désormais réaliser ce rêve. Restez en sécurité et surveillez l'obscurité grâce à cette caméra spéciale. Que vous campiez la nuit ou que vous inspectiez votre jardin après le coucher du soleil, une caméra thermique portable vous aidera à rester en sécurité et à être conscient de votre environnement. Cette caméra détecte la chaleur, vous permettant de voir même dans l'obscurité totale. Découvrez d'où provient la chaleur grâce à une caméra thermique portative. Avez-vous déjà réfléchi en vous demandant d'où vient la chaleur dans votre maison ? LSJ Technology Allumez votre Caméra Thermique ! LSJ Technology caméra thermique portable peut vous faire économiser de l'argent sur vos factures énergétiques et rendre votre maison plus confortable. La meilleure caméra thermique portative. La caméra de LSJ Technology est un excellent moyen pour vous d'explorer le monde. Pour les amateurs de nature, les bricoleurs ou les esprits curieux à la manière de la Renaissance, cette caméra offre de nombreuses possibilités. Vous pouvez traquer des animaux la nuit ou diagnostiquer des problèmes électriques dans votre maison. LSJ Technology meilleur détecteur thermique portable est tout simplement fantastique ! Mettez la puissance de l'imagerie thermique dans la paume de votre main. La technologie LSJ imagerie Infrarouge Thermique de Poche vous permet de DÉTECTER les schémas thermiques que vous ne pourriez normalement pas voir. Cette caméra compacte et facile à utiliser ouvre un tout nouveau monde de possibilités. Depuis 2013, LSJ développe, fabrique et fournit des équipements haute performance destinés aux opérations de recherche et sauvetage ainsi qu’aux pompiers. LSJ est certifiée ISO 9001, pour ses caméras thermiques portables et conformes à la directive RoHS. Par ailleurs, l’entreprise détient plus de 30 brevets. Nous investissons massivement dans nos départements de conception et de recherche, car nous sommes une entreprise leader. En 2024, LSJ a participé à quatre grands événements : INTERSEC à Dubaï, Securika 2024, la 18e édition de Defence Services Asia (DSA) et la 3e édition de National Security Asia (NATSEC) en Malaisie, ainsi que la conférence NFPA aux États-Unis. Nous sommes également inscrits à INTERSEC à Dubaï, du 14 au 16 janvier 2025. Lors de cet événement, nous présenterons notre détecteur de vie radar, un radar 3D capable de voir à travers les murs, des détecteurs de gaz, des équipements d’écoute audio et vidéo, ainsi que des équipements de surveillance de stabilité et des caméras thermiques destinées à la lutte contre les incendies. Nous vous invitons à visiter notre stand. LSJ possède 11 ans d’expérience dans la fabrication. Elle se spécialise dans la conception et la production de produits innovants adaptés aux scénarios d’utilisation spécifiques de ses clients. Elle améliore constamment ses capacités tout en réduisant les coûts de ses produits. LSJ dispose d’une vaste expérience dans les opérations de secours urbains et de recherche. En 2023, lors du séisme en Turquie, le détecteur de vie radar LSJ s’est avéré essentiel aux efforts de sauvetage déployés par l’équipe chinoise de secours « Blue Sky ». Choisissez LSJ pour bénéficier de solutions hautement technologiques parfaitement adaptées à vos besoins spécifiques. Chez LSJ, nous sommes conscients de l'importance d'offrir à nos clients des produits de haute qualité, notamment des caméras thermiques portables. Nous proposons des garanties d’un ou cinq ans, ce qui témoigne de notre confiance dans la durabilité et les performances exceptionnelles de nos produits. Nos investissements substantiels en recherche et développement garantissent que vos produits répondent aux normes les plus exigeantes. En tant qu’entreprise manufacturière, nous appliquons un contrôle qualité rigoureux, depuis les matières premières jusqu’à la production finale. Que vous soyez un client particulier, un distributeur, un soumissionnaire ou une agence gouvernementale, nous mettons à votre disposition une vaste gamme de produits répondant précisément à vos besoins. Notre stock important de matières premières, de composants et d’autres articles nous permet d’assurer des livraisons ponctuelles. En cas de retard de livraison, nous nous engageons à rembourser jusqu’à 2 % à 50 % de la valeur totale de la commande. Nous vous fournissons des instructions détaillées ainsi que des vidéos pour vous aider à utiliser efficacement nos produits. Nous pouvons également organiser, sur site, des formations techniques en personne, 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é, fiables, et un service client exceptionnel. Chez LSJ, nous sommes des experts dans le développement d’équipements de haute qualité pour les opérations urbaines de recherche et de sauvetage, conçus pour répondre aux normes internationales les plus exigeantes.
Service avant-vente :
Nous sommes là pour vous accompagner dès le début. Nous proposons des consultations complètes afin de bien cerner vos besoins et élaborer des solutions adaptées. Nous mettons également à votre disposition des caméras thermiques portables ainsi que des fiches techniques détaillées, garantissant que vous disposez de toutes les informations nécessaires pour prendre une décision éclairée.
Service vente :
Pendant le processus d’achat, nous veillons à ce que votre expérience soit fluide et efficace. Nous garantissons la livraison de vos marchandises dans les délais impartis et en parfait état, grâce à notre système de commande performant et à un contrôle qualité rigoureux. 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. Notre soutien complet après-vente comprend l’assistance à l’installation, la formation des utilisateurs et l’entretien. Une équipe dédiée au service client est à votre disposition 24 heures sur 24 pour répondre à toutes vos questions ou préoccupations et garantir votre entière satisfaction. Nous offrons une garantie de 3 ans sur tous les équipements achetés chez LSJ. Vous pouvez également bénéficier de nos services après-vente.
Choisir LSJ, c’est opter pour la fiabilité, la haute qualité et un accompagnement sans égal. Nous serions ravis de devenir votre partenaire dans les domaines de la recherche et du sauvetage urbains, ainsi que de la lutte contre l’incendie. Nous fournissons des services aux services d'incendie et de secours, aux équipes spécialisées en imagerie thermique portative, aux équipes urbaines de recherche et de sauvetage ainsi qu’à diverses armées. LSJ propose des équipements innovants destinés à la lutte contre les incendies, aux opérations de recherche et de sauvetage, et aux interventions dans des environnements explosifs, dans divers secteurs industriels. Caméras thermiques pour la lutte contre l’incendie : nous avons conçu et développé deux modèles de caméras thermiques offrant trois résolutions différentes. Ces caméras permettent de mesurer des températures allant jusqu’à 2000 °C. Équipements de recherche et de sauvetage : nous proposons une variété de produits, notamment des détecteurs de gaz, des moniteurs de stabilité et des systèmes de détection de mouvement. Caméras thermiques industrielles : LSJ fournit des caméras thermiques qui ne sont pas uniquement destinées à la lutte contre l’incendie, mais également utilisées pour les inspections de bâtiments, les réparations électroniques, la détection de fuites d’eau et l’inspection des systèmes de chauffage, ventilation et climatisation (CVC). Viseurs thermiques : les viseurs à vision nocturne sont idéaux pour assurer une bonne visibilité la nuit ; ils sont également très prisés des chasseurs. Ils se montent facilement sur les fusils. LSJ propose des équipements thermiques de haute qualité pour le sauvetage et l’imagerie, répondant aux exigences spécifiques de divers secteurs industriels et améliorant ainsi la sécurité et l’efficacité de votre activité. Choisissez LSJ pour bénéficier des solutions les plus avancées et les plus fiables. Faites confiance à LSJ en tant que votre premier partenaire pour les opérations urbaines de recherche et de sauvetage. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
Caméra thermique portable
Restez en sécurité et voyez dans le noir grâce à une caméra thermique portable.
Découvrez des sources de chaleur cachées avec la puissance d'une caméra thermique portative.

La caméra thermique portative ultime.
Libérez tout le potentiel de l'imagerie thermique au creux de votre main.
Why choose LSJ Technology Caméra thermique portable?
Fabricant d'équipements de recherche et de sauvetage haute performance innovant
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 ?
Une chaîne d'approvisionnement complète en équipements pour les opérations de recherche et de sauvetage en milieu urbain
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