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

Све категорије
Назад

Производња кола за складиштење металне мреже на машта: студија случаја ОЕМ

Произвођач:  Цанцхоу Диеплинк Интернатионал Спуарицхаин Цоо, Лтд. . Примена у индустрији: Домо и кухиња Складиште / Коммерцијални намештај / Мали уређаји Примене основних процеса: Прецизност Ласерска сечење · ЦНЦ губа савијање · Вирне мреже прогресивна Печатња · 6 ос Роботизовано заваривање · Покривање епоксидним прахом


1. у вези са Преглед пројекта и ОЕМ спецификације

Водећи европски малопродајник кућних производа сарађивао је са Диеплинком како би концептуални цртање претворио у масовну производњу. Циљ је био да се произведе прилагођена мобилна трострука метална мрежа, дизајнирана за свестране апликације од кухиња и канцеларијских амбара до захтевних малопродајних складишта.

Клијент је добио јасан, али изазов: испоручити високо стабилно, ваљано и корозионно отпорно метално решење за складиштење по конкурентној цени за канал за масовно тржиште. Да би се испунио распоред лансирања производа, потребан је строг прозор за испоруку од 35 дана за минималну количину наруџбине (MOQ) од 12.000 јединица.

Кључне спецификације (на један поглед)

  • Вид производа: употребна колица од 3 нивоа металне мреже / тркачки складиштење
  • Коришћени материјал: Q195 Нискоугледна заваривана челична цевка (орам) & СПЦЦ хладновалцувани челични листови (кошице оцвета)
  • Потреба за оптерећењем: 15 kg по полици равномерно распоређено (45 kg укупно), са строгим критеријумима за нула видљивог одвијања на пуном оптерећењу.
  • Површина завршене: Униформани мато црни епокси-полиестерски прах (6080 мкм ДФТ) са високом отпорношћу на огреб.
  • Продукција: 12.000 јединица по броју.
  • Времено извеђења: укупно 35 дана (7 дана за узорке првог члана, 25 дана за масовну производњу).
  • Сертификације квалитета: ИСО 9001, ИСО 14001, ИСО 45001, СГС ревизија, РоХС, РЕАЦХ усаглашен.

Custom 3-Tier Metal Mesh Storage Cart 1.jpg


2. Уколико је потребно. Проблем клијента и Диплинк-ови ДФМ инжењерски решења

У производњи металног намештаја у великој количини Б2Б, контрола единичних трошкова док се одржава структурни интегритет је крајњи тест способности добављача. Први цртање купца је имало четири непроговарајућа захтјева (напреженост, завршна површина, стабилност натовљености и закључан плафон трошкова).

Наш инжењерски тим је спровео ригорозан преглед дизајна за производњу (ДФМ) и решио три критична вузла пре него што је пуштао алате:

  • Проблем 1: Плоскост мреже и топлотно искривљење
    • Питање: Порфорисани челични поднос од 350 × 500 мм природно има тенденцију да се искривљује након заваривања. Рани прототипски пробици показали су 23 мм нагиба због интензивне топлоте конвенционалног спота заваривања.
    • Диеплинк је решио: Смело смо предложили да се замене спојене масе за причвршћивање са четири прецизно притиснутих локаторских гуша на свакој фланжи кошнице. Овај механички метод запљуњавања је затегао машу савршено равна, потпуно решавајући проблем са нагином док је време ручне монтаже смањило за око 15 секунди по јединици.
  • Проблем 2: Плескање заваривача на козметичке површине
    • Питање: Било који мали прскање заваривања или изгоревање на финој жици ће се одмах показати кроз матно црни слој праха, изазивајући козметичко одбијање на подножју малопродаје.
    • Диеплинк је решио: Прихватање новог дизајна притисне луг ефикасно је елиминисало потребу за топлотним заваривањем на видљивим површинама очјева. То је осигурало нула прскања, нула трага изгоревања и безупречну завршну косу спремну за директну продају потрошачима.
  • Изазов 3: Изваз снаге и мобилности
    • Питање: Долње монтажне заднице су морале поуздано да држе вертикалну силу повлачења од 7 кгф без деформације како би се осигурало да колица не би се окренула или изгубила точкове преко неравномерних прагова.
    • Диеплинк је решио: Направили смо 1,5 мм галванизоване сталне траке које су формиране кроз 6-станични прогресивни штампач. Интегришовањем затварања, ударања и уносања репних репица у један аутоматизовани процес, постигли смо максималну издржљивост и отпорност на извлачење која је лако прешла основне захтеве.


3. Уколико је потребно. Процес производње метала од краја до краја

Као специјализовани произвођач металних жича за рефлеке који управља објектом од 5.000 м2, наше интегрисане способности обезбеђују беспрекорно контролу квалитета од сировог челика до коначног пакованог картона. Наш високо аутоматизовани радни ток укључује:

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 ос Роботизовано заваривање :Да би се елиминисале људске грешке, зглобове од рамке до кошнице и од вертикале до основе извршавају 6-осине роботизоване ћелије за заваривање МИГ. То ограничава прскање на строго контролисану скривену зону, што доводи до тога да стопа поновног рада буде мања од 1%.
  5. Површинска претратмана и покрывање прахом: Сврхунски колице подвргну се темељном процесу припреме површине: Дегрејсинг → Фосфатирање → Пре-печење на 180 °C. Затим се завршавају премашком од 6080 мкм епокси-полиестерског праха и зачепљују на 190 °C. Наредне конструкције за реке осигурају да је свака заваривана ивица доступна, потпуно елиминишу рад на додир и осигурају да производ лако прође 48-часовни

Bracket Fabrication 4.jpg


4. Уколико је потребно. Строга контрола квалитета (39-точкова контрола квалитета)

Поузданност није преговарачка за комерцијалне добављаче колица за складиштење. Наш систем квалитета сертификовани по ИСО 9001 захтева свеобухватну инспекцију од 39 тачака пре него што се свака серија одобри за паковање.

  • Димензионална тачност: Користимо Координатне мерење машине (ЦММ) за проверу на праве дупе за гаранцију да се полице савршено клизурају. Покушај да провериш сваку рупу за монтажу.
  • Механичка интегритет: Серии се подвргну испиту одвијања полице на 15 kg (очување < 1,5 mm лука), испиту извлачења рубрице за рубрике на 7 kgf (не показује деформацију) и испиту статичког оптерећења ручке на 30 kg.
  • Козметичка и премази: Ми спроводимо 100% визуелну инспекцију под интензивним 1000-луксним ЛЕД осветљењем како бисмо одбацили текстуре портокалеске лушке или прскање. Дебљину филма се проверује мерилима, а тестови прилепљености преко капи се обављају према ИСО 2409, стандардима класе 0. Узори који су задржани такође су прошли продужен 96-часовни тест сољним спрејем на захтев купца.

5. Појам Резултати пројекта и коначна испорука

Проактивно оптимизовањем ДФМ-а и коришћењем 6 аутоматизованих линија (које раде са 80% аутоматизације), Диеплинк је испоручио изузетну вредност која је превазишла очекивања клијента:

  • Трошковна ефикасност: Коначна цена јединице је смањита на 8,3% испод строгог циља клијента.
  • Износ првог пролаза: Досегао је изузетно 98,7% током целокупне производње од 12.000 јединица.
  • Паковање и логистика: Кочије су достављене у конфигурацији са равном паком за штедњу простора. Свака компонента је била заштићена ПЕ пеном унутар тешке 5-слојне гофриране патице, дизајниране да преживи тест пада од 60 цм без оштећења премаза.
  • Успех клијента: Добили смо 100% навременог броја испорука, што је резултирало тим што је европски малопродавач пласирао три узастопне повторне наруџбине без потребе за реквалификацијом.

6. Česta pitanja (ČP)

П: Који материјали су најбољи за производњу ваљљивих металних мреже за складиштење колица?  А: Оштро препоручујемо Q195 ниско-угледну заваривну челичну цев за главни оквир због његове одличне дугативности и завариваности. За перфориране мреже, СПЦЦ хладно ваљан челични лист пружа савршену равнотежу чврстоће и формабилности. Галванизовани челик је идеалан за скривене конструктивне делове, као што су скови за коцкање, како би се спречила невидљива корозија.

П: Да ли Диеплинк може да прилагоди димензије и капацитет оптерећења тркача за помоћу са жицом?  А: -Одлично. Као директна фабрика за производњу метала ОЕМ / ОДМ, наш инжењерски тим може прилагодити дебелине цеви, модификовати обрасце перфорације мреже и надоградити дизајне за кретање како би задовољили специфичне рејтинге оптерећењаскалирање од стандардних 15 кг

П: Колико је типично време за производњу за прилагођене комерцијалне јединице за металне полице?  А: Поддржани 6 аутоматизованих производних линија, наше стандардно време за производњу је само 35 дана. Ово укључује 7 дана за производњу и рафинисање узорка првог члана, а затим 25-дневни брз циклус масовне производње за количине до 12.000 јединица.


Спреман да почнеш свој пројекат за метале? Ако ваш каталог производа укључује цевчане металне оквире, кошнице од жичне мреже, штампане заграде или сложене конзоле са покрытијем прахомнезависно да ли су намењене за складиштење кухиње, малопродајне опреме, медицинске колице или индустријске Пошаљи нам своје цртеже или физичке узорке данас. Обезбеђујемо бесплатну ДФМ анализу заједно са чврстим цитирањем у року од 48 сати, и можемо послати прве узорке за 7 дана.

Пре

Црно-покривену дубоко извучену челични резервоар са нацртаним излазом OEM студија случаја

СВЕ

Студија случаја: Прецизна производња тежачких црвених прашко обложених машинарских заступа

Следећи
Препоручени производи