. VyperIR—Th...">
,需要通过父级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);
}
});
})();
Šiuolaikiniame pasaulyje mus supa technologijos. Viena įspūdinga technologija, kuri tampa vis populiaresne, yra nešiojamoji IR kamera . VyperIR – ateities nešiojamoji IR kamera LSJ Technology gamina nuostabią IR kamerą, kuri puikiai tinka pasaulio tyrinėjimui. Tai, ką galite padaryti su nešiojamuoju IR kameros, yra nuostabu. Šis prietaisas veikia naudodamas infraraudonųjų spindulių technologiją ir užfiksuoja vaizdus, kurių žmogaus akis paprasčiausiai nemato. Jutiklis fiksuoja šilumos signalus, o IR kamera geba sukurti sudėtingą vaizdą, kuris atskleidžia įžvalgas apie tai, kas paslėpta už mūsų aplink esančių sienų. Tai galingas įrankis, leidžiantis matyti tai, ko mūsų akys negali pamatyti, ir atrasti paslėptus informacijos pasaulius. Nuostabu tai, kad paslėpti detalius tapo matomi rankiniame IR kameros vaizde. Kamera naudoja infraraudonųjų spindulių technologiją paviršiaus temperatūroms nustatyti ir jas rodyti lengvai skaitomoje formoje. Kai IR kamera nukreipiama į žmogų, matote šilumos gradaciją per visą kūną, kuri rodo sritis su žemesnėmis ar aukštesnėmis temperatūromis. Tai gali padėti daugelyje situacijų – nuo pradingusio gyvūno paieškos tamsoje iki namų apsaugos nuo nutekėjimų ar potvynių. Rankinės IR kameros galia yra dar viena labai praktiška savybė. Šis įrankis tinka bet kuriai situacijai, nepriklausomai nuo to, ar tai būtų namų projektai, ar naudojimas lauke. Ar tai tikrinate namą, fotografuojate laukinę gamtą miške ar tyrinėjate nakties dangų, nešiojamas dizainas leidžia lengvai pasiimti IR kamerą kartu bet kur keliaujant. Lengvai nešiojamas dizainas tinka visiems, nepriklausomai nuo amžiaus ar techninio lygio. Labai įdomu atverti kūrybiškumo galimybes su nešiojamu IR kameros. Šis įrankis leidžia tyrinėti infraraudonųjų spindulių matomą spektrą, užfiksuojant paveikslėlius su egzotišku, spalvingu atspalviu, kurie kitaip būtų nematomi pliku akimi. Galėdami keisti nustatymus ir derinti savo kadrus, galėsite kurti dar kūrybiškesnius ir įspūdingesnius vaizdus, kurie tikrai perteiks momentą. Ar jūs esate fotografas ir tiesiog mėgstate eksperimentuoti, ar ne – infraraudonoji fotografija yra labai smagu daryti; efektai, kuriuos galima sukurti, suteikia visiškai kitokį pasaulio suvokimą bei milžinišką erdvę kūrybiškumui ir maloniai praleistam laikui, todėl įsitikinkite, kad JŪSŲSMAGU, ir tiesiog laikykite pirštą ant GAUBTO mygtuko. Tikrai atrodo stebuklinga žiūrėti į pasaulį visiškai kitokiu žvilgsniu – naudojant nešiojamąjį IR kamerą. Su šiuo įrenginiu galite patirti aplinką nauju būdu, pastebėti paslėptus dalykus ir atskleisti paslaptis, kurios anksčiau galėjo praslysti nepastebėtos. Išorės tyrinėtojo serija Ar jums rūpi augalų ir laukinės gamtos tyrimas, ar tiesiog norite iš arčiau pažvelgti į pasaulį, šis nešiojamasis portalas į laukinę gamtą ir mikroskopinį pasaulį suteikia jums nuotrauką! Šis sumanus mažas prietaisas paskatins vaikų smalsumą, skatins jų vaizduotę ir įkvėps toliau augti bei mokytis. Mes teikiame paslaugas gaisrų ir avarijų valdymo departamentams, visuomenės saugos tarnyboms, miestų paieškos ir gelbėjimo komandoms bei kitiems kariniams daliniams. Rankinės šiluminės kameros suteikia naujausią įrangą gaisrams gesinti, atlikti paiešką ir gelbėjimą bei dirbti pavojingose aplinkose įvairiose pramonės šakose. Gaisrų gesinimo šiluminės kameros: Įmonė tyrinėjo ir sukūrė du šiluminių kamerų tipus, turinčius tris skiriamosios gebos parinktis: 256×192, 384×288 ir 640×512. Šios kameros gali matuoti temperatūras iki 2000 °C. Paieškos ir gelbėjimo įranga: Mūsų asortimentas apima radarinius gyvybės detektorius, 3D radarus per sienas, stabilumo stebėjimo sistemas, judėjimo stebėjimo sistemas, taip pat dujų detektorius. Pramoninės šiluminės kameros: LSJ teikia šilumines kameras ne tik gaisrų gesinimui, bet taip pat pastatų tyrimams, elektronikos remontui, vandens nuotėkų aptikimui ir šildymo, vėdinimo ir oro kondicionavimo (HVAC) sistemų tikrinimui. Šiluminiai žvalgybos prietaisai ir naktinio matymo žiūronai: Mūsų naktinio matymo žiūronai puikiai tinka matomumui naktį ir yra labai populiarūs tarp medžiotojų. Juos lengva pritvirtinti prie šautuvų. LSJ įsipareigojo tiekti aukščiausios kokybės šiluminio vaizdavimo ir gelbėjimo įrangą, kad būtų patenkintos įvairių pramonės šakų reikmės, padidinant mūsų klientų saugą ir veiksmingumą. LSJ siūlo patikimiausius ir pažangiausius sprendimus. Pasitikėkite LSJ kaip savo pagrindiniu partneriu miestų paieškos ir gelbėjimo veikloje. LSJ yra rinkos lyderis aukščiausios kokybės nešiojamųjų infraraudonųjų spindulių (IR) kamerų gamyboje, atitinkančių tarptautinius standartus.
Išankstinės pardavimo paslaugos:
Mes esame čia, kad padėtume jums nuo pat pradžių. Teikiame išsamias konsultacijas, padedančias suprasti jūsų konkrečius poreikius, ir pateikiame pritaikytas sprendimo galimybes. Siekdami padėti jums priimti informuotą sprendimą, pateikiame technines specifikacijas bei produktų demonstracijas.
Pardavimo paslaugos:
Užtikriname, kad visasis pardavimo procesas būtų sklandus ir efektyvus. Mūsų efektyvios nešiojamosios IR kameros kartu su griežta kokybės kontrolės sistema užtikrina, kad produktai būtų pristatyti laiku ir puikios kokybės. Taip pat teikiame „durų iki durų“ pristatymo paslaugą.
Po pardavimo paslaugos:
Mūsų ryšys su jumis nesibaigia tik gavus mūsų produktus. Teikiame įvairias po pardavimo paslaugas, įskaitant montavimo instrukcijas, vartotojų apmokymą bei techninės priežiūros paslaugas. Turime specializuotą klientų aptarnavimo komandą, kuri visada yra pasirengusi padėti. Ji padės jums išspręsti bet kokius klausimus ar problemas ir užtikrins jūsų patenkinamumą. Įsigijus įrangą iš LSJ, suteikiame tris metus trunkančią garantiją, o taip pat galėsite pasinaudoti mūsų specializuotomis po pardavimo paslaugomis.
Pasirinkdami LSJ, pasirenkate kokybę, patikimumą ir nepasiekiamą palaikymą. Laukiame galimybės tapti jūsų partneriais miestų paieškos ir gelbėjimo bei gaisrininkų veikloje. „LSJ“ mes vertiname rankinės šilumos vaizdo kameros svarbą ir siekiame pateikti savo klientams aukščiausios kokybės produktus bei nepriekaištingą aptarnavimą. Todėl siūlome vienerių ar penkerių metų garantijas. Tai rodo mūsų pasitikėjimą savo produktų kokybe ir veikimu. Daug lėšų skiriame tyrimams ir plėtrai, kad užtikrintume, jog mūsų produktai atitinka aukščiausius standartus. Kaip gamintojai taikome griežtus kokybės kontrolės reikalavimus nuo pat gamybos pradžios iki galutinio produkto. Siūlome įvairių produktų asortimentą, kuris tenkina visų vartotojų poreikius. Mūsų komponentų, žaliavų ir kitų prekių atsargos yra pakankamai didelės, kad užtikrintume laiku vykdomą pristatymą. Jei negalėsime pristatyti prekių laiku, grąžinsime jums iki 5 % sumos. Kad padėtume jums naudoti mūsų produktus efektyviai, pateikiame išsamias mokomąsias vaizdo medžiagas. Taip pat siūlome techninį mokymą vietose, kuris yra specialiai pritaikytas jūsų poreikiams, kad galėtumėte lengvai ir efektyviai naudoti mūsų produktus. Pasirinkite „LSJ“ – kokybiškus, patikimus produktus ir puikų klientų aptarnavimą. Nuo 2013 m. įmonė LSJ kuria, tiekia ir parduoda didelės našumo paieškos ir gelbėjimo bei rankinės šiluminės kamerų įrangą. Įmonei LSJ suteikti ISO9001, CE ir ROHS sertifikatai. Be to, ji turi daugiau nei 30 patentų. Kaip lyderė šioje srityje, mes galime reikšmingai investuoti į savo tyrimų ir kūrimo skyrių. 2024 m. įmonė LSJ dalyvavo keturiuose pagrindiniuose parodų renginiuose: Dubaje vykusioje parodoje INTERSEC, 2024 m. parodoje Securika, 18-ajame Gynybos paslaugų Azijoje (DSA) renginyje ir 3-iojoje Nacionalinės saugos Azijoje (NATSEC) parodoje Malaizijoje bei JAV vykusioje NFPA parodoje. 2025 m. planuojame dalyvauti Dubaje vyksiančioje parodoje INTERSEC, kuri vyks sausio 14–16 dienomis. Mūsų stende bus demonstruojamos šiluminės gaisro gesinimo kameros, taip pat garso ir vaizdo stebėjimo įranga, dujų aptikimo sistemos, 3D radarai bei kitos prekės. Apsilankykite mūsų stende. Įmonė LSJ turi daugiau nei 11 metų patirties gamindama šią įrangą. Ji specializuojasi kurdama ir gaminama naujus produktus, paremtus klientų naudojimo scenarijais. Be to, įmonė nuolat tobulina funkcionalumą ir sumažina gamybos kaštus. Įmonė LSJ taip pat turi išplėstą patirtį miestų gelbėjimo ir paieškos srityje. Pavyzdžiui, 2023 m. Turkijos žemės drebėjimo metu LSJ gyvybės aptikimo radaras buvo vienu iš pagrindinių įrankių, padėjusių Kinijos „Blue Sky Rescue Team“ gelbėjimo komandai. Pasirinkite LSJ – aukštos kokybės, patikimas sprendimų paslaugas, pritaikytas jūsų poreikiams. Copyright © Beijing LSJ Technology Development Co., Ltd. Visos teisės saugomos
-
Privatumo politika
rankinė IR kamera
Kaip rankinis IR kamera atskleidžia paslėptus dalykus

Rankinės IR kameros universalumas

Kūrybiškumo atskleidimas su rankine IR kamera

Pasaulio matymas visiškai nauju būdu su rankine IR kamera
Why choose LSJ Technology rankinė IR kamera?
Visiškas miesto paieškos ir gelbėjimo įrangos tiekimo grandinės
Kodėl LSJ gali būti jūsų pagrindinis gamintojas ir tiekėjas?
Įsitikinimas kokybe ir laiku pateikimu: LSJ įsipareigojimas tenkinti klientų poreikius
Inovacinis aukštos našumos paieškos ir gelbėjimo įrangos gamintojas
Susijusios prekių kategorijos
Nerandate to, ko ieškote?
Prašyti pasiūlymo dabar
Susisiekite su mūsų konsultantais dėl papildomų prekių.Susisiekite