\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); } }); })();

Lahat ng Kategorya
Likod

Kaso ng Pag-customize ng Bagong Cabinet para sa Imbakan ng Enerhiya: Hinaharap ng DEEPLINK ang Tatlong Pangunahing Hamon

Kaso ng Pag-customize ng Bagong Cabinet para sa Imbakan ng Enerhiya: Hinaharap ng DEEPLINK ang Tatlong Pangunahing Hamon

Kapag isang bagong kumpanya ng teknolohiyang enerhiya ang lumapit sa DEEPLINK, malinaw ang kanilang pangunahing hinihingi: i-customize ang mga metal na cabinet para sa isang next-generation energy storage system, na sumusunod sa tatlong di-negosyableng pamantayan—"high-precision assembly, superior corrosion resistance, at mass delivery sa loob ng 30 araw". Dapat ang mga cabinet ay kayang magkasya sa masinsin na pag-install ng mga energy storage battery modules habang tumitibay laban sa matinding panlabas na kondisyon ng operasyon. Ang ganitong pangangailangan ay hindi lamang sinusubok ang presyon ng manufacturing processes kundi nagpapataas din ng napakataas na pamantayan para sa kolaborasyon sa buong industriya-chain.

Mga Pangunahing Suliranin sa Proyekto: Tatlong Mahahalagang Hamon sa Manufacturing

Mahigpit na kontrol sa presisyon : Kailangan ng cabinet ng 12 nakalaang mounting position para sa mga battery module, na may tolerance sa diameter ng butas na ±0.1mm at verticalidad ng frame na ≤0.3mm. Ang tradisyonal na proseso ng manufacturing ay madaling maapektuhan ng cumulative errors, na nagdudulot ng pagkabara sa pagmamaneho ng module;

Mataas na pangangailangan sa paglaban sa korosyon : Para sa mga estasyon ng panlabas na imbakan ng enerhiya, kailangang dumaan ang produkto sa 48-oras na salt spray test at matibay sa mga pagbabago ng temperatura mula -30℃ hanggang 60℃ pagkatapos ng surface treatment upang maiwasan ang kalawang sa matagalang paggamit;

Maikli ang oras para sa paghahatid : Kailangan agad ng kliyente ang unang batch na 500 cabinet upang matiyak ang koneksyon ng proyekto sa grid, na may 30 araw lamang mula sa pagkumpleto ng disenyo hanggang sa paghahatid ng tapos na produkto—mas maikli kumpara sa karaniwang production cycle sa industriya.

Nakatuon sa Solusyon: Pagbubuklod ng Proseso + Buong Ugnayan sa Chain upang Lagpasan ang mga Hadlang

1. Pagsusuri bago ang Produksyon (DFM): I-optimize ang istruktura upang Bawasan ang Komplikadong Pagmamanupaktura

Nang matanggap ang kahilingan, agad na isinagawa ng engineering team ng DEEPLINK ang Design for Manufacturability (DFM) na pagsusuri. Sa pamamagitan ng pagsasama ng 3D drawing na ibinigay ng kliyente, ang orihinal na istruktura ng cabinet na isang piraso ay binago sa "modular assembly design"—hinati ito sa tatlong pangunahing bahagi (frame, panel, at mounting bracket). Ang pagbabagong ito ay hindi lamang nabawasan ang mga panganib na kaugnay sa pagmamanupaktura ng komplikadong istruktura kundi pinahusay din ang kahusayan sa pag-assembly. Bukod dito, sa pamamagitan ng paggamit ng mga instrumentong may presyon na sumasakop sa higit sa 80 kakayahan sa pagsusuri, naunang itinatag ng koponan ang mga pamantayan sa inspeksyon ng mahahalagang sukat upang matiyak na ang bawat hakbang sa produksyon ay may malinaw na sukatan ng kalidad.

2. Kombinasyon ng Mga Pangunahing Proseso: Pagbabalanse sa Presyon at Paglaban sa Korosyon

Proseso ng pagputol ng laser : Ginagamit ang mataas na presisyong fiber laser cutting machine para sa mga sheet ng 304 stainless steel, na nakakamit ng katumpakan sa pagputol na ±0.05mm—na lubos na tumutugon sa mga kinakailangan para sa diameter ng butas at kabuuan ng gilid ng sheet. Kumpara sa tradisyonal na plasma cutting, nagbibigay ang proseso ng malinis na pagputol nang walang burr at hindi nagkakaroon ng pagbabago dahil sa init, kaya hindi na kailangan ng karagdagang paggiling at mas napapabilis ang production cycle;

Proseso ng CNC Bending : Ginagamit ang mataas na presisyong CNC press brake kasama ang mga custom-made na bending dies para sa multi-dimensional na paghubog ng frame ng cabinet. Ang real-time angle monitoring system ay kontrolado ang paglihis ng verticalidad ng frame sa loob ng 0.2mm, na nagagarantiya ng eksaktong pagkaka-align ng mga posisyon ng module mounting;

Proseso ng Robotic Welding : Ginagamit ang six-axis robotic welding para sa mga joint ng cabinet. Kumpara sa manu-manong welding, ito ay nagbubunga ng pare-parehong buong sugat sa welding na may 60% na pagbawas sa welding deformation. Ang post-welding non-destructive testing (NDT) ay nagtatanggal ng hindi kumpletong o nawawalang welds, na nagagarantiya ng integridad ng istruktura;

Proseso ng Dual Surface Treatment : Batay sa likas na mahusay na paglaban sa corrosion ng 304 stainless steel, nagsisimula ang proseso sa electropolishing upang alisin ang mga dumi sa ibabaw at mga oxide layer—pinahuhusay ang surface finish habang pinatatatag ang paglaban sa corrosion ng base material. Ang susunod na passivation treatment ay bumubuo ng isang makapal, matatag na anti-corrosion passivation film (alinsunod sa ROHS environmental standards). Ang huling produkto ay walang kalawang o delamination pagkatapos ng 48-oras na salt spray test, na nagpapakita na ito ay lubos na angkop para sa mahigpit na mga outdoor na kapaligiran.

3. Automated Production + Full-Chain Collaboration: Pinaikling Delivery Cycles

Pinapagana ng 6 na awtomatikong linya sa produksyon ng DEEPLINK (80% antas ng automatization), ang buong daloy ng pagmamanupaktura—mula sa pagputol, pagbubukod, at pagwelding hanggang sa paggamot sa ibabaw, perperkusyon, at inspeksyon—ay maayos na isinintegra. Habang nasa produksyon, isang Manufacturing Execution System (MES) ang nagbibigay ng real-time na pagsubaybay sa progreso ng produksyon, habang aktibado ang mga berdeng daanan para sa mahahalagang proseso. Isinasama rin ang mga mapagkukunan ng suplay upang maunahan ang pag-imbak ng hilaw na materyales na stainless steel 304, upang maiwasan ang pagkaantala sa materyales. Sa kabuuan, natapos ang buong proseso ng paggawa ng 500 kabinet sa loob lamang ng 30 araw—2 araw bago ang iskedyul ng kliyente.

Feedback ng Kliyente at Pangmatagalang Pakikipagtulungan

Matapos ang paghahatid, isinagawa ng kliyente ang malawakang pagsubok sa pagtanggap gamit ang isang mapagkakatiwalaang ahensya ng pagsusuri mula sa ikatlong partido. Ang mga tagapagpahiwatig tulad ng katumpakan, paglaban sa korosyon, at lakas ng istraktura ay nasundan ang mga pamantayan nang una pa man, na may 100% na rate ng matagumpay na pag-asa ng module. Sinabi ng direktor ng pagbili ng kumpaniya ng teknolohiyang pangbagong enerhiya: "Ang katumpakan sa proseso at kahusayan sa paghahatid ng DEEPLINK ay lampas sa aming inaasahan. Ang kanilang propesyonal na kakayahan sa paggawa ng komplikadong istraktura at pag-aangkop sa mahihirap na kapaligiran ay nagpapatibay sa aming tiwala para sa mga susunod na pakikipagtulungan sa proyekto." Sa kasalukuyan, ang dalawang panig ay pumirma na ng isang taunang strategic cooperation agreement, na nagtatatag sa DEEPLINK bilang pangunahing tagapagtustos nito para sa mga cabinet ng imbakan ng enerhiya.

Bakit Piliin ang DEEPLINK?

Mga Kakayahang Serbisyo Mula Simula Hanggang Wakas : Naghahatid ng one-stop metal processing solutions—mula sa disenyo ng guhit at pagsubok ng sample hanggang sa masalimuot na produksyon, pagpoporma, at pagpapadala—na pinapawi ang pangangailangan ng mga kliyente na makipag-koordina sa maraming tagapagtustos;

Mga Mahigpit na Sertipikasyon sa Kalidad : May mga opisyales na sertipikasyon kabilang ang ISO9001/14001/45001, SGS, at ROHS. Ang bawat produkto ay dumaan sa mahigit 39 hakbang ng pagsusuri sa kalidad, na nagagarantiya ng buong traceability ng kalidad;

Flexible na Pagtugon sa Customization : Sumusuporta sa OEM/ODM na serbisyo na may koponan para sa after-sales na aktibong 24/7 upang agad na tugunan ang mga teknikal na katanungan. Maaaring i-optimize ang mga solusyon batay sa espesyal na kondisyon ng operasyon;

Automatikasyon + Teknolohiyang Presisyon : Pinagsasama ang 80% automatikasyon kasama ang mga pangunahing proseso tulad ng laser cutting, CNC bending, at robotic welding upang mapanatili ang balanse sa pagitan ng presisyon at kahusayan.

Kung ikaw ay may mga pangangailangan sa customization para sa metal chassis, kabinet, o iba pang pagpoproseso ng metal—maging ito man ay mga hamon sa presisyon, pag-aadjust sa kapaligiran, o mga takdang oras ng paghahatid—ang DEEPLINK ay maaaring magbigay ng mga pasadyang solusyon para sa iyo.

Nakaraan

Solusyon sa Precision Sheet Metal Fabrication: Precision Machining at Zinc Plating ng Carbon Steel Brackets

LAHAT

Wala

Susunod
Mga Inirerekomendang Produkto