&...">
,需要通过父级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);
}
});
})();
Termocamerele de înaltă rezoluție sunt instrumente minunate care ne permit să vedem lucrurile într-un mod foarte diferit. LSJ Technology a dezvoltat unele dintre cele mai bune camere termice cu înaltă rezoluție disponibile. Aceste camere pot înregistra imagini în lumina care este prea caldă sau prea rece pentru ca ochii noștri să o poată percepe. Puterea termocamerelor de înaltă rezoluție Citiți mai departe pentru a afla mai multe despre puterea termocamerelor de înaltă rezoluție! Camerele termice de înaltă rezoluție sunt ca niște ochelari magici prin care putem vedea ceea ce este invizibil. Ele realizează acest lucru detectând căldura emisă de un obiect și transformând-o într-o imagine pe care o putem vedea pe un ecran. Acest lucru ne permite să observăm lucruri pe care nu le-am putea vedea doar cu ochii — cum ar fi crăpături în clădiri sau puncte fierbinți în echipamente electrice. Înainte de apariția camerelor termice cu înaltă rezoluție, oamenii trebuiau să ghicească ce se întâmplă cu lucrurile care erau fie prea calde, fie prea reci pentru a fi văzute. Acum putem vedea lucrurile într-un detaliu mai mare ca niciodată, datorită tehnologiei LSJ camere termice cu înaltă rezoluție . Acest lucru este pur și simplu transformator pentru imagistică, deoarece ne oferă o nouă lentilă prin care putem privi lumea din jurul nostru. Există numeroase beneficii ale aplicării camerelor termice de înaltă rezoluție unul dintre lucrurile grozave este că pot vedea în întuneric. Acest lucru se datorează faptului că nu au nevoie de lumină pentru a forma o imagine – ele se bazează pe căldură. Asta le face ideale pentru căutarea unor obiecte în întuneric sau în fundul geantăi tale. În plus, termografia cu înaltă rezoluție spațială evidențiază caracteristici non-invazive. Astfel, pot descoperi defecte fără a provoca daune. De exemplu, pot detecta o scurgere la o conductă fără a fi nevoie să spargi peretele. Aceasta este un mod prin care poți evita reparații costisitoare. Imagistica termică de înaltă rezoluție este acum la îndemâna ta. Văzută prin ochii camerelor termice HD ale LSJ Technology, putem observa lucruri pe care nu le-am putut vedea până acum. Putem descoperi modelele de căldură ale animalelor, urmări animalele pierdute în întuneric și chiar putea observa respirația noastră într-o zi rece. Posibilitățile sunt nesfârșite! Caracteristici ale Camerei Termice de Înaltă Rezoluție camere termice cu înaltă rezoluție sunt ca niște ochi super-puțernici care ne ajută să vedem lucrurile într-o lumină cu totul nouă. Ei îmbogățesc viziunea noastră, făcând vizibil ceea ce altfel ar rămâne nevăzut. Ne ajută să găsim problemele ușor și rapid, economisind astfel timp și bani pentru reparații. Lumea este plină de descoperiri noi care așteaptă să fie făcute, cu termocamere de înaltă rezoluție. Noi, la camera termică de înaltă rezoluție, știm cât de important este să oferim clienților noștri produse de calitate, precum și un serviciu superior. De aceea, oferim o garanție de unul sau cinci ani. Aceasta demonstrează încrederea noastră în durabilitatea și calitatea produselor noastre. Suntem dedicați cercetării și dezvoltării pentru a ne asigura că produsele noastre respectă cele mai înalte standarde. Ca producător, menținem controale stricte ale calității, începând cu materiile prime până la produsul final. Dacă sunteți cumpărător particular, distribuitor, participant la licitații sau chiar o entitate guvernamentală, avem o gamă diversificată de produse care să răspundă cerințelor dumneavoastră. De asemenea, menținem un stoc mare de materii prime și alte componente pentru a garanta livrarea la timp a fiecărei comenzi. Vă vom rambursa 2%–5% din valoarea achiziției dacă nu putem livra mărfurile în termenul specificat. Vă oferim videoclipuri detaliate cu instrucțiuni care vă ajută să utilizați produsele noastre cu ușurință. De asemenea, putem organiza ca personalul nostru tehnic să ofere instruire pe loc, adaptată în mod specific nevoilor dumneavoastră, astfel încât să puteți opera produsele noastre cu încredere și ușurință. Alegeți LSJ pentru produse de înaltă calitate și fiabile, precum și pentru un serviciu excepțional al clienților. Din 2013, LSJ dezvoltă, produce și furnizează camere termice de înaltă rezoluție, echipamente pentru salvare și echipamente pentru pompieri. LSJ este acreditată conform standardelor ISO9001, CE, ROHS și MSDS și a obținut peste 30 de brevete. Ca firmă lider, investim sume semnificative în departamentul nostru de proiectare și cercetare. În 2024, LSJ a participat la patru evenimente importante: INTERSEC, Securika, a 18-a ediție a Defence Services Asia și a 3-a ediție a National Security Asia din Malaysia, precum și la evenimentul NFPA din Statele Unite ale Americii. În 2025, suntem înregistrați pentru participarea la INTERSEC 2025, care va avea loc în Dubai, între 14 și 16 ianuarie. Vom prezenta camerele termice pentru intervenții incendiare, precum și dispozitive de supraveghere audio și video, radar 3D pentru detectarea gazelor și alte produse. Vă invităm cu plăcere să ne vizitați la standul nostru. Cu o experiență de 11 ani în producție, LSJ se specializează în redimensionarea și fabricarea de produse noi, adaptate în mod specific condițiilor de utilizare ale clienților, îmbunătățind în mod continuu funcționalitățile și reducând costurile produselor. LSJ deține, de asemenea, o experiență vastă în domeniul căutării și salvării urbane. În timpul cutremurului din Turcia din 2023, detectorul de viață cu radar LSJ a jucat un rol esențial în eforturile echipei chineze de salvare Blue Sky Rescue. Alegeți LSJ pentru a beneficia de cele mai recente tehnologii, concepute în mod special pentru nevoile dumneavoastră. La LSJ suntem experți în producerea echipamentelor de înaltă calitate pentru căutare și salvare în mediul urban, concepute pentru a îndeplini cele mai înalte standarde internaționale. Servicii pre-vânzare: Suntem aici să vă ajutăm chiar de la început. Vă oferim consultanță completă, astfel încât să înțelegem pe deplin nevoile dumneavoastră și să vă propunem soluții adecvate. De asemenea, vă oferim demonstrații ale produselor, împreună cu specificații tehnice detaliate, pentru ca să dețineți toate informațiile necesare luării unei decizii informate. Servicii de vânzare: În timpul procesului de vânzare, vă asigurăm o cameră termică de înaltă rezoluție și o experiență eficientă. Garantăm livrarea produselor dumneavoastră la timp și în stare perfectă, datorită sistemului nostru automatizat de comenzi și unui control riguros al calității. Ofertăm, de asemenea, livrare de la ușă la ușă. Servicii post-vânzare: După ce ați primit bunurile, parteneriatul nostru cu dumneavoastră nu se încheie. Serviciile noastre extinse post-vânzare includ sprijin pentru instalare, instruire utilizatori și întreținere. Departamentul nostru de servicii clienți este mereu disponibil pentru a rezolva orice întrebare sau nelămurire pe care o puteți avea, asigurându-vă satisfacția deplină. Odată ce achiziționați echipamente de la LSJ, vă oferim o garanție de trei ani, iar serviciile post-vânzare specifice pot fi obținute direct de la noi. A alege LSJ înseamnă a alege încredere, calitate și un sprijin fără egal. Așteptăm cu nerăbdare să devenim partenerii dumneavoastră în domeniul căutării și salvării în mediul urban, precum și în cel al pompierilor. Oferim servicii pentru departamentele de camere termice de înaltă rezoluție, precum și pentru serviciile de siguranță publică și echipele urbane de căutare și salvare. LSJ oferă echipamente de ultimă generație pentru căutare și salvare, intervenții incendiare și lucrul în atmosfere explozive, în diverse sectoare. Camere termice pentru intervenții incendiare: Echipa noastră a dezvoltat și testat două tipuri de camere termice, cu trei opțiuni de rezoluție: 256×192, 384×288 și 640×512. Aceste camere pot măsura temperaturi până la 2000 °C. Echipamente pentru căutare și salvare: Ofertăm mai multe produse, cum ar fi detectoare de gaze, monitoare de stabilitate și sisteme de monitorizare a mișcării. Camere termice industriale: LSJ oferă camere termice care nu sunt utilizate exclusiv în intervenții incendiare, ci și pentru inspecții de clădiri, reparații electronice, detectarea scurgerilor de apă și inspecții ale sistemelor HVAC. Scopuri termice: Optica noastră de vizibilitate nocturnă este ideală pentru observare în condiții de întuneric. Este, de asemenea, foarte populară printre vânători. Se montează ușor pe puști. LSJ este dedicată furnizării de echipamente de imagistică termică și de salvare de înaltă calitate, pentru a satisface cerințele diferitelor industrii, îmbunătățind astfel siguranța și eficiența în toate domeniile. LSJ oferă cele mai sigure și moderne soluții. Puteți avea încredere în LSJ ca partener principal în cadrul operațiunilor urbane de căutare și salvare. Drepturi de Autor © Beijing LSJ Technology Development Co., Ltd. Toate Drepturile Rezervate
-
Politica de confidențialitate
cameră termică cu rezoluție înaltă
Cum camerele termice cu înaltă rezoluție revoluționează imagistica

Avantajele camerelor termice cu înaltă rezoluție

Explorarea lumii prin imagistică termică cu înaltă rezoluție

Îmbunătățirea vederii cu camere termice cu înaltă rezoluție
Why choose LSJ Technology cameră termică cu rezoluție înaltă?
Asigurarea Calității și a Livrării În Timp: Angajamentul LSJ de Satisfacere a Clientului
Inovând ca fabricant de echipamente de căutare și salvare cu performanță înaltă
De Ce LSJ Poate Fi Producătorul și Furnizorul Tău Principal?
O lanțuri de aprovizionare completă cu echipamente pentru căutare și salvare urbană
Categorii de produse conexe
Nu găsiți ceea ce căutați?
Solicitați o ofertă acum
Contactați consultanții noștri pentru mai multe produse disponibile.Contactați-ne