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

همهٔ دسته‌بندی‌ها

هنر و علم خم کردن فلز: دقت، کارایی و راه‌حل‌های تولید یکپارچه

Dec 02, 2025

​

به فرآیند اصلی خمکاری ورق فلزی عمیقاً بپردازید و کشف کنید که چگونه شرکت چانگژو دیپ‌لینک با بهره‌گیری از فناوری پیشرفته و یکپارچه‌سازی زنجیره کامل صنعتی، طراحی‌های شما را دقیقاً به واقعیت تبدیل می‌کند.

خمکاری فلز بسیار فراتر از صرفاً ایجاد زاویه روی یک ورق فلزی است. این یک هنر است که علم مواد، مکانیک مهندسی و تولید دقیق را با هم ترکیب می‌کند. یک خم دقیق، قائم‌بودن یک محفظه، اتصال بدون درز مونتاژها و یکپارچگی ساختاری و زیبایی محصول نهایی را تعیین می‌کند.  هنگام انتخاب ارائه‌دهنده خدمات خمکاری، شما به بیش از یک دستگاه خمکاری نیاز دارید — شما به شریکی نیاز دارید که خواص مواد را به‌خوبی درک کند، فرآیند را به‌دقت کنترل نماید و خمکاری را به‌صورت یکپارچه با مراحل بعدی ترکیب کند.  دیپ‌لینک ​ دقیقاً چنین شریکی است. ما خمکاری را به سطح استراتژیک ارتقا می‌دهیم و اطمینان حاصل می‌کنیم که هر زاویه‌ای کاملاً دقیق باشد.


بخش ۱: توضیح دقیق فرآیند خمکاری فلز—از اصول تا فناوری‌های کلیدی ​

خمکاری فرآیندی است که در آن فشاری به قطعه ورق فلزی وارد می‌شود و باعث تغییر شکل کشسان و سپس تغییر شکل پلاستیک آن می‌شود و در نتیجه زوایا و اشکال خاصی ایجاد می‌شود.

  • مفاهیم اصلی: ​
    • بازگشت کشسان (اسپرینگ‌بک): ​ این موضوع چالش بسیار مهمی در فرآیند خمکاری است. پس از خم شدن، ماده تمایل دارد کمی به شکل اولیه خود بازگردد. مهندسان ما با استفاده از تجربه و محاسبات دقیق، بازگشت کشسان را پیش‌بینی کرده و از طریق خم‌کاری بیش از حد ​ جبران می‌کنند تا زاویه نهایی کاملاً با نقشه‌های طراحی مطابقت داشته باشد.

 

 

    • شعاع خم: انتخاب شعاع داخلی خم بسیار حیاتی است و بر استحکام، ظاهر و مونتاژ محصول تأثیر می‌گذارد. ما شعاع خم بهینه را بر اساس ضخامت و نوع ماده توصیه می‌کنیم.  

 

  • تجهیزات و فناوری‌های کلیدی ما: ​
    • خم‌کن‌های CNC با دقت بالا:  مراکز خم‌کاری ما مجهز به سیستم‌های پیشرفته CNC هستند که قادر به ذخیره هزاران تنظیم قالب و برنامه می‌باشند و از این طریق ثبات بسیار بالایی در تولید انبوه ایجاد می‌شود.

 

    • کتابخانه ابزار چند ایستگاهی:  با انتخاب گسترده‌ای از قالب‌های بالا و پایین، ما می‌توانیم همه چیز را از خم‌های ساده زاویه‌دار تا شکل‌دهی‌های پیچیده چندضلعی انجام دهیم.


بخش 2: مزایای خم‌کاری دیپ‌لینک — چه چیزی ما را متمایز می‌کند ​

قدرت ما نه تنها در دستگاه‌هایمان، بلکه در نحوه ادغام خم‌کاری در یک اکوسیستم گسترده‌تر تولید نهفته است.

  • خدمات یکپارچه زنجیره صنعتی کامل: خم‌کاری دیگر یک مرحله منزوی نیست ​
    • در دیپ‌لینک، خم‌کاری بخشی اساسی از ساخت ورق‌کاری  فرآیند است. قطعات شما می‌توانند به‌طور مستقیم از برش لیزری با دقت بالا  به خمکاری بدون تغییر مکان، که اطمینان از معیارهای یکپارچه و دقت ابعادی بالا را فراهم می‌کند. پس از خمکاری، مراحلی مانند جوشکاری، پرچکاری ، یا پردازش سطحی  می‌توانند بلافاصله انجام شوند. این جریان کار یکپارچه به‌طور قابل توجهی زمان تحویل را کاهش می‌دهد و ریسک‌های کیفیت و هزینه‌های مدیریتی ناشی از مراحل میانی را کم می‌کند  مرتبط با مراحل میانی.

 

  • همکاری در طراحی و ساخت: تحلیل حرفه‌ای DFM (طراحی برای ساخت‌پذیری) ​
    • تیم مهندسی ما قبل از تولید نقشه‌های شما را بررسی کرده و مشاوره تخصصی در مورد فرآیندهای خمکاری ارائه می‌دهد. به عنوان مثال:
      • جلوگیری از تداخل در خمکاری:  پیشنهاد دادن توالی بهینه خمکاری.
      • بهینه‌سازی ساختاری:  پیشنهاد تقویت‌کننده‌ها یا سوراخ‌های فرآیندی در مناطق دارای تمرکز تنش.  
      • کاهش هزینه:  بهینه‌سازی طراحی‌ها به‌منظور کاهش مراحل خم و پیچیدگی.
    • این امر تضمین می‌کند که طراحی شما نه تنها نوآورانه، بلکه بسیار قابلیت تولید دارد.

 

  • اتوماسیون و تضمین کیفیت: ​
    • ما 6 خط تولید اتوماتیک با 80 درصد اتوماسیون  فرآیندهای خم‌کاری کارآمد و پایدار را تضمین می‌کنند. اتوماسیون خطای انسانی را کاهش داده و یکنواختی در تولید انبوه را تضمین می‌کند.  
    • ما 39 قابلیت تشخیص به بالا  تمامی ویژگی‌های کلیدی کیفیت را پوشش می‌دهد، از جمله زوایای خم و ابعاد تا استقامت. ما به استانداردهای بین‌المللی کیفیت مانند ISO 9001:2015 پایبندیم و اطمینان حاصل می‌کنیم که هر محموله به سخت‌گیرانه‌ترین مشخصات می‌رسد.  

 

  • تجربه و انعطاف‌پذیری: ​
    • ما در خمکاری انواع مواد، از فولاد ضدزنگ و آلومینیوم تا فولاد کربنی ، تخصص داریم و خواص منحصربه‌فرد هر ماده را درک می‌کنیم.  
    • چه برای OEM  قطعات استاندارد یا اجزای بسیار سفارشی  پیچیده، ما به راحتی انعطاف می‌یابیم تا نیازهای شما را از نمونه‌سازی تا تولید انبوه برآورده کنیم.

نتیجه‌گیری: یک شریک حرفه‌ای در خمکاری فلزات را انتخاب کنید تا پایه‌ای محکم برای محصول شما ایجاد شود ​

خمکاری فلزات پایه‌ی ساختار محصول است. یک خم دقیق و محکم، تضمین اولیه کیفیت و قابلیت اطمینان محصول است. با انتخاب دیپ‌لینک , شما تنها یک خدمات خمکاری دریافت نمی‌کنید، بلکه یک همراه تولید جامع به دست می‌آورید که به موفقیت پروژه‌ی شما متعهد است. با یکپارچگی کامل زنجیره صنعتی، پشتیبانی مهندسی حرفه‌ای، تولید خودکار و کنترل کیفیت دقیق , ما اطمینان حاصل می‌کنیم که قطعات ورق‌کاری شما از طراحی تا محصول نهایی به‌طور کامل مدیریت شوند.