… kameradaha termalka Kanada. LSJ Te...">
,需要通过父级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);
}
});
})();
Safarada /
Hay! Miyaad ogaan lahaan kamaradaha cayayaanka? Maalinadan, waxaan rabaa inaan idhi kooban Sheeginta Seismic … kamaradaha cayayaanka Kanaada. Teknoolojiga LSJ ayaa leh mid walba siinaya inxigsiyada samada! Kamaradaha cayayaanka tan waxa uu noqon kamarad faahfaahsan oo kale go'aamiya cay, ma aysan daawasho. Waxay noqon kara in Kanada inaad kaaga xushmaan sababtoo ah waayo waxay tahriibaysaa halkan! Kamaradaha sidaas waxay kara inaanu aragno waxyaab oo aan aragelin aanan aragto. Mid fudud, miyaan? Sidaa darteed, halkan waa sida kamera termaliga shaacilka. Kamaradu ka heli doona saaxihii dhulka iyo isku day marqaati oo aan aragno ekran. Tanu wuxuu kuu dhaqaaq inaan ogaano waxyaabaha saaxidha saaxidha, sida dadka ama dhulka. Waxaan isticmaalaynaa kamera termaliga shisheeyo badan kanada! Kamaradaha cayayaanka waxaa loo isticmaalaa badan khamiinta ka mid ah Kanada. Qofka qoolqood, waxaa iigu caawiya in aan raacno tilmaamaha iyo xoolaha, si ay u haysataan caafimaad wanaagsan. Kamaradaha cayayaanka waxaa loo isticmaali karaa in la helo dadka la qalbiyey quruummada, mararka qaarkood marka ay ku jiraan LSJ-C-E Rdar Life Detector wajaha. Waxaa kale loo isticmaalaa in la ogaado ma ayaane guri walba cayayaan, waayo taajeedka. Kanada waa quruum ah iyo kan aan jeclahay, haddaba kalluunka. Adoo muujinaya inaynu halkii cayayaanka ka baxsata guriga, kamaradaha cayayaanka waxaa iigu caawiya in annaga dhowaan. Sidaas daraaddeed, waxaan arkeen oo aan siiwanaagno cayayaanka, meesha aan rabno inay noqdaan. Kamaradaha cayayaanka waxaa iigu oggola in aan guriga noqdo dhow! Kamaradaha cayayaanka ma tahay mid aaban Kanada. Arrimaha leh waxaa ku rely ku ah inay heli karaan dadka u baahan caawimaad amidhigga dab. Waxaa kale loo qabsan yahay poliska inay raadi karaan dadka qariyaya oo doortay inay furti karaan. Kamaradaha cayayaanka waxaa loo isticmaalaa sidoo kale abaaraha saaran ee wixii dhulka ah in lagu baro wixii dhulka ah. Sidaa waxaad ku jireen: Kamaradaha cayayaanka ah waa qalab taajiyad leh oo kara inaanu aragno dunida fudud cusub. Kanada waxa loogu lucka inay jiraan teknoolojiga fiican tan. Haddii mar dambe aad hesho fursad inaad iska tashan kamarad cayayaan, iman u eeg. Waa inaad kor ammaantaan waxaad arkaysaan! Waanu siya nafah ah ugu dhexeeya Qoyska Caabaha iyo Qoyska Dib-u-Dirirka, sidaas darteeda waxaannu siya nafah ah ugu dhexeeya Xisbiyada Amaanaha Caalamiga ah iyo Qoyska Dib-u-Dirirka ee Madaxbannaan. LSJ wuxuu siya tixgelin caadiga ah oo ku saabsan kamera termalka Kanada, inay gudbin lahaan dib-u-dirirka, iyo inay shaqo lahaan qaybta xadgudubka ee qaybaha badan ee sayniska. Kamerada Termalka ee Caabaha: Waxaannu barawday oo waxaannu sameeyay laba nooc kamerada termalka. Waxaanan leeyihiin saddex nooc habka fikrad (resolution): 256x192, 384x288, iyo 640x512. Kameradani wuxuu ku xisaabin karaa jinsaska aan lahayn 2000 daraja Celsius. Tixgelinta Dib-u-Dirirka: Waxaannu siya tixgelin badan oo ku saabsan monitoyrada isku dhafan, kaga dhisaya gaasaha, iyo nidaamka raadinta hadda. Kamerada Termalka ee Sayniska: Sideedaba kamerada termalka ee caabaha, LSJ wuxuu siya kamerada termalka ee lagu isticmaalo in la raado xadgudubka biyaha iyo tirada guryaha, sidaas darteeda waxaannu siya tixgelin ee isku daynta elektiroonika, xadgudubka teermalka hoos ka jirta guriga, iyo tirada nidaamka HVAC. Kamerada Termalka ee Tirada Gudaha (Thermal Scopes) iyo Kamerada Tirada Gudaha ee Laga Eegayo Gudaha (Night Vision Scopes) wuxuu noqon karaa mid caadiga ah ee lagu eego gudaha, iyo waxa ay ku jiraan dadka raadinta. Waa laga isticmaalo oo lagu dhisaa rifle-ka. LSJ wuxuu ku xidhan yahay inuu siyo tixgelin termalka iyo tixgelin dib-u-dirirka oo leh jeerka sare, inuu ku xidhan yahay talada qaybaha badan ee sayniska, inuu ku xidhan yahay aaminimaha iyo ujeedda. LSJ wuxuu siya foomaha sare iyo caadiga ah ee dhibaatada. Waa laga yaabaa in LSJ noqdo taageeradaada ugu horreysa ee qaybta dib-u-dirirka ee madaxbannaan. Kuwa siyaasadda ka soo baxday in ay ugu yar yahay, LSJ wuxuu ku jira dhexdooda oo ku sameeyaa, ku dhaqaneeysa, iyo ku siiyaa qalabaha caadi ah ee ku saabsan daloolka iyo qalabaha ku saabsan dhaqanka. LSJ wuxuu la siiyey xisaabta ISO9001, CE iyo ROHS. Waxaana leh iyagoo leh 30 qof kasta oo ka mid ah qalabaha. Waxaannu ku dhacaynaynaa qalabaha gaarka ah ee ku saabsan raadinta iyo dib u qoridda sida qofka ugu horreeya. Sano 2024, LSJ wuxuu isku dayeyey ahaan ardeyda afartaa: INTERSEC ee Dubai, Securika 2024, iyo Dhaqanka 18aad ee Aasaasaha Dalka (DSA) iyo Dhaqanka 3aad ee Aasaasaha Dalka (NATSEC) ee Maleeziya, iyo NFPA ee Maraykanka. Waxaana leh qalab weyn oo ku saabsan INTERSEC ee Dubai taasoo ku jira 14-16 Jaanuwo 2025. Kana markee, waxaannu ku muujiyneynaa qalabaha radar ee ku saabsan nolosha, radar 3D ee ku siin karaa guriyada, qalabaha ku saabsan gas, qalabaha ku saabsan macluumaadka iyo warqadka, qalabaha ku saabsan ku hortaga, iyo qalabaha thermal ee ku saabsan dhaqanka. Waxaannu ku soo dhowaannaynaa inaad noqotid qalabaha. Kuwa siyaasadda ka soo baxday in ay ugu yar yahay, LSJ wuxuu ku jira dhexdooda oo ku saabsan qalabaha cusub ee ku saabsan habka loo isticmaalaayo, oo ku dhaqaneeysa farsamada, iyo ku yar yahay qalabaha. LSJ wuxuu leh tijaabo badan oo ku saabsan daloolka iyo raadinta magaalada. Sano 2023, markii dhaqanka Turkiya, qalabaha radar ee ku saabsan nolosha ee LSJ wuxuu ku jiray qalab weyn oo ku saabsan raadinta timaha Cina Blue Sky Rescue Team. Tixgel LSJ si aad u hesho farsamada caadi ah iyo ku saabsan dhaqanka ee ku saabsan habka aad u baahan tahay. Kuwa LSJ waxaana ku jira xubnaha ugu horeysa ee ku saabsan qorshooyinka ugu weyn ee dhaqso ah ee la sameeyay inay kala duwan yihiin qorshooyinka ugu sareysa ee dunida. Adeegga ka hor inta la iibsanayo: Waxaannu ku jirnaa inaanu kaga caawino marka hore. Waxaannu sida caadiga ah ugu caawinaa inaad ogaataan reqirements-kaaga iyo ugu caawinaa fikradaha la xidhiidha. Waxaannu ugu caawinaa tafsiiraadaha teknikaal ee dheerka iyo taqreerada qorshooyinka si aad ugu fahmato inaad doorto. Adeegga iibka: Waxaannu hubi doonaa in adeegga iibka ay noqoto wanaagsan iyo xasiloon. Waxaannu hubi doonaa in qorshooyinku aad iibtaa ay ku soo baxaan markeydii, oo waxaannu ku xidhiidhaa qaabka iibka wanaagsan iyo xasiloonka qorshooyinka. Waxaannu ku xidhiidhaa adeegga soo bixinta ilaa guriga. Adeegga ka dambe inta la iibsanayo: Marka qorshooyinka aad iibtaa, xiriirkaaga kuwa LSJ ma noqon doona dhammaad. Adeegga aanu ku siiyneyo ka dambe inta la iibsanayo waxa uu leeyahay caawinaa ku saabsan soo bixinta, tacliinta isticmaalaha iyo xasiloonka. Timadda caawinaa cusubka ayaa ku jira inay kaga caawinaan qaybta aad u baahan yahay ama waxa laga yaabaa inaad helto. Waxaannu hubi doonaa inaad noqoto wanaagsan. Marka aad qorshooyinka iibtaa kuwa LSJ, waxaannu siiyneyo waraamarka saddex sano. Waa karaan inaad helto caawinaa ka dambe inta la iibsanayo. Inaad doorto LSJ waa inaad doorto inaad doorto xaqiiqda, adeegga iyo caawinaa aan la jabin karin. Waxaannu ku faraxnaa inaanu noqno shakhsiyaadka aad ugu jecelaysa ee ku saabsan qorshooyinka dhaqso ah iyo ku saabsan dhaqsooyinka dhaqso ah. Kuwa LSJ waxaannu ogaanaynaa muhiimadda ku saabsan soo bandhigidda alaabta caan ah iyo xiriirka qof kasta oo ku jira. Sidaas daraaddeed, waxaannu siiya garasho ee saddex maalmood ama shan sano. Garashadu waxa ay ku tusaysaa ammaanka aanu leenahay kuwa alaabta aad soo bixi doontaa inay noqon doonaan dhaqameed iyo shaqsiyadooda. In-vestmentyada weyn ee aanu sameeynaynaa kuwa ujeedada iyo horumarka (R&D) waxa ay ku tusaysaa in alaabta aad soo bixi doontaa waa ka yar marka laga eego ceebta ugu yar. Sida manufacturer, waxaannu leenahay xaqiijinta caan ah ee xaqiijinta ceebta, ka dib marka laga eego ceebta ugu dambeysa ee horumar. Haddii aad ahaataa qof kasta oo ku jira, distributor, qof kasta oo ku jira tender, ama haddii aad ahaataa qof kasta oo ku jira dowlad, waxaannu leenahay tiro badan oo alaabta oo ku jira xaqiijinta aad u baahan yihiin. Kamera termalka LSJ ee Canada ee alaabta, ceebta, iyo alaabta kale waa la yiraahdo in ay si degdeg ah ugu soo bixi doonaan. Waxaannu si degdeg ah ugu soo bixi doonnaa 2% ilaa 5% ee meelaha aad soo bixi doontaa haddii aanu ugu soo bixi karin alaabta kuwa laga eego waqtiga la soo bixiyey. Si aad ugu fahmato alaabta aad soo bixi doontaa si degdeg ah, waxaannu siiya taariikhda guud ee foomka. Waxaannu isku dayn karnaa taalabta teknika ee ku jira goobta, oo la xusuusayaa xaqiijinta aad u baahan yihiin, si aad ugu fahmato in aad alaabta aad soo bixi doontaa si degdeg ah iyo si fiican. Diiwaan gel LSJ si aad ugu soo bixi doontaan alaabta caan ah, oo la xusuusayaa xaqiijinta qof kasta oo ku jira. Hawladda © Beijing LSJ Technology Development Co., Ltd. Gobollada Ka Helsan
-
Siyasetka Fararida
kamera termaliga Kanada
Takniyadda Kamera Termaliga Kanada

Kamera Termaliga Qaytaanada Kanada

Fiiri Cadhada leh adka Kamera Termaliga Kanada

Isticmaalka Kamera Termaliga Kanada
Why choose LSJ Technology kamera termaliga Kanada?
Qoraalka Xirfadda iyo Dhibaatooyinka Badbaadaha Ururka
Qorshadaha Dhibaato iyo Ballaantooda Kaarkiidka Dadweynaha
Maxay LSJ Ku Ay Dhibaato Adagga oo Ka Mid ah Iyo Furaadka?
Ku qeybka Cadaabta iyo Dibadda Lagu Sameyay: Xiriirka LSJ ka mid ah Maxkamadda Xiriirka Dadka
Qaataarka fudud ee dhammaad
Ma ogolaanto macluumaadkooda?
Codso Qiimo Soo Jeedin Hadda
Waxaa lagu soo gaarayaa shabakadda xiriirada kuwa ugu yaraan.QAB QORSHIYO