\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

Производитель:  Cangzhou Deeplink International Supply Chain Co., Ltd . Применение в отраслях: Хранение для дома и кухни / Коммерческая мебель / Розничные витринные элементы Применяемые основные процессы: Прецизионный Лазерная резка · Гибка труб на ЧПУ · Пошаговая обработка проволочной сетки Печать · 6-осевая Роботизированная сварка · Эпоксидное порошковое покрытие


1. Обзор проекта и технические требования OEM

Ведущий европейский ритейлер товаров для дома заключил партнёрство с Deeplink для перехода от концептуального эскиза к серийному производству. Целью было изготовление специализированной передвижной трёхъярусной тележки из металлической сетки, предназначенной для универсального применения — от жилых кухонь и офисных кладовых до интенсивно эксплуатируемых розничных складских помещений.

Цель заказчика была чётко определена, но сложна в реализации: поставить высокостабильное, мобильное и устойчивое к коррозии металлическое решение для хранения по конкурентоспособной цене для массового рынка. Для соблюдения графика запуска продукта требовалось строгое окно поставки — 35 дней — при минимальном объёме заказа (MOQ) 12 000 единиц.

Ключевые технические характеристики (краткий обзор)

  • Тип продукта: трёхъярусная тележка из металлической сетки / Передвижная тележка для хранения
  • Используемый материал: Сварная стальная труба низкоуглеродистой стали марки Q195 (каркас) и холоднокатаный стальной лист марки SPCC (корзины-сетки)
  • Требование к грузоподъёмности: 15 кг на полку при равномерном распределении нагрузки (всего 45 кг), с жёсткими критериями отсутствия видимой деформации при полной загрузке.
  • Поверхностная отделка: Равномерное матовое чёрное эпоксидно-полиэфирное порошковое покрытие (толщина плёнки 60–80 мкм) с высокой стойкостью к царапинам.
  • Объем производства: 12 000 единиц за запуск.
  • Срок поставки: всего 35 дней (7 дней на изготовление первого образца, 25 дней на серийное производство).
  • Сертификаты качества: Сертифицировано по стандартам ISO 9001, ISO 14001, ISO 45001; аудит SGS; соответствует директивам RoHS и REACH.

Custom 3-Tier Metal Mesh Storage Cart 1.jpg


2. Проблемы заказчика и инженерные решения Deeplink по DFM

В производстве металлической мебели для B2B в больших объёмах контроль себестоимости единицы при сохранении конструкционной прочности является главным испытанием возможностей поставщика. В первоначальном чертеже заказчика были указаны четыре обязательных требования (грузоподъёмность, качество поверхности, устойчивость при транспортировке в коробках и фиксированный потолок стоимости).

Наша инженерная команда провела строгий анализ конструкции с учётом требований производственной технологичности (DFM) и устранила три критических узких места до выпуска оснастки:

  • Проблема 1: Плоскостность сетки и тепловая деформация
    • Проблема: Перфорированный стальной лоток размером 350 × 500 мм естественным образом склонен к деформации после сварки. В ходе первых испытаний прототипов наблюдалось прогибание на 2–3 мм из-за интенсивного теплового воздействия традиционной точечной сварки.
    • Решение компании Deeplink: Мы предложили смелую замену крепления сетки к раме методом точечной сварки на четыре точно выштампованных фиксирующих выступа на каждом фланце корзины. Этот механический способ соединения обеспечил идеальную плоскостность сетки, полностью устранив прогибание и сократив время ручной сборки примерно на 15 секунд на единицу продукции.
  • Проблема 2: Брызги сварки на декоративных поверхностях
    • Проблема: Даже незначительные брызги сварки или прожоги на тонкой проволочной сетке сразу проявлялись сквозь матовое чёрное порошковое покрытие, что приводило к отбраковке изделий по косметическим параметрам на розничных прилавках.
    • Решение компании Deeplink: Применение новой конструкции с прессованными контактами позволило полностью отказаться от термосварки на видимых сетчатых поверхностях. Это обеспечило отсутствие брызг, следов обжига и безупречную отделку, готовую к прямой продаже потребителю.
  • Задача 3: Сила выдергивания колёс и мобильность
    • Проблема: Нижние крепёжные скобы должны были надёжно выдерживать вертикальную силу выдергивания 7 кгс без деформации, чтобы тележка не опрокидывалась и не теряла колёса при проезде через неровные пороги.
    • Решение компании Deeplink: Мы разработали скобы из оцинкованной стальной полосы толщиной 1,5 мм, полученные методом штамповки на шестистанционном прогрессивном пресс-форме. Интеграция пробивки, вырубки и установки резьбовых заклёпок в одном автоматизированном процессе позволила достичь максимальной прочности и сопротивления выдергиванию, значительно превышающего базовое требование.


3. Металлообработка «от начала до конца»

Как специализированный производитель металлических проволочных стеллажей с собственным производственным комплексом площадью 5000 м², мы обеспечиваем бесперебойный контроль качества на всех этапах — от сырой стали до готовой упаковки в картонные коробки. Наш высокостепенно автоматизированный производственный процесс включает:

Custom 3-Tier Metal Mesh Storage Cart 2.jpg

  1. Высокоточная лазерная резка :Плоские листы SPCC и профильные трубы обрабатываются на волоконно-оптических лазерах с точностью позиционирования ±0,05 мм. Интеллектуальное программное обеспечение для раскроя оптимизирует расход материала, снижая количество отходов менее чем на 6 %.
  2. Гибка труб и закатка кромок на станках с ЧПУ: Стальные круглые трубы Ø19 мм из стали Q195 формуются на трубогибочных станках с ЧПУ с передовой компенсацией упругого возврата, что обеспечивает гладкие верхние ручки без видимых складок. В то же время кромки перфорированных листов закатываются непрерывно для удаления острых заусенцев — данное конструктивное усовершенствование само по себе повысило жёсткость полок примерно на 30 %.
  3. Прогрессивная проволочная сетка: Печать :Кронштейны для крепления колёсиков обрабатываются на высокоскоростном прогрессивном штампе, обеспечивая стабильную точность ±0,1 мм даже при объёме выпуска 12 000 единиц.
  4. 6-ося Роботизированная сварка :Для устранения человеческого фактора соединения рамы с корзиной и вертикальных стоек с основанием выполняются в ячейках роботизированной сварки методом MIG с шестью степенями свободы. Брызги металла при этом ограничиваются строго контролируемой скрытой зоной, что снижает долю переделок до менее чем 1 %.
  5. Предварительная обработка поверхности и порошковое покрытие: Сырые тележки проходят тщательную подготовку поверхности: обезжиривание → фосфатирование → предварительная сушка при 180 °C. Затем они покрываются эпоксидно-полиэфирным порошковым составом толщиной 60–80 мкм и отверждаются при 190 °C. Специально разработанные стойки-держатели обеспечивают доступ ко всем сварным кромкам, полностью исключая необходимость доработки вручную и гарантируя, что изделие без проблем выдерживает 48-часовой нейтральный солевой туман без появления красной ржавчины.

Bracket Fabrication 4.jpg


4. Жёсткий контроль качества (39 пунктов проверки)

Надёжность является обязательным требованием для поставщиков коммерческих тележек для хранения. Наша система качества, сертифицированная по стандарту ISO 9001, требует проведения полного контроля по 39 пунктам перед тем, как любая партия будет допущена к упаковке.

  • Габаритная точность: Мы используем координатно-измерительные машины (CMM) для выборочных проверок расположения отверстий в вертикальных стойках, чтобы гарантировать идеальное скольжение полок. Калибры «проход—не проход» проверяют каждое отверстие для крепления колёсиков.
  • Механическая целостность: Партии проходят испытание на прогиб полки при нагрузке 15 кг (прогиб не превышает 1,5 мм), испытание на выдергивание кронштейна колёсика при силе 7 кгс (деформация отсутствует) и статическое испытание ручки при нагрузке 30 кг.
  • Эстетика и качество покрытия: Мы проводим 100%-ную визуальную инспекцию при интенсивном светодиодном освещении 1000 люкс для отбраковки текстуры «апельсиновая корка» или брызг. Толщина плёнки измеряется специальными приборами, а адгезия проверяется методом решётчатого надреза по стандарту ISO 2409, класс 0. По запросу заказчика образцы также успешно прошли расширенное испытание в соляном тумане продолжительностью 96 часов.

5. Результаты проекта и окончательная поставка

Благодаря проактивной оптимизации DFM и использованию шести автоматизированных линий (уровень автоматизации — 80 %) компания Deeplink обеспечила исключительную ценность, превысившую ожидания клиента:

  • Экономическая эффективность: Окончательная себестоимость единицы была снижена на 8,3 % ниже строгого целевого потолка заказчика.
  • Выход годных изделий с первого раза: Достигнут выдающийся показатель 98,7 % на всём объёме производственной партии в 12 000 единиц.
  • Упаковка и логистика: Тележки поставлялись в компактной разборной конфигурации «плоская упаковка». Каждый компонент защищался пенополиэтиленовой (PE) пеной внутри прочного пятислойного гофрированного картона, спроектированного так, чтобы выдерживать испытание падением с высоты 60 см без повреждения покрытия.
  • Успех клиента: Мы достигли 100-процентного соблюдения сроков отгрузки, в результате чего европейский ритейлер разместил три последовательных повторных заказа без необходимости повторной квалификации.

6. Часто задаваемые вопросы (FAQ)

В: Какие материалы наиболее подходят для производства тележек со складывающейся металлической сеткой?  A:Мы настоятельно рекомендуем использовать сварную стальную трубу марки Q195 с низким содержанием углерода для основной рамы благодаря её превосходной пластичности и свариваемости. Для перфорированных сетчатых корзин оптимальным выбором является холоднокатаный стальной лист марки SPCC, обеспечивающий идеальный баланс прочности и формоустойчивости. Оцинкованная сталь идеально подходит для скрытых конструктивных элементов, например, кронштейнов для колёсиков, чтобы предотвратить скрытую коррозию.

В: Может ли компания Deeplink адаптировать размеры и грузоподъёмность тележек с сетчатой платформой?  A:Безусловно. Будучи прямым OEM/ODM-заводом по металлообработке, наша инженерная команда может изменять толщину труб, корректировать конфигурацию отверстий в сетке и улучшать конструкцию кронштейнов для достижения требуемых показателей грузоподъёмности — от стандартных полок на 15 кг до тяжёлых коммерческих решений с нагрузкой до 50 кг на уровень.

В: Каков типичный срок изготовления индивидуальных коммерческих металлических стеллажей?  A:Благодаря шести автоматизированным производственным линиям наш стандартный срок выполнения заказа составляет всего 35 дней. В него входят 7 дней на изготовление и доработку первого образца и 25-дневный цикл быстрого серийного производства объёмом до 12 000 единиц.


Готовы начать реализацию вашего индивидуального металлического проекта? Если в вашем каталоге продукции присутствуют трубчатые металлические каркасы, корзины из проволочной сетки, штампованные кронштейны или сложные сборки с порошковым покрытием — независимо от того, предназначены ли они для хранения на кухне, розничных витрин, медицинских тележек или промышленных корпусов, компания Cangzhou Deeplink готова выполнить заказ. Направьте нам чертежи или физические образцы уже сегодня. Мы бесплатно предоставляем анализ технологичности конструкции (DFM) и твёрдое коммерческое предложение в течение 48 часов, а первые образцы изделий можем отправить уже через 7 дней.

Назад

Красный стальной резервуар с глубокой вытяжкой и порошковым покрытием, с резьбовым выходом — кейс для OEM

ВСЕ

Кейс-стади: точное изготовление тяжёлых красных кронштейнов для машин с порошковым покрытием

Вперёд
Рекомендуемые товары