. VyperIR—Th...">
,需要通过父级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);
}
});
})();
Nous sommes entourés de technologie dans le monde moderne. L'un des éléments technologiques intéressants qui gagne en popularité est le caméra infrarouge portative . VyperIR — La caméra infrarouge portative du futur LSJ Technology produit une caméra infrarouge incroyable, idéale pour explorer le monde. Ce que vous pouvez faire avec une caméra infrarouge portative est incroyable. Cet appareil fonctionne grâce à la technologie infrarouge et prend des images qui ne sont tout simplement pas visibles à l'œil nu. En détectant les signatures thermiques, la Caméra IR est capable de générer une image détaillée qui offre un aperçu de ce qui se cache derrière ces murs qui nous entourent. C'est un outil puissant qui nous permet de voir ce que nos yeux ne peuvent pas voir, et de découvrir des mondes cachés d'informations. Ce qui est incroyable, c'est que les détails cachés deviennent visibles dans une caméra IR tenue en main. La caméra utilise la technologie infrarouge pour détecter les températures de surface et les afficher sous un format facile à lire. Lorsqu'une caméra IR est pointée vers une personne, on observe la gradation de chaleur sur son corps, indiquant les zones de température plus basse ou plus élevée. Cela peut être utile dans de nombreuses situations, allant de la recherche d'un animal domestique perdu dans l'obscurité à la protection de votre maison contre les fuites ou les inondations. La puissance d'une caméra IR portative constitue une autre fonctionnalité très pratique. Cet outil convient à toutes les situations, qu'il s'agisse de projets domestiques ou d'utilisation en extérieur. Que vous inspectiez une maison, photographiez la faune en forêt ou exploriez le ciel nocturne, le design portable rend facile le transport de la caméra IR partout où vous allez. Son design léger et facile à transporter convient à tous, quel que soit l'âge ou le niveau technique. Ouvrir les possibilités de la créativité avec un appareil photo infrarouge portable est très captivant. Cet outil vous permet d'explorer le spectre visuel de la lumière infrarouge, en capturant des images aux teintes exotiques et colorées qui seraient autrement invisibles à l'œil nu. Et en ayant la possibilité de modifier les paramètres et de personnaliser vos prises de vue, vous pourrez produire des images plus créatives et impressionnantes, qui saisissent vraiment l'instant. Que vous soyez photographe ou simplement amateur d'expérimentations, la photographie IR est une activité extrêmement ludique — les effets que l'on peut créer offrent une perspective tout à fait différente du monde, ainsi qu'un immense champ libre à la créativité et au plaisir. Alors assurez-vous de vous AMUSER et gardez simplement le doigt sur le déclencheur. Il est vraiment magique de regarder le monde sous un angle totalement différent avec une caméra infrarouge portative. Grâce à cet appareil, vous pouvez découvrir votre environnement d'une manière inédite, repérer des détails cachés et révéler des mystères qui auraient pu passer inaperçus. Série Outdoor Explorer Que vous souhaitiez étudier les plantes et la faune sauvage ou que vous désiriez simplement observer le monde de plus près, ce portail portable vers l'extérieur et le monde microscopique vous offre une vue passionnante ! Ce petit appareil intelligent éveillera la curiosité des enfants, stimulera leur imagination et les encouragera à grandir et à apprendre. Nous proposons nos services aux services incendie et d'urgence, aux services de sécurité publique, aux équipes urbaines de recherche et de sauvetage, ainsi qu'à d'autres armées. La caméra infrarouge portable fournit un équipement de pointe pour lutter contre les incendies, effectuer des opérations de recherche et de sauvetage, et intervenir dans des environnements dangereux, dans une grande variété de secteurs. Caméras thermiques pour la lutte contre l'incendie : L'entreprise a étudié et développé deux types de caméras thermiques offrant trois options de résolution : 256 × 192, 384 × 288 et 640 × 512. Ces caméras permettent de mesurer des températures allant jusqu'à 2000 °C. Équipement de recherche et de sauvetage : Notre gamme comprend des détecteurs de vie à radar, des radars 3D à travers les murs, des moniteurs de stabilité, des systèmes de surveillance des mouvements, ainsi que des détecteurs de gaz. Caméras thermiques industrielles : LSJ fournit des caméras thermiques destinées non seulement à la lutte contre l'incendie, mais aussi aux inspections de bâtiments, aux réparations électroniques, à la détection de fuites d'eau et à l’inspection des systèmes CVC. Viseurs thermiques et viseurs de vision nocturne : Nos viseurs de vision nocturne sont idéaux pour la visibilité nocturne et très appréciés des chasseurs. Ils peuvent être facilement montés sur des fusils. LSJ s’engage à fournir des équipements de haute qualité en imagerie thermique et en secours afin de répondre aux besoins variés de différents secteurs, renforçant ainsi la sécurité et l’efficacité de ses clients. LSJ propose les solutions les plus fiables et les plus sophistiquées. Faites confiance à LSJ pour être votre partenaire privilégié en matière de recherche et de sauvetage urbains. LSJ est un leader du marché dans la fabrication de caméras infrarouges portables haut de gamme, 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 d’achat se déroule de manière fluide et efficace. Nos caméras infrarouges portables performantes, associées à nos procédures rigoureuses de contrôle qualité, vous assurent une livraison ponctuelle et des produits d’excellente qualité. Nous assurons également la livraison porte à porte.
Service après-vente : Notre relation avec vous ne prend pas fin dès réception de vos produits. Nous proposons un large éventail de services après-vente, notamment des conseils d’installation, une formation des utilisateurs ainsi que des prestations de maintenance. Une équipe dédiée de service client est toujours à votre disposition pour répondre à toutes vos questions ou préoccupations et garantir votre entière satisfaction. Après 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 espérons devenir votre partenaire dans les domaines de la recherche et du sauvetage urbains ainsi que des interventions des pompiers. Chez LSJ, nous sommes fabricants de caméras infrarouges portables et attachons une grande importance à la fourniture de produits de haute qualité ainsi qu’à un service exceptionnel à nos clients. C’est pourquoi nous proposons des garanties d’une ou cinq années. Cela témoigne de notre confiance dans la qualité et les performances de nos produits. Nous investissons fortement 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 normes strictes de contrôle qualité, depuis la conception jusqu’au produit fini. Nous proposons une gamme étendue de produits afin de répondre aux besoins de tous les utilisateurs. Notre stock de composants, de matières premières et d’autres articles est suffisamment important pour assurer une livraison dans les délais. En cas de retard de livraison, nous vous rembourserons jusqu’à 5 % du montant total. Pour vous aider à utiliser nos produits de manière productive et efficace, nous mettons à votre disposition des vidéos tutorielles complètes. Nous offrons également une formation technique sur site, entièrement adaptée à vos besoins spécifiques, afin que vous puissiez maîtriser l’utilisation de nos produits en toute aisance et compétence. Choisissez LSJ pour des produits de qualité, fiables, et un service client exceptionnel. Depuis 2013, LSJ développe, fournit et commercialise des caméras infrarouges portables et des équipements haut de gamme dédiés aux opérations de recherche et de sauvetage. LSJ a obtenu les certifications ISO 9001, CE et ROHS. Par ailleurs, l’entreprise détient plus de 30 brevets. En tant qu’acteur de premier plan, nous sommes en mesure d’investir massivement dans notre département de recherche et développement. En 2024, LSJ a participé à quatre grands salons internationaux : 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 le salon NFPA aux États-Unis. En 2025, nous serons présents à INTERSEC, qui se tiendra à Dubaï du 14 au 16 janvier. Notre stand présentera notamment nos caméras thermiques destinées aux pompiers, ainsi que des équipements de surveillance audio et vidéo, des détecteurs de gaz, des radars 3D et d’autres produits. Nous vous invitons à venir nous rendre visite. LSJ possède plus de 11 ans d’expérience dans la fabrication d’équipements spécialisés. L’entreprise se spécialise dans la conception et la réalisation de nouveaux produits adaptés aux scénarios d’utilisation spécifiques de ses clients. Elle améliore en continu les fonctionnalités de ses produits tout en réduisant leurs coûts. LSJ dispose également d’une vaste expérience dans les opérations de secours et de recherche en milieu urbain. Par exemple, lors du séisme survenu en Turquie en 2023, le radar détecteur de vie de LSJ a joué un rôle clé dans les opérations de sauvetage menées par l’équipe chinoise de secours « Blue Sky Rescue Team ». Choisissez LSJ pour des solutions haut de gamme, fiables et entièrement adaptées à vos besoins. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
caméra IR portable
Comment une caméra infrarouge portable révèle des détails cachés

La polyvalence d'une caméra infrarouge portable

Liberer la créativité avec une caméra infrarouge portable

Voir le monde sous un jour totalement nouveau avec une caméra infrarouge portable
Why choose LSJ Technology caméra IR portable?
Une chaîne d'approvisionnement complète en équipements pour les opérations de recherche et de sauvetage en milieu urbain
Pourquoi LSJ peut être votre fabricant et fournisseur de produits de préparation ?
Garantir la qualité et la livraison dans les délais : l'engagement de LSJ en matière de satisfaction clientèle
Fabricant d'équipements de recherche et de sauvetage haute performance innovant
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