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

모든 카테고리

대량 생산 서비스

Oct 19, 2026
대량 생산 서비스 대량 생산 맞춤 금속 부품 제작 서비스
Cangzhou Deeplink International Supply Chain Co., Ltd.

공구 및 검사 관리를 통한 반복 제조

대량 생산 서비스

안정적인 수요, 공구 경제성 및 부품 요구 사항에 따라 스탬핑, 레이저 절단 제작, 딥 드로잉 또는 통합 제조 방식을 선택하세요.

도면 제출하여 검토 요청 설비 및 생산 능력 확인

양산은 시제품 제작과는 다른 문제이다. 부품이 양산에 들어간 후에는 부품 번호 10,000이 부품 번호 1과 정확히 일치해야 하며, 이를 입증할 수 있는 기록이 반드시 존재해야 한다.

생산 공정

  • 25T에서 400T 압력기에서의 연속 다이 성형. 금형은 자사 내에서 설계·제작 및 관리함
  • 다이 사용이 경제적이지 않은 경우, 레이저 절단 및 성형 부품의 반복 생산
  • 확인된 벽 두께, 직경, 깊이로 제작된 심드름 가공 부품
  • 용접 및 조립 완료된 단위를 완제품으로 납품

기술 사양

항목 능력
프레스 범위 25톤에서 400톤
우표 연속 다이 스탬핑, 블랭킹, 피어싱, 성형
금형 제작 자체 설계, 제작 및 유지보수
반복 생산 다이 사용이 경제적이지 않은 경우, 레이저 절단 및 성형
심도 압출 초기 샘플에서 벽 두께, 직경, 깊이를 확인
추적성 ISO 9001 품질 관리 시스템에 따라 추적 가능성을 보장하기 위해 기록을 보관

장기 생산을 일관되게 유지하는 요인

  • 부품 사양을 정의하는 승인된 첫 번째 시제품으로, 주문 전체 기간 동안 기준 자료로 보관됨
  • 자체 내에서 금형 관리를 수행하므로 마모를 사전에 관리할 수 있음 — 문제 발생 후 발견되는 방식이 아님
  • 공정 중 검사를 통해 품질 편차를 조기에 포착하여 불량 집단으로 확대되기 전에 대응함
  • 재주문 시 이전 주문의 원본 측정 기록을 기준으로 검증할 수 있도록 모든 기록을 체계적으로 보관함 — 새롭게 해석한 기준이 아님

생산량과 공정이 서로 적절히 매칭됨

일반적으로 부품의 장기 양산 시 절삭 금형 비용을 분산시킬 수 있으므로 스탬핑이 더 경제적임. 반면 단기 양산이나 설계 변경 가능성이 남아 있는 경우, 레이저 절단 및 성형은 금형 비용이 없고 유연성을 유지함. 당사는 고객의 예상 생산량과 운용 기간에 가장 적합한 공정을 제안하며, 그 이유와 함께 어느 쪽이 더 저렴한지도 명시함

품질 관리

모든 주문은 ISO 9001 품질 관리 시스템 하에 39개 이상의 품질 검사를 거침: 입고 원자재 검사, 첫 번째 시제품 검사, 공정 중 검사, 최종 검사 — 추적성을 위해 모든 기록을 보관함

실제 제조 사례

High-volume stamped parts in serial production
연속 생산 방식의 대량 스탬프 부품
SUS304 progressive die stamped brackets in repeat production
반복 생산용 SUS304 프로그레시브 다이 스탬프 브래킷
Metal fabrication workshop for repeat production
반복 생산을 위한 금속 가공 작업장

프로젝트의 생산 진행 과정

  1. 1.도면 완성도 검토, 주문 수량, 연간 수요 및 프로그램 수명 평가
  2. 2.생산 공정 비교 및 금형 결정 사항 정의
  3. 3.최초 부품 승인 및 검사 기준 확정
  4. 4.공정 중 점검 및 금형 유지보수를 수행하며 반복 생산 실행
  5. 5.최종 검사, 기록 보관, 포장 및 재주문 관리 완료

적용 분야 및 부품 유형

연속 성형 다이 가공 부품
반복 제작 브래킷 및 패널
심드름 성형 생산 부품
용접 및 조립 완제품
산업용 하드웨어 프로그램
장기 운영 중인 OEM 금속 부품

귀하의 RFQ에 포함해야 할 사항

  • 출시된 도면 및 개정 수준
  • 재료, 두께 및 마감 처리
  • 주문 수량 및 예상 연간 수요
  • 프로그램 기간 및 반복 일정
  • 검사, 추적성 및 포장 요구 사항

명확한 도면 패키지는 엔지니어링 팀이 생산 전에 제조 가능성, 공정 선택 및 검사 요구 사항을 검토할 수 있게 해 줍니다. 특정 도면 검토 전까지는 공차, 가격 또는 납기 약속이 성립되지 않습니다.

관련 제조 자원

자주 묻는 질문

스탬핑이 더 경제적이 되는 생산량 기준은 얼마인가?

부품의 복잡성과 부품 생산 기간에 따라 달라집니다. 왜냐하면 다이 비용은 주문 수량 전체에 분배되기 때문입니다. 주문 수량과 예상 연간 생산량을 알려주시면, 두 가지 공정 경로에 대한 견적을 모두 제공해 드려서 직접 비교하실 수 있습니다.

부품 1번과 부품 10,000번을 어떻게 정확히 동일하게 유지하나요?

승인된 첫 번째 샘플 부품이 해당 부품의 기준이 되며, 주문 전체 기간 동안 이를 기준으로 삼습니다. 금형은 내부에서 관리되며, 공정 중 검사가 편차를 조기에 포착하여 불량 배치로 확대되는 것을 방지합니다. 또한 모든 기록을 보관하므로 재주문 시에도 원래 기준과 대비하여 검사합니다.

수년에 걸친 재주문도 지원할 수 있나요?

네, 가능합니다. 금형은 내부에서 보관 및 관리되며, 승인된 첫 번째 샘플 부품과 검사 기록도 보관됩니다. 따라서 재주문 시에는 새롭게 해석하는 것이 아니라 원래 기준에 따라 제작됩니다.

대량 생산에 스탬핑 대신 레이저 절단을 사용할 수 있습니까?

예. 다이를 사용할 필요가 없거나 유연성이 여전히 중요한 경우에 가능합니다. 이 공정 방식은 수요 및 예상 프로그램 수명과 비교 평가됩니다.

재주문 시 도면 수정 사항은 어떻게 관리합니까?

각 주문 시 승인된 도면 개정판을 제출하십시오. 생산 및 검사는 승인된 개정판과 최초 부품 기준에 따라 수행되어야 합니다.

재주문 간 금형을 유지 관리할 수 있습니까?

금형은 내부에서 보관되므로 다음 생산 라운드 전에 마모 및 변경 사항을 관리할 수 있습니다.

대량 생산 프로그램에 용접 및 조립을 포함시킬 수 있습니까?

예. 성형, 절단, 성형, 용접, 조립된 부품을 하나의 통합된 프로그램 하에 공급할 수 있습니다.

생산 루트를 비교하려면 어떤 정보가 필요한가요?

공구 제작 방식과 비공구 제작 방식을 비교하려면 주문 수량, 연간 수요, 예상 프로그램 수명, 설계 안정성, 재료 및 핵심 특징이 필요합니다.

제조 검토를 위해 도면을 보내 주세요

재료, 두께, 주문 수량, 예상 연간 생산량, 그리고 부품의 예상 생산 기간을 명시한 도면을 보내주세요. 이를 바탕으로 공정 경로와 금형 결정이 이루어집니다.

제조 검토 요청