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

모든 카테고리
뒤로

심층 사례 연구: 맞춤형 금속 부품을 위한 고정밀 OEM 딥 드로잉 및 CNC 가공 솔루션

▍ 실행 요약

오늘날 자동차, 전자기기, 신에너지 분야를 아우르는 고급 제조업은 치열한 경쟁 속에서 엔지니어와 조달 관리자에게 절대적인 정밀도, 신속한 확장성, 그리고 흔들림 없는 품질 관리를 요구하고 있다. 창저우 딥링크 인터내셔널 서플라이 체인 유한공사 .데플링크(Deeplink)는 업계 경력 10년 이상, 등록 자본금 1,000만 위안(RMB)의 프리미엄 제조업체로, 맞춤형 시트 메탈 제작 .

고급 CNC 가공, 레이저 절단, OEM 심드로잉(deep drawing) 기술을 하나의 완전히 최적화된 ISO 인증 시설(5,000제곱미터 이상)에 통합함으로써, 데플링크는 꾸준히 ‘신속한 납기, 정교한 공정, 안정적인 품질’을 실현해 왔다. 본 종합 사례 연구에서는 당사 엔지니어링 팀이 설계 적합성 분석(DFM) 단계에서부터 대규모 자동화 양산에 이르기까지, 극도로 복잡한 제조 프로젝트를 어떻게 성공적으로 수행했는지를 상세히 살펴본다.

▍ 프로젝트 배경 및 핵심 과제

신에너지 및 자동차 전자 분야의 선도적 고객사가 고내구성 맞춤형 금속 케이스와 내부 구조 부품 일련의 종합 제조 솔루션을 필요로 했다. 지정된 소재는 산업용 등급의 304 스테인리스강, 강력한 알루미늄, 아연도금 강판이었다. 본 프로젝트는 세 가지 주요 공학적·물류적 난제를 안고 있었다.

  1. 마이크론 수준 허용 오차 요구사항 : 내부 마운팅 브래킷 및 구조 부품은 절대적인 치수 정확도를 요구했다. 마이크론 수준 허용 오차를 벗어나는 어떠한 편차라도 후속 조립 과정에서 치명적인 실패를 초래할 수 있었다.
  2. 소재 피로 없이 복잡한 기하학적 성형 : 외부 케이스는 완벽한 OEM 딥드로운 부품 을 필요로 했다. 도전 과제는 아연도금 강판과 스테인리스강을 늘려서 성형하면서 구조적 피로, 표면 찢김, 벽 두께 불균일 등을 유발하지 않는 것이었다.
  3. 엄격한 규정 준수를 전제로 한 대량 생산 고객은 프로토타이핑에서 대량 양산으로의 비용 효율적인 전환을 필요로 했다. 모든 부품은 환경 안전성과 소재 신뢰성을 보장하기 위해 SGS, ROHS, REACH 기준을 엄격히 준수해야 했다.

▍ 엔지니어링 솔루션 및 기술 공정

이러한 복합적 과제를 해결하기 위해 딥링크는 기술 컨설팅, 도면 설계, 시제품 테스트, 기계 제조, 애프터세일즈 지원을 아우르는 원스톱 서비스 모델을 활용했다.

1. 고정밀 CNC 가공 및 맞춤형 레이저 절단

초기 평면 패턴 및 복잡한 3차원 형상 제작을 위해 당사 엔지니어는 고정밀 레이저 절단 부품 을 사용했으며, 이와 함께 첨단 CNC 가공을 병행했다. 레이저 절단 장치는 스테인리스강과 알루미늄을 간편하게 절단했고, 당사 CNC 센터는 2차 밀링 및 드릴링 작업을 통해 요구된 마이크론 수준의 허용 오차를 달성했다.

실제 생산에 착수하기 전에, 절단 경로를 최적화하고 자재 낭비를 줄이기 위해 무료 DFM(제조 용이성 설계) 분석을 수행하여 매우 비용 효율적인 제조 사이클을 달성했습니다.

Laser Cutting Parts work1.jpg

2. 연속 다이 성형 및 OEM 심층 드로잉

완전한 외부 커버를 제작하기 위해 당사는 첨단 기술을 갖춘 Metal stamping parts 부서로 전환했습니다. 고급 연속 다이 성형 기술을 활용해 성형 전체 과정을 자동화했습니다.

당사의 심층 드로잉 전문 기술을 통해 아연 도금 강판을 구조적 손상 없이 복잡하고 연속적인 형상으로 늘릴 수 있었습니다. 이는 우수한 인장 강도를 보장할 뿐만 아니라 커버 본체에 대한 2차 용접 작업을 완전히 불필요하게 하여, 외관상 미적 품질과 구조적 완전성을 크게 향상시켰습니다.

Neatly arranged high-precision OEM deep drawn metal stamping spare parts and galvanized sheet metal components on a clean inspection table

3. 정밀 굽힘, 용접 및 리벳 조립

다중 부품 구조의 최종 조립을 위해 CNC 프레스 브레이크를 사용해 정밀한 금속 굽힘을 수행했습니다. 이어 숙련된 용접 및 리벳 부품 조립. 당사의 전 산업 사슬 통합은 초기 절단부터 최종 용접까지 모든 단계를 왜곡, 산화 또는 정렬 오류를 방지하기 위해 엄격히 모니터링함을 의미합니다.

Robotic-Assisted Welding.jpg

▍ 데이터 기반 제조 역량 및 지표

당사는 엄격한 고객 사양을 일관되게 충족시키는 능력을 구체적인 인프라와 인증된 프로세스로 뒷받침합니다.

  • 고급 자동화 : 당사는 6개의 자동화 설비 생산 라인을 운영합니다 이를 통해 자동화 수준 80% 을 달성하여 대량 생산에서 전례 없는 속도와 비용 절감을 실현합니다.
  • 엄격 한 품질 관리 : 품질은 80여 가지 검출 기능을 통해 보장됩니다 그리고 엄격한 시스템을 통해 39개 이상의 품질 검사 를 각 배치마다 실시합니다.
  • 글로벌 인증 : 당사는 ISO9001, ISO14001 및 ISO45001 에 따라 철저히 감사받고 인증을 획득하였으며, SGS, ROHS, REACH와의 완전한 준수를 이행합니다. .
  • 전문 인력 : 전문 인력으로 구성된 전담 팀으로서 100명 이상의 전문 직원 이 근무하며, 숙련된 엔지니어들과 24시간 이내 응대를 보장하는 신속한 애프터서비스 팀을 갖추고 있습니다.

SHEET METAL BRACKETS 5.jpg

▍ 산업 통찰

조달 담당자와 엔지니어가 현명한 결정을 내릴 수 있도록, 당사 전문가들이 맞춤형 금속 가공 산업에서 가장 자주 묻는 질문에 답변합니다.

질문 1: CNC 가공과 레이저 절단—맞춤형 금속 부품 제작 시 적절한 가공 공정을 선택하는 방법은 무엇인가요?
A정답은 부품의 형상, 생산량, 재료에 크게 좌우됩니다. 레이저 절단 레이저 절단은 탄소강 또는 알루미늄 시트와 같은 2차원 평면 금속 판재 프로파일 제작에 매우 빠르고 경제적입니다. 그러나 부품이 복잡한 3차원 형상, 맹공(블라인드 홀), 나사 가공, 또는 다축에 걸친 마이크론 단위의 엄격한 허용오차를 요구할 경우 CNC 가공 cNC 가공이 필수적입니다. 딥링크는 종종 비용 효율성과 고정밀도를 동시에 달성하기 위해 두 기술을 병행 활용합니다.

질문 2: 자동차 및 전자기기 제조 분야에서 프로그레시브 다이 스탬핑의 주요 이점은 무엇인가요?
A진행형 다이 스탬핑은 대량 생산을 위한 최고의 솔루션입니다. 금속 스트립을 단일 다이 내에서 연속적인 공정 역(펀칭, 코이닝, 벤딩, 딥 드로잉)을 통해 이동시킴으로써, 일관된 품질, 극도로 엄격한 허용 오차, 그리고 단위당 비용의 상당한 절감 효과를 달성합니다. 복잡한 Metal stamping parts 신속히

Q3: DFM(제조 용이성 설계) 분석은 판금 벤딩 공정을 어떻게 개선하나요?
AdFM 분석을 통해 당사 엔지니어는 양산 시작 전에 고객의 CAD 도면을 평가할 수 있습니다. CNC 프레스 브레이크를 이용한 판금 벤딩의 경우, DFM은 잠재적 충돌 지점을 식별하고, 정확한 벤드 허용량(K-팩터)을 계산하며, 최적의 공구를 선정하는 데 도움을 줍니다. 이러한 사전 대응 방식은 소재 균열을 방지하고, 정밀한 각도를 보장하며, 시제품 제작에서 양산으로의 전환을 가속화합니다.

Stamping2(be4cb094c8).jpg

▍ 행동 유도 문구 및 OEM/ODM 파트너십

신에너지 프로젝트를 위한 맞춤형 프로토타이핑을 원하시든, 자동차 부품을 위한 확장 가능하고 자동화된 대량 생산을 원하시든, 창저우 딥링크는 귀하의 정확한 사양에 맞춘 개인화되고 신뢰할 수 있는 OEM/ODM 서비스를 제공합니다.

👉 당사의 전 범위 금속판 가공 서비스 둘러보기
👉 무료 DFM 분석 및 맞춤 견적을 위해 지금 바로 문의하세요

이전

고급 사례 연구: 정밀 레이저 절단 및 CNC 벤딩 기술을 통합한 맞춤형 판금 가공

전체

야외 감시용 맞춤형 스테인리스강 회전 마운팅 브래킷

다음
추천 제품