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

Tutte le categorie
Indietro

Studio di caso OEM: Involucri personalizzati in lamiera per apparecchiature elettroniche di precisione

Panoramica del progetto: protezione ingegneristica per elettronica avanzata Nel settore elettronico caratterizzato da ritmi serrati e da una concorrenza estremamente agguerrita, proteggere i componenti interni sensibili è altrettanto fondamentale quanto l’hardware stesso. Senza un alloggiamento robusto e progettato con precisione, le schede a circuito stampato (PCB), i microprocessori e le unità di alimentazione risultano esposti a urti fisici, sovraccarico termico e contaminazione ambientale.

Cangzhou Deeplink International Supply Chain Co., Ltd. ha recentemente collaborato con un importante cliente OEM tecnologico per produrre involucri personalizzati in lamiera metallica ad alta precisione destinati alla loro nuova linea di apparecchiature elettroniche avanzate. Questi involucri richiedevano un’elevata accuratezza dimensionale per garantire un montaggio interno perfetto, ottime proprietà di dissipazione termica per un funzionamento continuo e una finitura superficiale impeccabile a polvere per soddisfare rigorosi requisiti estetici di livello consumer. Inoltre, gli involucri dovevano offrire una schermatura EMI/RFI (interferenza elettromagnetica e a radiofrequenza) affidabile, al fine di conformarsi agli standard internazionali di sicurezza elettronica.

Metriche fondamentali di produzione e flusso di processo Sfruttando la nostra esperienza pluriennale (oltre 10 anni) nella produzione su misura e il nostro ampio laboratorio di lavorazione di oltre 5.000 m², il nostro team di ingegneria ha adottato un approccio proattivo: abbiamo effettuato un’approfondita revisione DFM (Design for Manufacturability) molto prima dell’avvio della realizzazione degli stampi. Ottimizzando i raggi di curvatura, standardizzando le dimensioni dei fori e perfezionando l’accumulo delle tolleranze, abbiamo ridotto al minimo i rischi produttivi, ottimizzato il rendimento del materiale e notevolmente abbattuto il costo unitario complessivo.

  • Selezione dei materiali e analisi delle proprietà: Per questo progetto, il cliente richiedeva un equilibrio tra costruzione leggera e protezione rigida. Per il telaio principale abbiamo scelto leghe di alluminio di alta qualità, grazie al loro rapporto ottimale tra peso e resistenza e alla loro eccellente conducibilità termica, fondamentale per il raffreddamento passivo. Per le staffe strutturali interne sono stati utilizzati acciaio al carbonio e lamiere pre-zincate, per garantire integrità strutturale e continuità di messa a terra.
  • Taglio e profilatura laser ad alta velocità: La complessità degli alloggiamenti elettronici risiede spesso nella disposizione precisa delle interfacce dei connettori, delle porte I/O e delle intricate fessure di ventilazione. Queste geometrie complesse sono state lavorate tramite la nostra Taglio laser ed elaborazione di profili divisione. Utilizzando il nostro avanzato equipaggiamento laser a fibra da 12 kW, abbiamo ottenuto bordi privi di bave, minima distorsione termica (zone influenzate dal calore) e una rapida scalabilità dai prototipi iniziali alle produzioni su larga scala.

  • Formatura e stampaggio progressivo: Per le staffe di fissaggio interne standardizzate e gli elementi strutturali ripetitivi, abbiamo trasferito la produzione sulle nostre Stampaggio metallico con morsetto progressivo linee. Questa tecnologia garantisce una produzione ad alta velocità ed economicamente vantaggiosa, mantenendo al contempo un’assoluta coerenza dimensionale su migliaia di unità.

Forming & Progressive Stamping 1.jpg

Trattamento superficiale: planarità rigorosa, schermatura EMI e controllo della finitura Gli alloggiamenti elettronici richiedono più della semplice resistenza strutturale; necessitano di un’estetica esterna durevole e accattivante, coerente con l’identità del marchio. Dopo la fase iniziale Lavorazione personalizzata di lamiere e processi di piegatura, gli involucri sono stati sottoposti a una meticolosa preparazione della superficie.

In primo luogo, sono stati mascherati specifici punti di contatto interni per garantire un contatto pulito metallo-su-metallo, fondamentale per mantenere il collegamento elettrico a terra e una schermatura efficace contro le interferenze elettromagnetiche (EMI). Successivamente, è stato applicato un processo di verniciatura a polvere di alta qualità, con texture fine. Questa finitura offre una resistenza superiore alla corrosione, all'umidità ambientale, ai graffi quotidiani e all'usura.

Fondamentalmente, il nostro team di fabbricazione ha mantenuto un rigoroso controllo della planarità durante le fasi di saldatura, rettifica e polimerizzazione ad alta temperatura. Le distorsioni termiche causate dalla saldatura o dalla polimerizzazione a polvere possono provocare deformazioni dei pannelli, con conseguente disallineamento durante l'assemblaggio finale. Controllando con precisione gli apporti termici, abbiamo garantito che gli involucri finali si assemblassero perfettamente con le PCB interne del cliente, le cornici dei display e i rivestimenti esterni, senza lasciare alcun fastidioso spazio.

Assicurazione della qualità e tracciabilità certificate ISO 9001 La coerenza nella produzione in serie è il pilastro del nostro servizio OEM. A differenza delle comuni pratiche di mercato che potrebbero eseguire soltanto controlli visivi sommari prima dell’imballaggio, Deeplink opera secondo un rigoroso sistema di gestione della qualità certificato ISO 9001. Ogni ciclo produttivo è sottoposto a oltre 39 controlli specifici e documentati per la qualità.

Per questi involucri elettronici sensibili, il nostro protocollo di ispezione rigoroso includeva:

  1. Ispezione dei Materiali in Ingresso: Verifica dei certificati di materiale (MTR) ed esecuzione di controlli dimensionali sulle lamiere di alluminio e acciaio grezze prima di qualsiasi operazione di taglio.
  2. Ispezione del primo articolo (FAI): I campioni iniziali vengono esaminati approfonditamente rispetto ai disegni CAD originali del cliente per verificare tutti gli angoli di piegatura, le posizioni dei fori e le tolleranze, prima che venga autorizzata la produzione in serie.
  3. Monitoraggio in-process: Controlli dimensionali e di planarità vengono effettuati regolarmente durante tutto il ciclo produttivo per prevenire accumuli di scostamenti o problemi legati all’usura degli utensili.
  4. Ispezione finale e imballaggio: Viene effettuata una valutazione approfondita dello spessore del rivestimento a polvere, della coerenza cromatica e dell’aderenza dell’assemblaggio. Infine, gli involucri vengono imballati su misura con materiali antistatici e assorbenti di urti per garantire che arrivino alla linea di assemblaggio del cliente in condizioni perfette.


Domande frequenti

D: Quali processi produttivi utilizza Deeplink per gli involucri elettronici di precisione? R: Cangzhou Deeplink adotta un approccio produttivo completo che combina il taglio al laser a fibra da 12 kW per aperture complesse, piegatrici CNC per piegature precise e stampaggio a matrice progressiva per supporti strutturali ad alto volume. Gli involucri sono completati con un rigoroso controllo della planarità e con un resistente rivestimento a polvere.

D: Come gestisce Deeplink i requisiti di schermatura EMI/RFI negli alloggiamenti in lamiera? A: Durante le fasi di fabbricazione e rifinitura, Deeplink utilizza tecniche di mascheratura precise prima della verniciatura a polvere per garantire che i punti di contatto metallo-metallo rimangano puliti. Ciò assicura un corretto collegamento a terra e una schermatura continua contro interferenze elettromagnetiche/radio (EMI/RFI) per apparecchiature elettroniche sensibili.

D: Quali standard di controllo qualità vengono applicati agli alloggiamenti metallici personalizzati? R: Deeplink opera in conformità a un sistema qualità certificato ISO 9001, eseguendo oltre 39 controlli di qualità per progetto. Questo protocollo completo comprende la verifica dei materiali in entrata, l’ispezione del primo articolo (FAI), il monitoraggio dimensionale in fase di lavorazione e la valutazione finale dello spessore del rivestimento prima della spedizione.

D: Deeplink fornisce supporto ingegneristico per la lavorazione della lamiera? A: Sì, il nostro team di ingegneria effettua un’attenta revisione DFM (Design for Manufacturability) prima della realizzazione degli stampi. Analizziamo i disegni forniti dal cliente per identificare i rischi legati alle tolleranze, ottimizzare l’utilizzo dei materiali e suggerire miglioramenti nei processi al fine di ridurre i costi unitari e contemporaneamente migliorare l'affidabilità del prodotto.

Precedente

Involucri metallici per dispositivi medici: uno studio di caso su acciaio inossidabile 316L a zero difetti

TUTTE

Supporto sensore in acciaio inossidabile personalizzato: uno studio di caso di stampaggio a matrice progressiva, dalla DFM alla produzione di 20.000 pezzi

Successivo
Prodotti consigliati