&...">
,需要通过父级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);
}
});
})();
Plaisir de la lecture : Découvrez un Nouveau Monde sur Votre Appareil Android avec Cette Géniale Caméra Thermique LSJ Technology [Guide des Débutants] système hmi est un type de caméra qui vous permet de voir la chaleur autour de vous. Cela permet une découverte complète de votre environnement. Si vous avez une caméra thermique LSJ Technology sur votre Android, il est facile de voir quand les choses se réchauffent ou se refroidissent. Cela sera utile lorsque vous êtes à l'extérieur, en train d'apprécier le soleil un jour d'été chaud, ainsi que pendant une froide nuit d'hiver. Vous pouvez surveiller les changements de température et être prêt pour des conditions météorologiques défavorables en utilisant le panneau tactile hmi . Par exemple, si il fait très chaud à l'extérieur, vous pouvez vérifier où se produit la prise de chaleur. Vous pouvez également savoir quand les choses se refroidissent, ce qui est utile pour anticiper une baisse des températures LSJ Technology Thermal Photo peut capturer de meilleures images thermiques en utilisant une caméra thermique Android. Eh bien, la caméra est bonne comme outil de prise de vue rapprochée pour n'importe quel type de paramétrage. A écran tactile hmi révèle où la chaleur frappe le plus agressivement. En surveillant ces éléments à l'échelle et au moment appropriés, vous pourriez localiser des zones nécessitant réparation - une fuite de chaleur dans votre maison pourrait refroidir à l'intérieur ou un point chaud moteur indiquant que des réparations seraient utiles. Cela ressemble à être un détective... assembler des indices pour résoudre des mystères ! Votre environnement est plus facile à comprendre avec une caméra thermique LSJ Technology. Ces motifs thermiques anormaux peuvent être un indicateur d'un problème plus grave. Par exemple : un point chaud, quelque chose qui sort de l'ordinaire système d'interface homme-machine ... signes d'un problème électrique ou de surchauffe des équipements. Il vous aide à identifier les problèmes souvent dès le stade initial et à intervenir avant qu'ils ne deviennent des fardeaux majeurs. Et en bonus, vous voyez même la chaleur de tout ce qui est à proximité, ce qui est vraiment sympa et assez intéressant. La Visualisation des Modèles de Chaleur Tels Qu'ils Sont Vus via une Caméra Thermique dans une Thermographie Android LSJ Technology est le processus consistant à utiliser une caméra thermique pour localiser la chaleur. Un outil utile qui peut indiquer des problèmes potentiels dans votre maison, votre voiture ou autre chose dans la zone. Et vous pouvez acheter une caméra coûteuse à la porte avec un interface homme-machine tactile . Vous n'avez qu'à télécharger une application, et vous êtes prêt pour le voyage. LSJ est un pionnier dans le développement d'équipements haut de gamme pour les opérations urbaines de recherche et de sauvetage, compatibles avec les caméras thermiques pour Android.
Service avant-vente : Notre équipe de spécialistes est à votre disposition dès le début. Nous proposons des consultations complètes afin de vous aider à identifier vos besoins spécifiques et à vous offrir des solutions sur mesure. Nous assurons également des démonstrations produits ainsi que la fourniture de fiches techniques détaillées, afin que vous disposiez de toutes les informations nécessaires pour prendre une décision éclairée.
Service vente : Nous veillons à ce que l’ensemble du processus de vente soit fluide et efficace. Notre système de commande performant, couplé à des mesures strictes de contrôle qualité, garantit que vos articles vous parviennent dans les délais impartis et en parfait état. Nous proposons également une livraison porte-à-porte.
Service après-vente : Après la livraison de vos marchandises, notre partenariat avec vous ne prend pas fin. Nous fournissons un soutien étendu après-vente, notamment une assistance à l’installation, une formation des utilisateurs, ainsi que des services de maintenance et de réparation. Nos représentants du service client sont prêts à vous accompagner pour toute question ou tout problème que vous pourriez rencontrer, afin de garantir votre entière satisfaction. Une fois que vous achetez un équipement LSJ, nous vous accordons une garantie de trois ans et vous bénéficiez d’un accompagnement spécifique après-vente. Choisir LSJ, c’est opter pour la fiabilité, la qualité et un service inégalé. Nous souhaitons devenir votre partenaire privilégié 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 services de sécurité publique, aux équipes urbaines de recherche et de sauvetage ainsi qu'à d'autres armées. LSJ fournit des engins de pointe destinés à lutter contre les incendies, à mener des opérations de recherche et de sauvetage, et à intervenir dans des zones dangereuses à travers divers secteurs. Caméras thermiques pour la lutte contre l'incendie : nous avons conçu et étudié deux types de caméras thermiques offrant trois résolutions différentes. Elles permettent de surveiller des températures allant jusqu'à 2000 degrés Celsius. Équipements de recherche et de sauvetage : notre gamme comprend des détecteurs de vie par radar, des caméras thermiques pour Android capables de voir à 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 propose 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 ainsi que l'inspection des systèmes de chauffage, ventilation et climatisation (CVC). Viseurs thermiques et viseurs de vision nocturne : nos viseurs de vision nocturne assurent une excellente visibilité en conditions nocturnes et sont 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, capables de répondre aux besoins de divers secteurs industriels et d'améliorer l'efficacité et la sécurité. LSJ est synonyme de solutions les plus sûres et les plus innovantes. Faites confiance à LSJ en tant que partenaire privilégié pour vos opérations de recherche et de sauvetage en milieu urbain. Depuis 2013, LSJ développe, fabrique et fournit des caméras thermiques pour Android, ainsi que des équipements haute performance destinés aux opérations de recherche et sauvetage et au matériel des pompiers. LSJ a obtenu les certifications ISO 9001, CE et ROHS. L’entreprise détient également plus de 30 brevets. Nous investissons massivement dans notre département de recherche et développement, car nous sommes un acteur leader sur le marché. En 2024, LSJ a participé à quatre grandes expositions : 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 NFPA aux États-Unis. Nous sommes également inscrits à INTERSEC à Dubaï du 14 au 16 janvier 2025. Lors de cet événement, nous présenterons en direct notre détecteur radar, un radar 3D capable de détecter les murs, les détecteurs de gaz, les équipements d’écoute audio et vidéo, ainsi que les systèmes de surveillance de stabilité et les caméras thermiques dédiées à la lutte contre l’incendie. Nous serions ravis de vous accueillir sur notre stand. LSJ possède 11 ans d’expérience en fabrication. L’entreprise est spécialisée dans le développement et la conception de nouveaux produits, fondés sur les scénarios d’utilisation spécifiques de ses clients. Elle poursuit également l’amélioration continue de ses capacités et la réduction des coûts liés à ses produits. LSJ dispose par ailleurs d’une vaste expérience dans le domaine de la recherche et du sauvetage urbains. Par exemple, lors du séisme survenu en Turquie en 2023, le radar détecteur de vie de LSJ a joué un rôle crucial dans les opérations de secours menées par l’équipe chinoise Blue Sky Rescue Team. Choisissez LSJ pour des solutions avancées, fiables et entièrement adaptées à vos besoins. Caméra thermique pour Android de LSJ : Chez LSJ, nous savons à quel point il est important d'offrir à nos clients des produits de haute qualité et un service supérieur. C'est pourquoi nous proposons des garanties d'une durée d'un an ou de cinq ans, reflétant ainsi notre confiance dans la durabilité et les performances de nos produits. Nous nous engageons pleinement 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 un contrôle qualité rigoureux, depuis la sélection des matières premières jusqu'à la production. Que vous soyez un acheteur individuel, un distributeur, un participant à un appel d'offres ou même une entité gouvernementale, nous disposons d'une large gamme de produits répondant à vos besoins spécifiques. Par ailleurs, nous maintenons un stock robuste de matières premières et d'autres composants afin d'assurer une livraison rapide de chaque commande. En cas de retard de livraison, nous rembourserons à nos clients entre 2 % et 5 % de la valeur de l'achat. Pour vous aider à exploiter efficacement nos produits et à en tirer le meilleur parti, nous mettons à votre disposition des vidéos tutorielles détaillées. En outre, nous pouvons organiser la venue de notre personnel technique sur site afin de dispenser une formation adaptée à vos besoins spécifiques, garantissant ainsi que vous saurez utiliser nos produits en toute confiance et sérénité. Choisissez LSJ pour bénéficier de produits de haute qualité et solides, ainsi que d'un service client exceptionnel. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
Caméra thermique pour Android
Restez vigilant et préparé aux changements de température avec une caméra thermique sur votre appareil Android.

Capturez des photos thermiques impressionnantes en déplacement avec la caméra thermique intégrée de votre Android.

Comprenez mieux votre environnement et détectez les anomalies de chaleur avec une caméra thermique pour Android.
Profitez du pouvoir de la thermographie avec la praticité d'une caméra thermique pour Android.
Why choose LSJ Technology Caméra thermique pour Android?
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
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
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