,...">
,需要通过父级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);
}
});
})();
Czy kiedykolwiek zastanawiałeś się, jak wyglądałoby posiadanie supermocy widzenia w ciemności? Dzięki technologii LSJ najlepsza przenośna kamera termiczna możesz spełnić to marzenie. Pozostań bezpieczny i kontroluj ciemność dzięki tej specjalnej kamerze. Niezależnie od tego, czy obojtuje się nocą, czy też sprawdzasz tylny ogród po zachodzie słońca, przenośna kamera termowizyjna pomoże Ci zapewnić sobie bezpieczeństwo i świadomość otoczenia. Ta kamera potrafi widzieć ciepło, umożliwiając dostrzeżenie nawet całkowitej ciemności. Dowiedz się, skąd pochodzi ciepło dzięki ręcznej kamerze termowizyjnej. Czy kiedykolwiek siedziałeś i zastanawiałeś się, skąd w Twoim domu pochodzi ciepło? LSJ Technology – Włącz swoją kamerę termowizyjną! LSJ Technology przenośna kamera termowizyjna może pomóc zaoszczędzić na rachunkach za energię i uczynić Twój dom bardziej przytulnym miejscem. Najlepsza ręczna kamera termowizyjna. Kamera firmy LSJ Technology to świetny sposób, aby odkrywać świat. Dla miłośników natury, majsterkowiczów lub ciekawskich typów renesansowych – ta kamera oferuje wiele możliwości do zgłębienia. Możesz polować na zwierzęta w nocy lub rozwiązywać problemy elektryczne w swoim domu. LSJ Technology najlepszy przenośny termowizor jest po prostu fantastyczna! Włóż w swoje dłonie moc obrazowania termalnego. Technologia LSJ przenośny Infraczerwony Wykrywacz Termiczny może pomóc Ci ZOBACZYĆ wzorce cieplne niewidoczne gołym okiem. Ten kompaktowy i łatwy w obsłudze kamer wywiera nowe możliwości. Od 2013 roku firma LSJ rozwija produkcję oraz dostawę wysokiej klasy sprzętu do poszukiwań i ratownictwa oraz sprzętu dla strażaków. LSJ uzyskała certyfikaty zgodności z normami ISO 9001, dotyczącymi ręcznych kamer termowizyjnych oraz dyrektywą RoHS. Posiada ponad 30 patentów. Inwestujemy znaczne środki w nasz dział projektowania i badań, ponieważ jesteśmy liderem branży. W 2024 roku LSJ uczestniczyła w czterech głównych wydarzeniach: INTERSEC w Dubaju, Securika 2024, 18. wystawie Defence Services Asia (DSA) oraz 3. wystawie National Security Asia (NATSEC) w Malezji, a także w konferencji NFPA w USA. Zarejestrowaliśmy się również na wystawę INTERSEC w Dubaju, która odbędzie się w dniach 14–16 stycznia 2025 r. Na tej wystawie zaprezentujemy nasz radarowy wykrywacz życia, 3D radar przeznaczony do obserwacji przez ściany, detektory gazów, sprzęt słuchowy i wizyjny oraz urządzenia do monitorowania stabilności i kamery termowizyjne do walki z pożarami. Zapraszamy do odwiedzenia naszego stoiska. LSJ ma 11-letnie doświadczenie w produkcji. Specjalizuje się w tworzeniu i wytwarzaniu innowacyjnych produktów dostosowanych do konkretnych scenariuszy użytkowania klientów. Firma stale podnosi swoje kompetencje oraz obniża koszty produktów. LSJ posiada bogate doświadczenie w ratownictwie miejskim oraz w działaniach poszukiwawczych. W 2023 r., podczas trzęsienia ziemi w Turcji, radarowy wykrywacz życia firmy LSJ odegrał kluczową rolę w działaniach zespołu chińskiego zespołu ratowniczego „Blue Sky Rescue Team”. Wybierz LSJ, aby otrzymać zaawansowane technologicznie rozwiązania dopasowane do Twoich indywidualnych potrzeb. Firma LSJ zdaje sobie sprawę, jak ważne jest oferowanie naszym klientom produktów najwyższej jakości oraz ręcznych kamer termowizyjnych. Oferujemy gwarancje jedno- lub pięcioletnie, co świadczy o naszej przekonaniu dotyczącym długotrwałej wytrzymałości i niezawodności naszych produktów. Nasze znaczne inwestycje w badania i rozwój zapewniają, że nasze produkty spełniają najwyższe standardy. Jako producent stosujemy rygorystyczny kontrolę jakości – od surowców po etap produkcji. Niezależnie od tego, czy jesteś klientem indywidualnym, dystrybutorem, uczestnikiem przetargu czy agencją rządową, oferujemy szeroką gamę produktów dostosowanych do Twoich potrzeb. Nasz duży zapas surowców, komponentów i innych artykułów pozwala zagwarantować terminową dostawę. W przypadku opóźnienia w dostawie zobowiążemy się do zwrotu klientowi od 2% do 50% wartości całkowitego zamówienia. Udostępniamy szczegółowe instrukcje oraz filmy instruktażowe, które pomogą Ci efektywnie korzystać z naszych produktów. Możemy również zorganizować osobowe szkolenia techniczne na miejscu, dostosowane do Twoich wymagań, abyś mógł z pewnością i łatwo korzystać z naszych produktów. Wybierz LSJ – dla wysokiej jakości, niezawodnych produktów oraz wyjątkowej obsługi klienta. W LSJ jesteśmy ekspertami w zakresie opracowywania wysokiej klasy sprzętu do ratownictwa miejskiego, zaprojektowanego zgodnie z najwyższymi międzynarodowymi standardami.
Usługi przedsprzedażowe:
Jesteśmy gotowi pomóc od samego początku. Oferujemy kompleksowe konsultacje, aby poznać Państwa potrzeby i opracować odpowiednie rozwiązania. Udostępniamy również zestawy produktów oraz szczegółowe specyfikacje techniczne termowizyjnych aparatów ręcznych, dzięki czemu uzyskacie Państwo wszystkie niezbędne informacje umożliwiające podjęcie dobrze przemyślanej decyzji.
Usługi sprzedażowe:
W trakcie sprzedaży zapewniamy płynny i efektywny przebieg współpracy. Gwarantujemy terminową dostawę towaru w idealnym stanie dzięki naszemu wydajnemu systemowi zamówień oraz ścisłej kontroli jakości. Oferujemy również dostawę „od drzwi do drzwi”.
Usługi posprzedażowe:
Nasza współpraca z Państwem nie kończy się po otrzymaniu zamówionych produktów. Kompleksowa obsługa posprzedażowa obejmuje pomoc w instalacji, szkolenia użytkowników oraz serwis i konserwację sprzętu. Nasz zespół obsługi klienta jest dostępny 24 godziny na dobę i gotów rozwiązać wszelkie pytania lub problemy, gwarantując pełną satysfakcję klientów. Na cały sprzęt zakupiony od LSJ udzielamy 3-letniej gwarancji. Możecie Państwo również skorzystać z naszych usług posprzedażowych.
Wybierając LSJ, wybieracie Państwo niezawodność, wysoką jakość oraz bezprecedensową obsługę. Z przyjemnością będziemy Państwa partnerem w dziedzinie ratownictwa miejskiego oraz gaszenia pożarów. Zapewniamy usługi dla jednostek straży pożarnej i ratownictwa, ręcznych kamer termowizyjnych, zespołów ratownictwa technicznego w środowisku miejskim oraz różnorodnych armii. LSJ dostarcza innowacyjnego sprzętu do gaszenia pożarów, prowadzenia działań poszukiwawczo-ratunkowych oraz pracy w środowiskach zagrożonych wybuchem w różnych sektorach przemysłu. Kamery termowizyjne do gaszenia pożarów: zaprojektowaliśmy i opracowaliśmy dwa typy kamer termowizyjnych o trzech różnych rozdzielczościach. Te kamery umożliwiają pomiar temperatur sięgających nawet 2000 °C. Sprzęt do poszukiwań i ratownictwa: oferujemy różnorodne produkty, w tym detektory gazów, monitory stabilności oraz systemy monitoringu ruchu. Przemysłowe kamery termowizyjne: LSJ dostarcza kamer termowizyjnych nie tylko do gaszenia pożarów, ale także stosowanych w inspekcjach budynków, naprawach elektronicznych, wykrywaniu przecieków wody oraz inspekcjach systemów wentylacji i klimatyzacji (HVAC). Termowizory: noktowizory są idealne do zapewnienia widoczności w nocy. Są również bardzo popularne wśród myśliwych. Łatwo montuje się je na karabinach. LSJ oferuje wysokiej klasy sprzęt termowizyjny do celów ratowniczych i obrazowania, który spełnia wymagania różnych branż oraz zwiększa bezpieczeństwo i skuteczność działania Państwa firmy. Wybierzcie LSJ jako dostawcę najbardziej zaawansowanych i niezawodnych rozwiązań. Zaufajcie LSJ jako swojemu pierwszemu partnerowi w zakresie ratownictwa technicznego w środowisku miejskim. Prawa autorskie © Beijing LSJ Technology Development Co., Ltd. Wszelkie prawa zastrzeżone
-
Polityka prywatności
Przenośna kamera termowizyjna
Pozostań bezpieczny i widz w ciemności dzięki przenośnej kamerze termowizyjnej.
Odkrywaj ukryte źródła ciepła dzięki mocy ręcznej kamery termowizyjnej.

Najlepsza ręczna kamera termowizyjna.
Odblokuj potencjał termowizji w swojej dłoni.
Why choose LSJ Technology Przenośna kamera termowizyjna?
Innowacyjny producent wysokowydajnego sprzętu ratowniczego
Gwarantowanie jakości i punktualnej dostawy: zaangażowanie LSJ w zadowolenie klienta
Dlaczego LSJ może być Twoim podstawowym producentem i dostawcą?
Pełny zestaw sprzętu do poszukiwań i ratownictwa w terenie miejskim łańcuchy dostaw
Powiązane kategorie produktów
Nie możesz znaleźć tego, czego szukasz?
Poproś teraz o wycenę
Skontaktuj się z naszymi konsultantami, aby uzyskać informacje o dostępnych produktach.Skontaktuj się z nami