termowizyjnej kamerze na Androida. Ta kamera nie jest zwykłą kamerą, z jaką zwykle się spotykasz. Dzięki niej można...">
,需要通过父级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 marzyłeś o możliwości widzenia w ciemności? Tak, możesz to zrobić za pomocą kamera termiczna na Androida ta kamera nie jest taka, jaką zwykle spotkasz. Dzięki niej można nie tylko widzieć światło, ale również ciepło i przekształcać je w obrazy. Jeśli wyjdziesz wieczorem na zewnątrz i spojrzysz w górę, wszystkie gwiazdy są tam, ale twoje oczy nie mogą ich dobrze zobaczyć, podobnie jak zwykła kamera. Staje się to zupełnie nowym sposobem doświadczania świata wokół nas! Jeśli spojrzeć na coś gołym okiem lub za pomocą zwykłej kamery, zobaczylibyśmy kolory takie jak czerwony, niebieski, zielony. Ale nie, za pomocą kamery termicznej... tania kamera termiczna na Androida widzisz coś innego! Ta kamera może wykrywać sygnatury cieplne wydawane przez obiekty. Aby uzyskać więcej szczegółów, możesz ustalić, co jest gorące, zimne itp. To pomoże ci zobaczyć więcej tego, co dzieje się wokół ciebie. Możesz również sprawdzić, jak gorące jest twoje zwierzę domowe lub temperatura terenu, który całe dni był ogrzewany przez słońce. Mając kamera termiczna na Androida identyfikacja punktów gorących to jedna z najbardziej przydatnych funkcji. Jeśli obawiasz się, że ciepło z twojego domu ucieka w niektórych miejscach, możesz użyć tej kamery do określenia miejsc, przez które uchodzi ciepło. Może powiedzieć ci, gdzie rzeczy są zbyt gorące lub zimne. W niektórych przypadkach miejsca są tak gorące, że nie można tam mieszkać, a to jest niebezpieczne. To czyni cię świadom problemów wcześniej, takich jak przeciekające miejsce w twoim domu, które może wymagać konserwacji, lub czegoś, co przegrzało. Wizja Termiczna Rozdzielczość kamery termicznej wynosi 640 x 512, co daje piękne, wyraźne obrazy termiczne. W zasadzie będziesz mógł widzieć rzeczy bardzo wyraźnie i z bliska. Czy używasz tego jako narzędzia do zabawnej eksploracji nocą, czy w roli SAR, gdzie życie zależy od sprawdzania budynków, musisz ufać temu, co pokazuje ta kamera. Te obrazy dadzą ci lepsze pojęcie o tym, co widzisz, tak aby gdy nadejdzie czas, aby podzielić się tym z innymi, twoje spotkania i obserwacje mogą być udostępnione. Wyjątkowa zdolność wykrywania ciepła z tej kamery. Pokaż Ci różne wzorce temperatury w otoczeniu. Na przykład, jeśli badasz zwierzę na wolności w jego naturalnym środowisku, możesz zaobserwować, jak gorąco lub zimno jest w różnych miejscach. Pozwala to nauczyć się, gdzie zwierzę się karmi i jak się porusza. Dowiesz się nawet, które części środowiska powodują, że zwierzę robi różne rzeczy. Wspieramy służby pożarnicze i ratownicze, usługi bezpieczeństwa publicznego, zespoły miejskiego poszukiwania i ratunku oraz różne siły zbrojne. LSJ dostarcza innowacyjnego sprzętu do gaszenia pożarów, prowadzenia działań poszukiwawczo-ratunkowych oraz pracy z termowizyjnymi kamerami o rozdzielczości 640 x 512 w różnych branżach.
Termowizyjne kamery do gaszenia pożarów: Nasz zespół stworzył dwa typy termokamer, z których każda oferuje trzy opcje rozdzielczości: 256×192, 384×288 oraz 640×512. Te kamery mierzą temperatury nawet do 2000 °C.
Sprzęt do poszukiwania i ratunku: Nasza oferta obejmuje detektory życia radarowe, trójwymiarowe radary przebijające ściany, monitory stabilności, systemy monitoringu ruchu oraz detektory gazów.
Przemysłowe kamery termowizyjne: Kamery termowizyjne LSJ są wykorzystywane nie tylko do gaszenia pożarów, ale także do inspekcji budynków, napraw elektronicznych, wykrywania przecieków wody oraz kontroli systemów wentylacji, ogrzewania i klimatyzacji (HVAC).
Termoskopy: Nasze urządzenia do widzenia w nocy idealnie nadają się do obserwacji w ciemności i cieszą się dużą popularnością wśród myśliwych. Łatwo montuje się je na karabinach.
LSJ oferuje termiczny sprzęt ratunkowy i obrazowy najwyższej klasy, spełniający potrzeby różnorodnych branż i zwiększający efektywność oraz bezpieczeństwo. Wybierz LSJ, aby uzyskać najbardziej zaawansowane i niezawodne rozwiązania.
Możesz mieć pełną pewność, że LSJ będzie Twoim głównym źródłem wsparcia w działaniach miejskiego poszukiwania i ratunku. W LSJ specjalizujemy się w termowizyjnych kamerach o rozdzielczości 640 x 512, stanowiących element wysokiej klasy sprzętu do miejskiego poszukiwania i ratownictwa, zaprojektowanego zgodnie z najbardziej rygorystycznymi międzynarodowymi standardami.
Usługi przedsprzedażowe:
Jesteśmy gotowi wesprzeć Państwa od samego początku. Udzielamy kompleksowych konsultacji, aby określić Państwa potrzeby i zaproponować rozwiązania dopasowane do konkretnych wymagań. Możemy dostarczyć szczegółowe specyfikacje techniczne oraz zaprezentować produkty w formie demonstracji, wspierając Państwa w podjęciu świadomej decyzji.
Usługi sprzedażowe:
W trakcie sprzedaży zapewniamy płynny i skuteczny przebieg współpracy. Gwarantujemy terminową i bezbłędną dostawę produktów dzięki naszemu wydajnemu systemowi zamówień oraz ścisłej kontroli jakości. Oferujemy również dostawę „od drzwi do drzwi”.
Usługi powsprzedażowe:
Po otrzymaniu produktów nasza współpraca z Państwem nie kończy się. Zapewniamy obszerne wsparcie powsprzedażowe, w tym pomoc w instalacji, szkolenia użytkowników oraz usługi serwisowe i konserwacyjne. Dysponujemy dedykowanym zespołem obsługi klienta, który jest zawsze do dyspozycji – szybko reaguje na wszelkie pytania, problemy lub zastrzeżenia oraz zapewnia pełną satysfakcję klientów. Na cały sprzęt zakupiony w LSJ udzielamy trzyletniej gwarancji. Dodatkowo dostępne są dla Państwa usługi wsparcia powsprzedażowego.
Wybierając LSJ, wybieracie Państwo zaufanie, jakość oraz nieporównywalne wsparcie. Z przyjemnością staniemy się Państwa partnerem w dziedzinie miejskiego poszukiwania i ratownictwa oraz w działaniach straży pożarnej. Od 2013 roku LSJ rozwija produkcję, dostawę oraz sprzedaż wysokiej klasy sprzętu do poszukiwań i ratownictwa oraz sprzętu dla strażaków. LSJ uzyskała certyfikaty ISO 9001, CE oraz RoHS. Ponadto posiada ponad 30 patentów. Jako wiodąca firma inwestujemy znaczne środki w nasz dział projektowania i badań. W 2024 roku LSJ uczestniczyła w czterech głównych wydarzeniach: INTERSEC, Securika, 18. edycji Defence Services Asia oraz 3. edycji National Security Asia w Malezji oraz konferencji NFPA w USA. Zarejestrowaliśmy się również na udział w targach INTERSEC w 2025 roku (14–16 stycznia), podczas których zaprezentujemy nasz żywy detektor radarowy – 3D radar przebijający ściany, detektor gazów, sprzęt do słuchania dźwięków i obrazów wideo, sprzęt do monitorowania stabilności oraz termowizory do walki z pożarami. Serdecznie zapraszamy do odwiedzenia naszego stoiska. LSJ ma ponad 11-letnie doświadczenie w produkcji. Specjalizuje się w tworzeniu i wytwarzaniu nowych produktów dostosowanych do konkretnych warunków użytkowania przez klientów. Firma ciągle doskonali swoje kompetencje oraz redukuje koszty produkcji. LSJ dysponuje bogatą wiedzą ekspercką w zakresie ratownictwa miejskiego i poszukiwań. Na przykład podczas trzęsienia ziemi w Turcji w 2023 roku radarowy detektor życia LSJ odegrał kluczową rolę w akcjach ratowniczych prowadzonych przez chiński Zespół Ratowniczy „Niebieskie Niebo”. Wybierz LSJ – niezawodne, zaawansowane rozwiązania dopasowane do Twoich indywidualnych potrzeb. Firma LSJ zdaje sobie sprawę, jak ważne jest oferowanie naszym klientom produktów najwyższej klasy oraz wyjątkowego serwisu. Dlatego udzielamy gwarancji trwających jeden lub pięć lat – świadczy to o naszym zaufaniu do jakości naszych produktów. Inwestujemy znaczne środki w badania i rozwój, aby zapewnić zgodność naszych produktów z najwyższymi standardami. Jako producenci stosujemy rygorystyczne procedury kontroli jakości na każdym etapie – od surowców po proces produkcji. Oferujemy szeroką gamę produktów, które spełnią potrzeby każdego użytkownika. Nasz zapas surowców, komponentów oraz innych artykułów jest wystarczający, aby zagwarantować terminową realizację Państwa zamówień. W przypadku niemożności dostarczenia zamówienia w terminie zobowiążemy się do zwrotu 2–5% wartości zakupu naszym klientom. Aby ułatwić korzystanie z naszych produktów, udostępniamy szczegółowe filmy instruktażowe. Ponadto możemy zorganizować dla Państwa szkolenie w trybie stacjonarnym przeprowadzone przez naszych specjalistów technicznych, dostosowane indywidualnie do Państwa potrzeb – dzięki temu będziecie mogli z pełnym zaufaniem i łatwością wykorzystywać nasze produkty. Wybierzcie LSJ – niezawodność, wysoka jakość produktów oraz doskonała obsługa klienta. Prawa autorskie © Beijing LSJ Technology Development Co., Ltd. Wszelkie prawa zastrzeżone
-
Polityka prywatności
kamera termiczna 640 x 512
Uzyskaj wyraźniejszy obraz swojego otoczenia dzięki kamerze termicznej 640 x 512.

Znajdź punkty gorące i anomalie za pomocą kamery termicznej 640 x 512.

Twórz wysokiej jakości obrazy termiczne za pomocą kamery termicznej 640 x 512.

Uzyskaj lepszą wglądność w wzorce temperatury dzięki kamery termicznej 640 x 512.
Why choose LSJ Technology kamera termiczna 640 x 512?
Pełny zestaw sprzętu do poszukiwań i ratownictwa w terenie miejskim łańcuchy dostaw
Dlaczego LSJ może być Twoim podstawowym producentem i dostawcą?
Innowacyjny producent wysokowydajnego sprzętu ratowniczego
Gwarantowanie jakości i punktualnej dostawy: zaangażowanie LSJ w zadowolenie klienta
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