Android-thermischebeeldcamera of DITI die ons in staat stelt om...">
,需要通过父级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);
}
});
})();
Hoe zien we warmte? Dat is een fascinerende vraag! Er bestaat een unieke technologische oplossing die bekend staat als android thermische beeldcamera of DITI, wat ons in staat stelt om het onzichtbare zichtbaar te maken. Dit is een verbazingwekkende technologie die ons helpt om dingen te zien waarvoor onze ogen nooit in staat zijn. We kunnen dat doen door foto's te nemen met een speciale soort camera, waarmee de temperaturen in die gebieden zichtbaar worden als verschillende kleuren. Bijvoorbeeld: hete dingen lijken heel rood, oranje en geel, terwijl koelere dingen oplichten tot blauw of zelfs paars. Zo is het eenvoudig om te zien hoe heet of koud iets is door gewoon de kleuren op de foto te lezen. Digitale Thermografische Imaging helpt artsen en verpleegkundigen bij het diagnosticeren van een verscheidenheid aan gezondheidsproblemen. Dat is indrukwekkend voor een medische toepassing! Ze kunnen de lichaam visualiseren door naar afbeeldingen te kijken die geproduceerd worden door deze technologie en zien waar er een temperatuursverschil is. Deze verschillen kunnen aantonen of iemand een blessure heeft, zoals een verstuiking of spierpijn, en of ze ziek zijn. Dit wonder laat hen weten wat er onder de huid van hun patiënten gebeurt, waardoor ook artsen en gewone mensen, zoals vrienden of familieleden, een manier hebben om iemand te helpen met pijnverlichting. Dus als iemand bijvoorbeeld hun enkel blesseert. Het kan ontzettend pijnlijk zijn, maar het is onmogelijk om aan de hand van het uiterlijk te zien wat er binnen in de enkel gebeurt. De speciale camera kan door een dokter gebruikt worden om dit te onderzoeken. android thermische camera wie naar tekenen van opzwelling of hitte kan zoeken, wat aangeeft dat er een blessure is opgetreden. Dit helpt hen de blessure beter te behandelen en de persoon te laten herstellen componentDid sourceMappingURL=..\/..\/..\/..\/sourcemaps\/worker.runtime.sources.map Digitale thermografie met infraroodscanning kan de kwaliteit van leven – en veiligheid – in onze huizen verbeteren. Dat is waar! Brandweermannen kunnen brand gemakkelijk vinden en zien waar de heetste plek is, alsook gebieden die al zijn gedoofd, door gebruik te maken van digitale thermische beeldvorming wanneer ze reageren op een oproep. Een uniek stuk technologie dat hun toelaat om te verifiëren dat de brand 100% uit is en dat er geen smeulende hete plekken achterblijven binnen muren, vloeren of plafonds, die uren later tot herontbranding kunnen leiden. Het zijn echter niet alleen de brandweerlieden die profiteren van een dergelijke technologie. Deze problemen zijn ook oplosbaar en thermische camera's met specifieke functies kunnen worden gebruikt om huisbewoners te helpen waar warmte verloren gaat in hun huizen. Gelooft u het of niet, energierekeningen kunnen zeer hoog uitvallen door gasstralingen die via de deuren en ramen naar binnen komen als deze lekken. Dit maakt het mogelijk voor mensen om gemakkelijk en snel te zien waar de warmte ontsnapt en ze kunnen het corrigeren. Dit betekent dat het zowel geld bespaart als het gevoel geeft aan de hele familie veiliger te zijn in hun huizen. En in fabrieken worden digitale thermische beelden gebruikt om machines te lokaliseren die mogelijk oververhitten. Als een mechanische onderdeel te heet wordt en het stopt met werken, kost het meestal behoorlijk wat geld om het weer te laten repareren. Deze technologie kan worden gebruikt zodat fabrieksarbeiders deze problemen vroegtijdig kunnen herkennen, wat slijtage voorkomt en het leven van machines verlengt. Wat op zijn beurt leidt tot minder downtime en meer productiviteit op het werk! Deze camera is uitgerust met een aantal kleine sensoren die foto's nemen waarbij alleen de warmte wordt vastgelegd die rondom wordt uitgestraald. Nadat het warmtegegevens heeft verkregen, analyseert speciale software deze informatie en produceert vervolgens een thermisch beeld van hoe die temperatuursverschillen eruitzien in een omgeving. Deze afbeelding a.(xxx) kan ook andere kleuren tonen, afhankelijk van de gemeten temperaturen. Wij leveren diensten aan brandweer- en reddingsdiensten, openbare veiligheidsdiensten, stedelijke zoek- en reddingsteams en andere militaire eenheden. LSJ biedt digitale thermische beeldvorming voor het bestrijden van branden, het uitvoeren van zoek- en reddingsoperaties en werkzaamheden in gevaarlijke omgevingen binnen diverse sectoren.
Thermische camera's voor brandbestrijding: Wij hebben twee soorten thermische camera's ontwikkeld met drie resolutieopties: 256×192, 384×288 en 640×512. Zij kunnen temperaturen tot 2000 °C meten.
Zoek- en reddingsapparatuur: Ons assortiment omvat levensdetectoren op radarbasis, 3D-radar door muren heen, stabiliteitsmonitors en bewegingsbewakingsystemen, evenals gasdetectoren.
Industriële thermische camera's: Naast thermische camera's die specifiek zijn ontworpen voor brandbestrijding, biedt LSJ handbediende thermische camera's voor lekdetectie in waterleidingen en gebouwinspecties, evenals voor elektronisch onderhoud, detectie van warmteverlies bij vloerverwarming en inspectie van HVAC-systemen.
Thermische vizieren en nachtzichtvizieren: Onze nachtzichtvizieren zijn ideaal voor zichtbaarheid tijdens de nacht en zeer populair onder jagers. Ze kunnen eenvoudig op geweren worden gemonteerd.
LSJ levert thermische veiligheids- en beeldvormingsapparatuur van topkwaliteit die voldoet aan de behoeften van verschillende sectoren en de efficiëntie en veiligheid van werknemers verbetert. Kies voor LSJ om de meest moderne en efficiënte oplossingen te verkrijgen.
Vertrouw op LSJ als uw eerste partner bij stedelijke zoek- en reddingsoperaties. Bij LSJ zijn we ons bewust van het belang van het aanbieden van producten van hoge kwaliteit en uitstekende klantenservice. Daarom bieden we garanties van één of vijf jaar. Deze garanties weerspiegelen ons vertrouwen in de levensduur en prestaties van onze producten. Onze grote investering in onderzoek en ontwikkeling garandeert dat de producten die u koopt van de hoogste kwaliteit zijn. Als fabrikant hanteren we strenge kwaliteitscontroleprocedures, beginnend bij de grondstoffen en eindigend bij de productie. Of u nu een particuliere klant, distributeur, inschrijver voor een aanbesteding of zelfs een overheidsinstantie bent: wij bieden een divers scala aan producten die aan uw behoeften voldoen. Onze digitale thermografie van componenten, grondstoffen en andere producten is ruim voldoende om snelle levering te waarborgen. Indien wij de goederen niet binnen de afgesproken termijn kunnen leveren, restitueren wij u 2% tot 5% van het orderbedrag. Om u te helpen onze producten efficiënt te gebruiken, verstrekken wij uitgebreide instructievideo’s. Wij kunnen ook technische training op locatie regelen, afgestemd op uw specifieke wensen, zodat u volledig bekwaam bent om onze producten met vertrouwen en gemak te gebruiken. Kies voor LSJ als u op zoek bent naar producten van hoge kwaliteit en betrouwbaarheid, en een uitstekende klantenservice. digitale thermische beeldvorming 2013. LSJ ontwikkelt, produceert en levert hoogwaardige zoek- en reddingsapparatuur en brandweerapparatuur. LSJ is gecertificeerd volgens ISO9001, CE, ROHS en MSDS en heeft meer dan 30 octrooien toegekend gekregen. Als marktleider kunnen wij zwaar investeren in ons onderzoeks- en ontwerpbureau. In 2024 nam LSJ deel aan vier grote evenementen: INTERSEC in Dubai, Securika 2024, de 18e Defence Services Asia (DSA) en de 3e National Security Asia (NATSEC) in Maleisië, en de NFPA in de Verenigde Staten. Daarnaast hebben we van 14 tot en met 16 januari 2025 een stand op INTERSEC in Dubai. Wij zullen daar onze radarlevensdetector, 3D-radar die muren kan doordringen, gasdetector, audio- en videoluisterapparatuur, stabiliteitsmonitoringapparatuur en thermische camera’s voor brandbestrijding demonstreren. Wij nodigen u uit om onze stand te bezoeken. Met een decennium ervaring in de productie is LSJ gespecialiseerd in het herontwerpen en produceren van nieuwe producten op basis van de gebruiksscenario’s van de klant, waarbij functies voortdurend worden verbeterd en de kosten worden verlaagd. LSJ beschikt ook over uitgebreide kennis op het gebied van stedelijke redding en zoekacties. Zo speelde de LSJ-radiolevensdetector bijvoorbeeld tijdens de aardbeving in Turkije in 2023 een cruciale rol bij de reddingsinspanningen van het Chinese Blue Sky Rescue Team. Kies LSJ om toegang te krijgen tot de nieuwste technologie, ontworpen om aan uw specifieke eisen te voldoen. LSJ is een pionier op het gebied van de ontwikkeling van hoogwaardige uitrusting voor stedelijke zoek- en reddingsoperaties, afgestemd op digitale thermische beeldvorming.
Voorverkoopdienst:
Ons team van specialisten staat u vanaf het begin ter zijde. Wij bieden uitgebreide consultaties aan om u te helpen uw specifieke behoeften te begrijpen en passende oplossingen aan te bieden. Daarnaast verstrekken wij productdemo’s en gedetailleerde technische specificaties, zodat u alle benodigde informatie heeft om een weloverwogen beslissing te nemen.
Verkoopdienst:
Wij garanderen dat het gehele verkoopproces naadloos en efficiënt verloopt. Ons efficiënt bestelsysteem, gecombineerd met strenge kwaliteitscontrolemaatregelen, waarborgt dat uw artikelen op tijd en in perfecte staat bij u aankomen. Wij ondersteunen ook levering op locatie (deur-tot-deur).
Naverkoopdienst:
Na levering van uw goederen eindigt onze samenwerking met u niet. Wij bieden uitgebreide naverkoopondersteuning, zoals hulp bij installatie, gebruikerstraining en onderhouds- en reparatiediensten. Onze klantenservicevertegenwoordigers staan klaar om u te ondersteunen bij eventuele vragen of problemen, zodat u volledig tevreden bent. Na aankoop van uitrusting van LSJ bieden wij een garantie van drie jaar en ontvangt u specifieke naverkoopondersteuning van ons.
Kiezen voor LSJ betekent kiezen voor betrouwbaarheid, kwaliteit en onovertroffen service. Wij streven ernaar om uw partner te zijn op het gebied van stedelijke zoek- en reddingsoperaties en brandbestrijding. Copyright © Beijing LSJ Technology Development Co., Ltd. Alle rechten voorbehouden
-
Privacybeleid
digitale thermische beeldvorming
Het effect van digitale thermografie op de gezondheidszorg.

Verbeterde huisservice met behulp van digitale thermografie.

Digitale thermografie voor industriële toepassingen.
Inzicht in de technologie van digitale thermische beeldvorming.
Why choose LSJ Technology digitale thermische beeldvorming?
Een volledige keten voor het leveren van uitrusting voor stadsonderzoek en -redding
Kwaliteit en punctuele levering waarborgen: de toewijding van LSJ aan klanttevredenheid
Innovatieve hoogwaardige zoek- en reddingsapparatuur fabrikant
Waarom kan LSJ uw primaire fabrikant en leverancier zijn?
Gerelateerde productcategorieën
Niet vinden wat u zoekt?
Vraag nu een offerte aan
Neem contact op met onze consultants voor beschikbare productenNEEM CONTACT OP