\n\n

,需要通过父级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 || nodeText || ''); if (phoneReg.test(str) && numUseReg.test(str)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _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; if (phoneReg.test(fatherText) && numUseReg.test(fatherText)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { phone: nodeText, }, }, '*'); _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)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: 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')) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: content, }, }, '*'); _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)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: 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)) { window.postMessage({ type: 'SHOPS_CONTACT_TRACK', data: { email: 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); } }); })();

Barcha toifalar
Orqaga

Deeplink nemis oziq-ovqat qadoqlash uskunalari ishlab chiqaruvchisi uchun oyiga 50 000 ta yuqori aniqlikdagi 304 martalik po'latdan qilingan chokli ulagichlar yetkazib berdi

Loyihaning fon va qiyinliklari

Avtomatlashtirilgan oziq-ovqat qadoqlash uskunalari ishlab chiqaruvchi yetakchi nemis kompaniyasi Deeplinkga urg'ali sotib olish talabi bilan murojaat qildi. Kompaniya o'zining yuqori tezlikdagi oziq-ovqat sig'ish va to'ldirish apparatlari uchun muhim tarkibiy qismlar bo'lgan 304 martaba qilinadigan pishloqli po'lat ulagichlarini — avtomatlashtirilgan qadoqlash liniyasi modullari bilan silliq montajni ta'minlash uchun kerak bo'lgan muhim tarkibiy qismlar — ishlab chiqarish qobiliyatiga ega ishonchli xitoylik etkazib beruvchini talab qildi.

Loyiha quyidagi uchta bevosita shartni o'z ichiga olgan edi:

  • Yuqori hajm: har oy 50 000 dona, har bir partiyada barqaror sifat bilan.
  • Aniq tolereansiya: barcha mos keladigan sirtlarda ±0,05 mm, bu avtomatlashtirilgan qadoqlash liniyasi modullari bilan silliq montajni ta'minlaydi.
  • Oziq-ovqat sifatida ishlatilishga moslik: Barcha detallar sertifikatlangan SUS304 alyuminiy qotishmasidan, sirt kontaminatsiyasi va chetlarning burunlari (burrs) bo'lmasdan ishlab chiqarilishi kerak; bu oziq-ovqat bilan bevosita aloqada bo'lmagan muhitlar uchun mos keladi.

Nemis xaridori avval boshqa ikkita ta'minotchi bilan sinov o'tkazgan. Ulardan biri birinchi 3000 ta detaldan keyin aniqlikni saqlay olmagan; ikkinchisi esa mijozning auditlari paytida mikrokontaminatsiya xavfi tug'dirgan, sirtning noaniq sifati muammolarga sabab bo'lgan.

"Biz ±0,05 mm ni nishon sifatida emas, balki asos sifatida qabul qiladigan hamkor izlayotgan edik. Deeplink bu masalani birinchi kunidan boshlab tushungan." — Nemis oziq-ovqat qadoqlash uskunalari OEM kompaniyasining loyiha rahbari

metal stamping parts1.png

Deeplinkning maxsus metall kesish usuli

Deeplinkda biz ushbu loyihaga oddiy kesish buyurtmasi sifatida emas, balki to'liq zanjirli aniq ishlab chiqarish qiyinligi sifatida yondashdik. Muhandislik jamoamiz birinchi vositani kesishdan oldin to'liq DFM (Ishlab chiqarishga mo'ljallangan dizayn) tahlilini o'tkazdi va muvaffaqiyatni belgilaydigan uchta muhim nazorat nuqtasini aniqladi.

Birinchi bosqich: Progressiv kalıp dizayni va material tanlovi

Ushbu ulagichning geometriyasi bir nechta egilishlar, chiqarilgan (ochilgan) qism va ikkita aniq o'lchovli joylashuv teshigiga ega edi. Bizning uskunalar muhandislari quyidagilarga moslashtirilgan 9-bosqichli progressiv kalıp 304 martalangan po'latning ishda qattiqroq bo'lish xususiyatlariga moslashtirilgan:

  • Material:JIS G4304 SUS304 martalangan po'latli g'altak, qalinligi 1,2 mm, materialning to'liq izlanuvchanlik sertifikatlari bilan Baosteel tomonidan sertifikatlangan zavoddan yetkazib berilgan.
  • Shablon materiali: SKD11 asbob po'lati TiCN qoplam bilan qoplangan bo'lib, martalangan po'latda kalıbning yashash muddati 2 million urishdan ortiqga yetadi.
  • Materialning boshqa tomonga og'ilishini kompensatsiya qilish: FEA simulyatsiyasi orqali hisoblangan ortiqcha egilish burchaklari, qaytish og'ishini 0,02 mm dan kam darajada kamaytiradi — bu ±0,05 mm lik aniqlik doirasiga juda yaxshi mos keladi.

2-bosqich: Aniq tokchilik ishlari

Ishlab chiqarish quyidagi uskunada amalga oshirildi: yuqori tezlikdagi progressiv tokchilik pressi (200 ton quvvat, 60–120 SPM sozlanadigan) va quyidagi jarayon nazorati parametrlari:

Nazorat nuqtasi Usul Texnik xarakteristika
O'lchov aniqligi Chiziqli laserli mikrometr Haqiqiy vaqt rejimida nazorat, ±0,02 mm aniqlikda
Akklay qoldiqsiz kesish nazorati Aniq silliqlangan matritsa bo'shlig'i (material qalinligining 6% i) Chetlarning balandligi ≤ 0,03 mm
Sirt sifati Yopiq doirali moylash tizimi Qilichlanish yo'q, bir xil sirt sifati
Partiyani kuzatish Har bir detaldagi laser bilan belgilangan partiya kodlari Materialdan yetkazib berishgacha bo'lgan to'liq kuzatuvchanlik

9 ta bosqichli progressiv matritsa birlashtirilgan bo'shatish → tirnoq qilish → shakllantirish → tangalash → kesish bir yagona press urilish siklida, daqiqasiga 45–55 dona mahsulot ishlab chiqarish quvvatini ta'minlaydi. Oylik 50 000 dona hajmi bu press quvvatining faqat ~20% ini tashkil qiladi va hajmni oshirish uchun yetarli imkoniyat qoladi

metal stamping2.jpg3-bosqich: Jarayon ichidagi sifat tekshiruvi

DeepLink’ning 39 nuqtali sifat tekshiruv tizimi uch bosqichda joriy etildi:

  1. Birinchi namuna tekshiruvi (FAI): Barcha funksional jihatdan muhim o'lchamlarning ko'rsatkichlari bo'yicha 2D chizmaga mos keluvchi to'liq o'lchov hisobi, shu jumladan barcha funksional jihatdan muhim o'lchamlarning CMM orqali tekshirilishi. Istisno qilinadigan o'lchamlar 60% dan ortiq bo'lsa, avtomatik ravishda uskuna sozlanadi.
  2. Jarayon ichidagi namunaviy tekshiruv: Har 500 dona mahsulotdan keyin 10 ta namuna olinadi va ularga "o'tkaziladi / o'tkazilmaydi" o'lchov asboblari bilan tekshiruv hamda sirtning notekisligi o'lchovlari (Ra ≤ 0,8 μm talab qilinadi, amalda Ra 0,4–0,6 μm erishilgan).
  3. Paketchalashdan oldin yakuniy audit: ISO 2859-1 standartiga muvofiq AQL 1,0, II darajali namunalash, o'lchamlar, 10× kattalashtirishda burrlarni tekshirish va sirtning vizual sifatini tekshirishni o'z ichiga oladi.

4-bosqich: Oziq-ovqat sanoati standartlariga mos ravishda tozalash va qadoqlash

Oziq-ovqat sanoatida qadoqlash uskunalari uchun oxirgi foydalanishni hisobga olgan holda, Deeplink odatdagi sanoat qadoqlashdan tashqari qoʻshimcha post-chop etish protokollarini joriy etdi:

  • Ultratovushli yogʻni olib tashlash: Chop etish yogʻi qoldiqlarini oziq-ovqat sanoati tozalik standartlariga mos ravishda olib tashlaydi.
  • Passivatsiya qilish davolashi: 304 martta chidamli poʻlatning tabiiy korroziyaga chidamliligini oshiradi; bu oziq-ovqat zavodlaridagi yuvish muhitlari uchun juda muhim.
  • Zarralarga qarshi qadoqlash: Detallar namlikni yoʻqotuvchi vosita bilan birga pelepolietilen (PE) qoplamalarga zich paketlanadi, soʻngra kuchaytirilgan eksport qutilariga joylanadi. Har bir quti raqamli tekshiruv hisobotiga ulanadigan noyob QR-kodga ega.

Loyiha natijalari

Metrik Maqsad Erkaklar tomonidan amalga oshirilgan
Oylik chiqish 50 000 dona 50 000–55 000 dona
O'lchov toleransiya ±0.05mm Cpk = 1,67 (≥99,99% spetsifikatsiyaga mos)
Dastlabki natija ≥ 98% 99.2%
Vaqtida yetkazib berish 100% 100% (6 ketma-ket oy)
Mijozning audit natijasi Muvofaqiyatli o'tdi Hech qanday mos kelmasliklarsiz muvaffaqiyatli o'tdi

Olti oylik uzluksiz ishlab chiqarishdan so'ng nemis mijoz buyurtmasini ikkita qo'shimcha ulagich variantlari bilan kengaytirdi va uchta SKU bo'yicha jami oylik hajm 120 000 donaga yetdi.

stamping metal4.jpg

Global oziq-ovqat uskunalari OEM-lari nima uchun metall shakllantirish qismlari uchun Deeplinkni tanlaydi

Ushbu loyiha Deeplinkning asosiy qiymat taklifini namoyish etadi: reglamentlangan sohalarda yuqori aniqlikdagi alyuminiyli po'latdan shakllantirish reglamentlangan sohalarda:

  • ISO 9001:2015 sertifikati bilan tasdiqlangan to'liq jarayonni kuzatish imkonini beruvchi ishlab chiqarish.
  • O'z ichiga olgan progresiv kalıp dizayni va ishlab chiqarish — tashqi subkontaktorlar orqali kalıp ishlari yo'q, tezroq yetkazib berish muddatlari, qattiqroq nazorat.
  • avtomatlashish darajasi — 80% 6 ta ishlab chiqarish liniyasi bo'ylab bir xil sifatni keng ko'lamda ta'minlaydi.
  • Birinchi kundan boshlab DFM hamkorligi: bizning muhandislarimiz sizning tilangizni biladi va ishlab chiqarish boshlanishidan oldin ishlab chiqarishga moslashtirilgan loyihalarni optimallashtiradi.
  • Oziq-ovqat sanoati sohasidagi tajriba: biz oziq-ovqat sifatidagi metall detallarga qo'yiladigan maxsus talablarni — materiallarning sertifikatlanishidan to kontaminatsiyasiz qadoqlashgacha — tushunamiz.

Sizning maxsus metall kesish loyihangiz uchun narx so'rang

Agar sizga kerak bo'lsa 304 martta chelakli po'lat ulagichlar ,oziq-ovqat sifatidagi kesilgan komponentlar , yoki yuqori aniqlikdagi metall detallar har qanday sohada Deeplink yetuklik va yetkazib berish qobiliyatiga ega.

Bugun muhandislik jamoamiz bilan bog'laning →

  • Elektron pochta: [email protected]
  • Telefon/WhatsApp: +86-18617745678
  • Manzil: Xitoy, Xebey provinsiyasi, Cangzhou — tez xalqaro yetkazib berish orqali dunyo bo'ylab OEMlar xizmatini ko'rsatadi.

Cangzhou Deeplink Xalqaro Yetkazib Berish Zanjiri haqida: Deeplink — maxsus metal varaq ishlab chiqarish, aniq metall bosib chiqarish, lazer kesish, CNC ishlov berish, chuqur tortish va payvandlash hamda rivnyutlash sohasida mutaxassislashgan Xitoydagi OEM ishlab chiqaruvchisidir. 10 yildan ortiq tajriba va 5000 kvadrat metrdan ortiq ishlab chiqarish maydoniga ega bo'lib, avtomobilsozlik, kosmonavtika, oziq-ovqat uskunalari, yangi energiya va sanoat avtomatlashtirish kabi dunyoning yuqori darajadagi ishlab chiqarish sohalari uchun tez, aniq va ishonchli metall detallarni yetkazib beradi.

Oldingi

Elektr transport vositalari akkumulyator komponentlarini ishlab chiqarishni optimallashtirish: Aniq to'g'rilash usuli bo'yicha holat o'rganish

HAMMASI

DEEPLINK taqdim etgan maxsus metall qayta ishlash amaliyoti: maxsus shaklli nafis chinni uchun aniq shakllantirish qiyinchiliklarini yengish

Keyingisi
Tavsiya etilgan mahsulotlar