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

Alle categorieën
Terug

Productie van hoogprecieze op maat gemaakte behuizingen van plaatmetaal voor elektronische apparatuur

Productie van hoogprecieze op maat gemaakte behuizingen van plaatmetaal voor elektronische apparatuur

DEEL 1: PROJECTOVERZICHT EN SECTORVRAAG

In de snel evoluerende sectoren van industriële automatisering, telecommunicatie en high-tech elektronica is de structurele integriteit van behuizingen voor apparatuur niet langer een naderhand overwogen aspect—het is een cruciaal onderdeel van de productbetrouwbaarheid. Het in deze casestudy gepresenteerde product is een op maat gemaakte behuizingsframe van plaatstaal. Het is zorgvuldig ontworpen om gevoelige elektronische componenten, PC-behuizingselementen en voedingseenheden te huisvesten.

Voor dit specifieke project vereiste de klant een zware industriële computerbehuizing die bestand is tegen ruwe bedrijfsomstandigheden, terwijl exacte afmetingstoleranties voor de interne moederbordmontage worden gehandhaafd. Bovendien moest het product een robuuste structurele sterkte, uitstekende warmteafvoerkanalen en een vlekkeloos esthetisch oppervlak bieden om aan strenge internationale industriële normen te voldoen.

Custom black powder-coated sheet metal enclosure.jpg

DEEL 2: UITGEBREID PRODUCTIEPROCES EN TECHNOLOGIE

Om ruw koolstofstaal te transformeren naar dit complexe, driedimensionale OEM-buismetaal elektronisch behuizing, hebben onze engineering- en productieteams een streng gecontroleerde, meertalige productiewerkstroom geïmplementeerd.

Fase 1: Materiaalkeuze en DFM-analyse Voordat de productie begon, voerden onze engineers een grondige Design for Manufacturability (DFM)-analyse uit. We kozen hoogwaardig koudgewalst koolstofstaal (SPCC) vanwege zijn uitstekende vormbaarheid en structurele stijfheid. Door de vlakpatroonindeling te optimaliseren, minimaliseerden we materiaalverspilling en voorspelden we mogelijke spanningspunten tijdens het vormproces.

Fase 2: Hoogprecisie-lasersnijden De productiereis begint met onze geavanceerde aangepaste laser Snijdiensten we hebben hoogvermogensvezellaserapparaten gebruikt om de oorspronkelijke vlakke platen te snijden. Deze cruciale stap zorgt ervoor dat alle ingewikkelde uitsparingen, kleine bevestigingsgaten en complexe ventilatieopeningen met micronnauwkeurigheid worden verwerkt. Het bereiken van gladde, ongebroken randen in deze fase is essentieel voor de veiligheid van de gevoelige draden en kabels die uiteindelijk door de behuizing lopen.

Laser Cutting Parts work1.jpg

Fase 3: CNC-metaalbuigen en -vormen De veelhoekige, driedimensionale geometrie van deze aangepaste netwerkswitch-rackbeugel vereist zeer nauwkeurige persbreukbewerkingen. Onze geavanceerde CNC-buigtechnologie garandeert nauwkeurige vouwhoeken. Door gebruik te maken van maatwerkgereedschap en dynamische boogcompensatie hebben we het materiaalspringback effectief geminimaliseerd, waardoor alle evenwijdige en loodrechte bevestigingsvlakken perfect op lijn kwamen voor de definitieve assemblage.

metal Bracket work.jpg

Fase 4: Structurele montage via lassen en klinken Om de vereiste structurele stijfheid te bereiken zonder vervorming van het dunne plaatmateriaal, pasten we gespecialiseerde las- en klinkonderdelen montagetechnieken toe. Onze vakbekwame technici voerden gecontroleerd puntlassen uit en gebruikten op maat gemaakte montagefixtures om warmte snel af te voeren. Deze nauwkeurige thermische beheersing voorkomt vervorming, waardoor het behuizingstuk voor het elektronische bedieningspaneel absoluut vlak blijft en naadloze verbindingen heeft.

Fase 5: Oppervlaktebehandeling en zwart poedercoating De laatste, maar even belangrijke, stap is de oppervlakteafwerking. De voltooide metalen steun ondergaat een strenge meertrapsvoorbereiding en reinigingsprocedure, gevolgd door aanbrengen van een premium matzwarte poedercoating. Deze specifieke afwerking biedt superieure corrosieweerstand, uitstekende antistatische eigenschappen en een duurzame, uniforme uitstraling die krassen tijdens installatie van de apparatuur weerstaat.

Black Powder Coating.jpg

DEEL 3: ONDERSTEDE TECHNISCHE UITDAGINGEN

Bij het vervaardigen van precisieplaatmetaal voor telecommunicatie- en industriële toepassingen moeten verschillende technische uitdagingen worden overwonnen:

Uitdaging A: Tolerantieopstapeling bij meerdere bochten. Bij een behuizing met talloze vouwen kan zelfs een fout van 0,5 mm bij de eerste bocht zich opstapelen tot een misalignering van 2 mm op het uiteindelijke montagepunt. Onze oplossing: Wij maakten gebruik van onze robuuste plaatbewerkingsprocessen expertise om een bochtvolgorde-specifiek buigproces te ontwerpen. Door gebruik te maken van zeer nauwkeurig afgestelde CNC-persremmen en eerst-artikelinspecties uit te voeren bij elke stap, hielden wij de totale cumulatieve tolerantie binnen een strikte marge van ±0,1 mm.

Uitdaging B: Ventilatie in evenwicht brengen met structurele integriteit. Elektronische behuizingen vereisen uitgebreide uitsparingen voor luchtstroom, wat van nature de metalen constructie verzwakt. Onze oplossing: Onze ingenieurs plaatsten versterkende ribben op strategische plaatsen en optimaliseerden de lay-out van de ventilatiesleuven. Hierdoor werd een optimale thermische dynamiek voor interne componenten gewaarborgd, zonder dat de draagcapaciteit van het gehele frame in het gedrang kwam.

DEEL 4: UITGEBREIDE INDUSTRIËLE TOEPASSINGEN

De technologieën en kwaliteitscontrolestandaarden die zijn toegepast op deze gepoedercoate koolstofstaalbeugel zijn zeer flexibel. Cangzhou Deeplink levert consistent vergelijkbare hoogwaardige metalen componenten aan diverse high-end productiesectoren:

  • Telecommunicatie en IT-infrastructuur: Servershelves, netwerkswitches en computermainframes.
  • Industriële automatisering: Behuizingen voor besturingspanelen, omhulsels voor robotapparatuur en sensorbeugels.
  • Medische en laboratoriumapparatuur: Structurele frames voor diagnostische machines en veilige behuizingen voor bewakingsapparatuur.
  • Oplossingen voor hernieuwbare energie: Behuizingen voor zonne-omvormers, bevestigingsbeugels voor energieopslagbatterijpakketten en onderdelen voor elektrische laadpalen.

DEEL 5: WAAROM SAMENWERKEN MET DEEPLINK VOOR UW PLAATMETAALBEHOEFTEN?

Als een vertrouwde, ISO 9001-gecertificeerde fabrikant integreert Cangzhou Deeplink International Supply Chain Co., Ltd. een volledige, end-to-end aanpak voor maatwerkmetaalbewerking. Van eerste technisch advies en tekeningenontwerp tot monsteronderzoek en massaproductie beheersen wij elke variabele.

Of uw project nu aangepaste CNC-bewerkte onderdelen , dieptrekonderdelen of complexe gelaste constructies vereist, wij leveren consistente kwaliteit met meer dan 39 strenge QA-inspectiestappen. Wij zijn trots op snelle levering, uitmuntende vakmanschap en stabiele kwaliteit.

Klaar om uw volgende project voor plaatstaal of industriële behuizingen te optimaliseren? Neem vandaag nog contact op met ons engineeringteam voor een uitgebreide DFM-analyse en een snelle, kosteneffectieve offerte.

Verken ons volledige aanbod van diensten en ontvang vandaag nog uw maatoplossing door onze Neem contact met ons op - Ik heb een pagina.

Vorige

Fabricage van 3.000 op de wand te monteren, aangepaste elektrische regelkasten met IP54-nauwkeurigheid

ALLES

Hoe wij 20.000 aangepaste motorfietszijmontagebeugels vervaardigden met CNC-buisbuigen en DFM

Volgende
Aanbevolen producten