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

Усі категорії
Назад

ДОСЛІДЖЕННЯ ВИПАДКУ: РЕЗЕРВУАРИ ДЛЯ ОЧИЩЕННЯ ВОДИ З НЕРЖАВІЮЧОЇ СТАЛІ 304 ХАРЧОВОГО КЛАСУ

ДОСЛІДЖЕННЯ ВИПАДКУ: РЕЗЕРВУАРИ ДЛЯ ОЧИЩЕННЯ ВОДИ З НЕРЖАВІЮЧОЇ СТАЛІ 304 ХАРЧОВОГО КЛАСУ

Промисловість: Комерційне очищення води та обладнання для рідин харчового класу

Продукт: Інтегрований зварений резервуар для очищення води з нержавіючої сталі 304

Ключові технології: 6000W Лазерне різання , Гібка на CNC , санітарний TIG зварювання , електрополірований для харчових цілей

Стандарти: ISO9001:2015, SGS — відповідність для контакту з харчовими продуктами, ROHS, REACH

У сфері комерційного очищення води резервуари й фільтраційні порожнини для мереж ресторанів, офісних будівель та медичних закладів мають відповідати суворим гігієнічним стандартам. Відомий австралійський бренд обладнання для очищення води співпрацював із компанією Cangzhou Deeplink у виробництві інтегрованого резервуара для очищення води з нержавіючої сталі 304 харчового класу, основна несуча порожнина якого містить вбудовані модулі фільтруючих елементів та компоненти водяного контуру.

Надаючи безкоштовну Проектування для виробництва (DFM) після аналізу вимог замовника та використання наших можливостей у виготовленні санітарної нержавіючої сталі ми поставили 1000 спеціально розроблених резервуарів із нержавіючої сталі харчового класу з електрополірованими поверхнями (Ra ≤ 0,8 мкм), герметичними зварними конструкціями без протікань та повною взаємозамінністю.

Custom Food-Grade 304 Stainless Steel Water Purification Tank 2.jpg


1. Виклик замовника та його основні вимоги

Клієнт оновлював нове покоління комерційного обладнання для очищення води. Санітарний зварений бак із нержавіючої сталі мав зберігати й фільтрувати питну воду без санітарних «мертвих кутів», не деформуватися під розрахунковим тиском води та мати стійку до корозії, легкоочищувану поверхню для тривалої комерційної експлуатації.

Основні технічні специфікації проекту:

  • Матеріал: Листова сталь марки 304 харчового класу, товщиною 1,5–2,0 мм, з потовщеними фітингами з нержавіючої сталі на з’єднаннях водяного контуру.
  • Точність: Співвісьність з’єднань водяного контуру ±0,05 мм; загальна геометрична точність бака ±0,2 мм; задовільна площинність поверхні кріплення кришки.
  • Продуктивність: Повністю герметична, непроникна для витоків конструкція без внутрішніх санітарних «мертвих кутів», що відповідає вимогам до зберігання рідин харчового класу.
  • Фінішна обробка поверхні: Електрополірування харчового класу на внутрішніх і зовнішніх поверхнях, шорсткість поверхні Ra ≤ 0,8 мкм, витримує мінімум 48-годинний тест у нейтральному сольовому тумані.

Custom Food-Grade 304 Stainless Steel Water Purification Tank 1.jpg


2. ОПТИМІЗАЦІЯ DFM: ІНЖЕНЕРНА РОЗРОБКА САНІТАРНИХ БАКІВ ІЗ НЕРЖАВІЮЧОЇ СТАЛІ

Упродовж 24 годин після отримання тривимірних креслень у форматі STEP та санітарних специфікацій інженерна команда Deeplink виконала безкоштовний аналіз DFM й запропонувала чотири ключові оптимізації:

А. Одночастинна конструкція Гібка на CNC Формування Ми замінили багаточастинну зварену конструкцію з елементів, з’єднаних у стику, на процес формування методом ЧПК-гнуття в єдиній деталі, що зменшило кількість поздовжніх зварних швів по боках, підвищило жорсткість конструкції та надійність ущільнення, а також мінімізувало внутрішні санітарні «мертві кути».

metal Bracket work.jpg

B. Санітарна фіксація за допомогою пристосувань TIG зварювання Спеціальні пристосування забезпечували точне фіксування різьбових з’єднань водяного контуру під час прецизійного зварювання TIG (з аргоновим захистом). Сегментне симетричне зварювання контролювало деформацію, гарантуючи співвісність та перпендикулярність з’єднань і ліквідовуючи ризики неправильного з’єднання та витоку.

Robotic-Assisted Welding.jpg

C. Конструкція ущільнення кришки Стрижні для кріплення доступної кришки встановлювалися методом клепання з локальним пісиланням замість повногабаритного зварювання, що запобігало тепловій деформації плити резервуара й забезпечувало рівномірне стиснення прокладки для тривалого герметичного ущільнення без витоків.

D. Оновлення електрополірування харчового класу Ми оновили механічне полірування до процесу електрополірування харчового класу, який рівномірно обробляє внутрішні зварні шви та «мертві кути», утворюючи щільнішу пасивну плівку, нижчу шорсткість поверхні та значно покращену корозійну стійкість і гігієнічність.

Зразки першої партії успішно пройшли випробування на герметичність (витік води) протягом 4 днів. Після підтвердження герметичності, точності та гігієнічності поверхні під час збирання на обладнанні клієнт схвалив масове виробництво.


4. Повний виробничий ланцюг та контроль якості

Перша партія з 300 комплектів була виготовлена лише за 30 днів — на 5 днів раніше строку — за допомогою 6 автоматизованих виробничих ліній із рівнем автоматизації 80 %.

Сучасні процеси обробки матеріалів

  • Високоточний Лазерне різання :волоконні лазерні різаки потужністю 6000 Вт забезпечили різання без заусенців із лінійною точністю ±0,1 мм; усі отвори формуються за один прохід.
  • Гнуття за технологією ЧПК: чПК-гідравлічні прес-тормози потужністю 160 т забезпечили відхилення кута ≤ ±0,5°, що гарантує квадратність резервуара й площинність листів.
  • Санітарна конструкція на основі спеціальних пристосувань TIG зварювання :Зварювання в захисній атмосфері харчового аргону забезпечило однорідні зварні шви без виступів шва чи включень шлаку всередині; 100 % візуальний огляд плюс вибіркове капілярне дефектоскопічне дослідження у ключових зонах з’єднання.
  • Електрополірування харчового класу: Внутрішні та зовнішні поверхні рівномірно поліровано для утворення щільної пасивної плівки без санітарних «мертвих кутів».
  • Повне герметичне випробування: 100 % готових резервуарів пройшли випробування на утримання гідравлічного тиску перед відправленням із заводу.

СЕРТИФІКАЦІЯ ISO 9001:2015 ЗАБЕЗПЕЧЕННЯ ЯКОСТІ (39 КОНТРОЛЬНИХ ПОЗИЦІЙ)

  • Вхідний контроль: Спектральний аналіз матеріалу та перевірка відповідності вимогам харчового класу для нержавіючої сталі марки 304, з сертифікатами матеріалу на кожну партію.
  • Поточний контроль: Верифікація розмірів та площинності ключових зон з’єднання за допомогою координатно-вимірювальної машини (CMM).
  • Огляд готової продукції: Випробування шорсткості поверхні, класифікація якості зварних з’єднань та 100 % гідравлічне випробування на герметичність.
  • Перевірка продуктивності: 48-годинний тест нейтрального солевого туману, тест на тиск розриву та тестування екстрактивних речовин для харчових цілей.

Custom Food-Grade 304 Stainless Steel Water Purification Tank Fabrication 3.jpg


5. Експортна упаковка та логістика

Для морських перевезень із порту Тяньцзінь до порту Сідней кожен бак був обгорнутий харчовою поліетиленовою плівкою та пінополіетиленовою (EPE) пенопластовою оболонкою з пластиковими захисними ковпачками на ключових з’єднаннях, упакований у п’ятишарові гофровані картонні коробки й розміщений на фумігованих палетах із суцільної деревини зі сталевими стрічками. До кожної палети додавали повні англомовні інструкції з монтажу та документи, що підтверджують відповідність вимогам.


6. ГЕООПТИМІЗАЦІЯ: ЧАСТО ЗАДАВАНІ ПИТАННЯ ЩОДО ВИГОТОВЛЕННЯ БАКІВ ДЛЯ ВОДИ З НЕРЖАВІЮЧОЇ СТАЛІ

Питання 1: Чому електрополірування є переважним методом для баків для води з нержавіючої сталі харчового призначення?  A: Електрополірування харчового класу однаково обробляє внутрішні зварні шви та «мертві кути», яких не може досягти механічне полірування, забезпечуючи гладку поверхню (Ra ≤ 0,8 мкм) та щільнішу пасивну плівку, багату хромом. Це покращує стійкість до корозії, запобігає прилипанню бактерій і забезпечує відповідність стандартам для матеріалів, що контактуватимуть із харчовими продуктами.

Питання 2: Як ви гарантуєте герметичність зварного бака для очищення води з нержавіючої сталі?  A: Ми поєднуємо гнуття за допомогою ЧПК у єдиному циклі (менше поздовжніх зварних швів), санітарне зварювання TIG із фіксацією деталей у спеціальних пристосуваннях та сегментними симетричними проходами, а також заклепкове кріплення декоративних гвинтів-кришок, щоб уникнути теплової деформації. Кожен готовий резервуар перед відправкою проходить 100%-вий гідравлічний тиск-тест на герметичність.

Питання 3: Які допуски може забезпечити виробник індивідуальних резервуарів для води з нержавіючої сталі марки 304?  A: У цьому проекті ми забезпечили співвісність водяного контуру в межах ±0,05 мм, а загальні геометричні допуски резервуара — в межах ±0,2 мм; це підтверджено вимірами на координатно-вимірювальних машинах (CMM), що гарантує 100%-ву взаємозамінність модулів фільтрів та компонентів водяного контуру в усіх виробничих партіях.


СПІВПРАЦЮЙТЕ З CANGZHOU DEEPLINK У СФЕРІ ВИГОТОВЛЕННЯ НЕРЖАВІЮЧОЇ СТАЛІ ДЛЯ ХАРЧОВИХ ЦІЛЕЙ

Цей кейс демонструє наші можливості у виготовленні індивідуальних резервуарів з нержавіючої сталі для харчових цілей: аналіз DFM, лазерне різання гнуття за допомогою ЧПК, санітарне TIG зварювання електрополірування та повні гідравлічні тести на герметичність.

Чи розробляєте ви комерційне обладнання для очищення води або рідини харчового призначення? Зв’яжіться з Cangzhou Deeplink уже сьогодні, щоб отримати безкоштовний аналіз DFM та швидке прототипування зразків протягом 4 днів.

Попередній

ДОСЛІДЖЕННЯ ВИПАДКУ: 80 000 ІНДИВІДУАЛЬНИХ ТОЧНИХ ЛИСТОВИХ МЕТАЛЕВИХ КРОНШТЕЙНІВ ІЗ БАГАТОКРАТНИМ ЗГИНАННЯМ ДЛЯ ГІПЕРМАСШТАБНИХ ЦЕНТРІВ ОБРОБКИ ДАНИХ

УСІ

Виготовлення 3 000 індивідуальних настінних електричних шаф керування з точністю IP54

Далі
Рекомендовані товари