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

Todas las categorías
Atrás

Cómo Deeplink entregó 50 000 conectores de estampación en acero inoxidable 304 de alta precisión al mes para un fabricante alemán de equipos de envasado de alimentos

Antecedentes del proyecto y desafío

Un importante fabricante alemán de equipos automatizados para el envasado de alimentos contactó a Deeplink con un requisito urgente de aprovisionamiento. La empresa necesitaba un proveedor chino fiable capaz de producir conectores estampados de acero inoxidable 304 —componentes críticos utilizados en sus máquinas de sellado y llenado de alimentos de alta velocidad.

El proyecto incluía tres exigencias ineludibles:

  • Alto volumen: 50 000 piezas al mes con calidad constante lote tras lote.
  • Tolerancia Estricta: tolerancia de ±0,05 mm en todas las superficies de acoplamiento para garantizar un ensamblaje perfecto con los módulos de la línea automatizada de envasado.
  • Cumplimiento de los requisitos para uso en contacto con alimentos: Todas las piezas deben fabricarse con acero inoxidable SUS304 certificado, libre de contaminantes superficiales y rebabas, y apto para entornos de contacto indirecto con alimentos.

El comprador alemán había probado previamente a otros dos proveedores. Uno no logró mantener las tolerancias después de las primeras 3 000 piezas; el otro presentó acabados superficiales inconsistentes que generaron preocupaciones de microcontaminación durante las auditorías del cliente.

«Necesitábamos un socio que considerara ±0,05 mm no como un objetivo, sino como una línea de base. Deeplink lo entendió desde el primer día.» — Líder del proyecto, fabricante alemán de equipos para el envasado de alimentos

metal stamping parts1.png

Solución personalizada de estampación metálica de Deeplink

En Deeplink, abordamos este proyecto no como un simple pedido de estampación, sino como un desafío integral de fabricación de precisión . Nuestro equipo de ingeniería realizó un análisis exhaustivo de la DFM (Diseño para la Fabricabilidad) antes de cortar la primera matriz, identificando tres puntos críticos de control que determinarían el éxito.

Fase 1: Diseño de matriz progresiva y selección de material

La geometría del conector incluía múltiples dobleces, perforaciones y dos orificios de localización con tolerancias ajustadas. Nuestros ingenieros de herramientas diseñaron una matriz progresiva de 9 estaciones optimizada para las características de endurecimiento por deformación del acero inoxidable 304:

  • Material:Bobina de acero inoxidable JIS G4304 SUS304, espesor de 1,2 mm, procedente de un laminador certificado por Baosteel, con certificados completos de trazabilidad del material.
  • El material: Acero para herramientas SKD11 con recubrimiento de TiCN para extender la vida útil del troquel a más de 2 millones de golpes en acero inoxidable.
  • Compensación de Rebote: Ángulos de plegado excesivo calculados mediante simulación por elementos finitos (FEA), reduciendo la desviación por rebote a menos de 0,02 mm, muy por debajo de la tolerancia de ±0,05 mm.

Fase 2: Producción de estampación de precisión

La producción se realizó en nuestra prensa de estampación progresiva de alta velocidad (capacidad de 200 toneladas, ajustable entre 60 y 120 golpes por minuto) con los siguientes controles de proceso:

Punto de Control Método Especificación
Precisión Dimensional Micrómetro láser en línea Monitoreo en tiempo real, resolución de ±0,02 mm
Control de rebabas Juego del troquel rectificado con precisión (6 % del espesor del material) Altura de rebaba ≤ 0,03 mm
Calidad de la superficie Sistema de lubricación en circuito cerrado Sin grietas, acabado uniforme
Trazabilidad por lote Códigos de lote marcados con láser en cada pieza Trazabilidad completa desde el material hasta el envío

La matriz progresiva de 9 estaciones combinada corte → perforación → conformado → acuñado → recorte en un solo ciclo de carrera de la prensa, logrando una producción neta de 45 a 55 piezas por minuto. Con 50 000 piezas/mes, esto representaba solo aproximadamente el 20 % de la capacidad de la prensa, dejando amplio margen para escalar el volumen

metal stamping2.jpgFase 3: Inspección de calidad en proceso

DeepLink's sistema de inspección de calidad de 39 puntos se implementó en tres etapas:

  1. Inspección del primer artículo (FAI): Informe dimensional completo comparado con el dibujo 2D, incluida la verificación mediante máquina de medición por coordenadas (CMM) de todas las dimensiones críticas para la función. Cualquier dimensión que exceda el 60 % de su tolerancia desencadena un ajuste automático de la herramienta.
  2. Muestreo en proceso: Cada 500 piezas, se toman 10 muestras para comprobaciones con calibres de paso/no paso, además de la medición de la rugosidad superficial (se requiere Ra ≤ 0,8 μm; se logra Ra de 0,4 a 0,6 μm).
  3. Auditoría final antes del embalaje: Nivel de calidad aceptable (AQL) de 1,0, muestreo Nivel II según la norma ISO 2859-1, que abarca mediciones dimensionales, inspección de rebabas bajo aumento de 10× y comprobación visual de la calidad superficial.

Fase 4: Limpieza y embalaje conforme a las normas de la industria alimentaria

Al reconocer su uso final en equipos para el envasado de alimentos, Deeplink implementó protocolos adicionales posteriores al estampado, más allá del embalaje industrial estándar:

  • Desengrase ultrasónico: Elimina los residuos de aceite de estampación para cumplir con los estándares de limpieza de la industria alimentaria.
  • Tratamiento de pasivación: Mejora la resistencia natural a la corrosión del acero inoxidable 304, fundamental en entornos de lavado intensivo (washdown) en plantas alimentarias.
  • Embalaje anti-contaminación: Las piezas se empaquetan en bolsas de polietileno selladas con desecante y luego se colocan en cajas de cartón reforzadas para exportación. Cada caja lleva un código QR único que enlaza al informe digital de inspección.

Resultados del proyecto

Métrico Objetivo Logrado
Producción mensual 50,000 piezas 50 000–55 000 piezas
Tolerancia de las dimensiones ±0.05mm Cpk = 1,67 (≥99,99 % dentro de las especificaciones)
Rendimiento en el Primer Intento ≥ 98% 99.2%
Entrega a tiempo 100% 100 % (6 meses consecutivos)
Resultado de la auditoría del cliente Aprobado Aprobado sin ninguna no conformidad

Tras seis meses de producción continua, el cliente alemán amplió su pedido para incluir dos variantes adicionales de conectores, elevando el volumen mensual total a 120 000 piezas distribuidas entre tres referencias (SKUs).

stamping metal4.jpg

Por qué los fabricantes originales de equipos (OEM) globales de equipos para la industria alimentaria eligen a Deeplink para piezas de estampación metálica

Este proyecto ejemplifica la propuesta de valor central de Deeplink para estampación de acero inoxidable de alta precisión en industrias reguladas:

  • Certificado ISO 9001:2015 fabricación con trazabilidad completa del proceso.
  • Diseño y fabricación internos de matrices progresivas — sin subcontratación de herramientas, plazos de entrega más rápidos y mayor control.
  • tasa de automatización del 80 % en 6 líneas de producción garantiza la consistencia a gran escala.
  • Colaboración en DFM desde el primer día: nuestros ingenieros hablan su idioma y optimizan los diseños para su fabricabilidad antes del inicio de la producción.
  • Conocimiento del sector alimentario: conocemos los requisitos específicos de las piezas metálicas para uso alimentario, desde la certificación de materiales hasta el embalaje libre de contaminación.

Obtenga un presupuesto para su proyecto personalizado de estampado en metal

Ya sea que necesite conectores de acero inoxidable 304 ,componentes estampados aptos para uso alimentario , o piezas metálicas de alta precisión para cualquier industria, Deeplink cuenta con la experiencia y capacidad necesarias para entregar sus productos.

Póngase en contacto con nuestro equipo de ingeniería hoy mismo →

  • Correo electrónico: [email protected]
  • Teléfono / WhatsApp: +86-18617745678
  • Ubicación: Cangzhou, Hebei, China — brindamos servicio a fabricantes originales (OEM) globales con envíos internacionales rápidos.

Acerca de Cangzhou Deeplink International Supply Chain: Deeplink es un fabricante OEM con sede en China especializado en fabricación personalizada de chapa metálica, estampado preciso de metal, corte por láser, mecanizado CNC, embutido profundo y soldadura y remachado. Con más de 10 años de experiencia y una superficie de fabricación superior a 5.000 m², entregamos piezas metálicas rápidas, precisas y confiables a sectores manufactureros de alta gama a nivel mundial, incluidos los sectores automotriz, aeroespacial, equipos para la industria alimentaria, nuevas energías y automatización industrial.

Anterior

Optimización de la producción de componentes para baterías de vehículos eléctricos: un estudio de caso sobre estampación de precisión

TODO

Práctica DEEPLINK de procesamiento personalizado de metales: Superación de los desafíos de conformado de precisión para copas de vino de acero inoxidable de formas especiales

Siguiente
Productos recomendados