\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); } }); })(); src="https://www.googletagmanager.com/ns.html?id=GTM-PR3FZLWQ" height="0" width="0" style="display:none;visibility:hidden"> すべてのカテゴリ ホーム 关于我们 製品 钣金制造 金属プレス部品 レーザー切断部品 絞り加工部品 溶接・リベット加工部品 CNCマシニング部品 サービス 钣金制造 レーザーカットサービス 金属曲げサービス 金属スタンピングサービス 金属溶接サービス 金属深絞りサービス カスタムCNC機械加工サービス カスタムCNCフライス加工サービス カスタムCNC旋削サービス カスタム組立サービス 迅速プロトタイピングサービス 大量生産サービス ニュース ブログ パフォーマンスケース ビデオ お問い合わせ ホーム 关于我们 製品 钣金制造 金属プレス部品 レーザー切断部品 絞り加工部品 溶接・リベット加工部品 CNCマシニング部品 サービス 钣金制造 レーザーカットサービス 金属曲げサービス 金属スタンピングサービス 金属溶接サービス 金属深絞りサービス カスタムCNC機械加工サービス カスタムCNCフライス加工サービス カスタムCNC旋削サービス カスタム組立サービス 迅速プロトタイピングサービス 大量生産サービス ニュース ブログ パフォーマンスケース ビデオ お問い合わせ EN EN AR CS DA NL FI FR DE EL IT JA KO NO PL PT RO RU ES SV TL ID SR SK SL UK VI HU TH TR FA AF MS GA AZ BN LO MN KK UZ KY パフォーマンスケース ホーム>パフォーマンスケース OEM事例紹介:カスタム製304ステンレス鋼製バーベキューグリルパン、深絞り加工の穴あきローストトレイ、溶接式ハンドルアセンブリ ISO 9001認証取得済みのOEMメーカー・滄州ディープリンク社が、12kWレーザーによるプロトタイピング、25トン~400トン級の深絞り加工、CNCによるハンドル曲げ、TIG/レーザー溶接、パッシベーション処理を活用し、食品衛生基準対応の304/316ステンレス鋼製バーベキューグリルパンおよび穴あきローストトレイをカスタム生産する様子をご覧ください。 OEMケーススタディ:カスタム316ステンレス鋼製マリン機器ガード、チューブフレームおよびガセットブラケット溶接アセンブリ ISO 9001認証取得済みのOEMメーカー、滄州ディープリンク社が、12kWレーザー切断、CNCチューブベンディング、3次元治具を用いたTIG溶接、およびパッシベーション工程を活用して、カスタム316ステンレス鋼製マリン機器ガードおよび溶接チューブフレームを製造する様子をご覧ください。 OEM事例研究:電力分配システム向けカスタム銅製バスバーの加工、CNC曲げ、端子プレス成形 ISO 9001認証取得OEMメーカー「滄州ディープリンク」が、12kWファイバーレーザー切断(銅材最大6mm対応)、3,200mmまでのCNC曲げ、25トン~400トン級プログレッシブダイプレス成形を活用して、高導電性のカスタム銅製バスバーおよびプレス端子をどのように製造しているかをご覧ください。 頑丈な農業機械用ガード:粉体塗装仕上げのカスタム金属製造事例 ISO 9001認証取得OEMメーカーが手掛ける農業機械用金属部品および頑丈なガード。レーザー切断、プログレッシブダイスタンピング、ジグ溶接、粉体塗装に対応。DFMレビューおよびお見積り可能です。 医療機器用金属筐体:316Lステンレス鋼を用いたゼロ欠陥事例研究 医療機器用金属筐体の事例研究:デープリンクOEM社による、公差±0.05 mm、バリなしエッジ、完全なトレーサビリティを実現した316Lステンレス鋼製ハウジング OEM事例紹介:電子機器向け高精度カスタム板金筐体 ISO 9001認証取得済みのOEMメーカーが、12kWファイバーレーザー切断、高度な熱管理技術、高品質な粉体塗装仕上げを特長とする電子機器向け高精度カスタム板金筐体をどのように製造しているかをご覧ください。 カスタムステンレス鋼センサーブラケット:DFMから2万個量産までのプログレッシブダイプレス成形の事例紹介 DEEPLINKによるプログレッシブダイ打ち抜きの事例研究:SUS304製カスタムセンサーブラケット20,000個を45日間で納品。公差±0.05mm、PPAPレベル3対応、コストを28%削減。 赤色粉体塗装済みディープドローイング鋼製タンク(ねじ式出口付き)― OEM事例紹介 高精度な赤色粉体塗装鋼製シリンダーをご紹介します。製造は、ISO 9001認証を取得し、10年以上の実績を持つ滄州ディープリンク社が担当。深絞り加工、レーザー切断、ロボットによるTIG溶接を、マイクロメートル単位の公差で実現します。 カスタム3段メタルメッシュ収納カートの製造:OEM事例研究 当社が手掛けた、カスタム3段メタルメッシュ収納カートのOEM製造事例をご覧ください。DFM最適化、ロボット溶接、ISO 9001準拠の品質保証をご紹介します。 事例紹介:耐久性に優れた赤色粉体塗装機械用ブラケットの高精度製造 ディープリンクが、CNCレーザー切断・曲げ・TIG溶接および耐久性に優れた赤色粉体塗装を組み合わせて、高精度・高強度の金属ブラケットを製造する様子をご覧ください。ISO9001認証取得済み。 カスタムOEM板金加工:高精度レーザー切断およびCNCベンディングの事例研究 ディープリンクが、新エネルギー向けエンクロージャー向けに高精度CNCレーザー切断およびプレスブレーキ曲げをいかに実現しているかをご覧ください。ISO9001認証取得メーカーであり、TIG溶接および電着塗装(エレクトロフォレティック・ポリッシング)も提供しています。 高度なケーススタディ:高精度レーザー切断とCNC曲げを統合したカスタム板金加工 滄州ディープリンク社が、高精度CNCレーザー切断、自動プレスブレーキ曲げ、そして完璧なTIG溶接を活用し、ISO9001認証取得済みのカスタム板金筐体を世界中の産業向けに提供している様子をご覧ください。 前へ 1 2 3 次へ ホーム 製品一覧 メール 電話
ホーム>パフォーマンスケース
ISO 9001認証取得済みのOEMメーカー・滄州ディープリンク社が、12kWレーザーによるプロトタイピング、25トン~400トン級の深絞り加工、CNCによるハンドル曲げ、TIG/レーザー溶接、パッシベーション処理を活用し、食品衛生基準対応の304/316ステンレス鋼製バーベキューグリルパンおよび穴あきローストトレイをカスタム生産する様子をご覧ください。
ISO 9001認証取得済みのOEMメーカー、滄州ディープリンク社が、12kWレーザー切断、CNCチューブベンディング、3次元治具を用いたTIG溶接、およびパッシベーション工程を活用して、カスタム316ステンレス鋼製マリン機器ガードおよび溶接チューブフレームを製造する様子をご覧ください。
ISO 9001認証取得OEMメーカー「滄州ディープリンク」が、12kWファイバーレーザー切断(銅材最大6mm対応)、3,200mmまでのCNC曲げ、25トン~400トン級プログレッシブダイプレス成形を活用して、高導電性のカスタム銅製バスバーおよびプレス端子をどのように製造しているかをご覧ください。
ISO 9001認証取得OEMメーカーが手掛ける農業機械用金属部品および頑丈なガード。レーザー切断、プログレッシブダイスタンピング、ジグ溶接、粉体塗装に対応。DFMレビューおよびお見積り可能です。
医療機器用金属筐体の事例研究:デープリンクOEM社による、公差±0.05 mm、バリなしエッジ、完全なトレーサビリティを実現した316Lステンレス鋼製ハウジング
ISO 9001認証取得済みのOEMメーカーが、12kWファイバーレーザー切断、高度な熱管理技術、高品質な粉体塗装仕上げを特長とする電子機器向け高精度カスタム板金筐体をどのように製造しているかをご覧ください。
DEEPLINKによるプログレッシブダイ打ち抜きの事例研究:SUS304製カスタムセンサーブラケット20,000個を45日間で納品。公差±0.05mm、PPAPレベル3対応、コストを28%削減。
高精度な赤色粉体塗装鋼製シリンダーをご紹介します。製造は、ISO 9001認証を取得し、10年以上の実績を持つ滄州ディープリンク社が担当。深絞り加工、レーザー切断、ロボットによるTIG溶接を、マイクロメートル単位の公差で実現します。
当社が手掛けた、カスタム3段メタルメッシュ収納カートのOEM製造事例をご覧ください。DFM最適化、ロボット溶接、ISO 9001準拠の品質保証をご紹介します。
ディープリンクが、CNCレーザー切断・曲げ・TIG溶接および耐久性に優れた赤色粉体塗装を組み合わせて、高精度・高強度の金属ブラケットを製造する様子をご覧ください。ISO9001認証取得済み。
ディープリンクが、新エネルギー向けエンクロージャー向けに高精度CNCレーザー切断およびプレスブレーキ曲げをいかに実現しているかをご覧ください。ISO9001認証取得メーカーであり、TIG溶接および電着塗装(エレクトロフォレティック・ポリッシング)も提供しています。
滄州ディープリンク社が、高精度CNCレーザー切断、自動プレスブレーキ曲げ、そして完璧なTIG溶接を活用し、ISO9001認証取得済みのカスタム板金筐体を世界中の産業向けに提供している様子をご覧ください。