\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);
}
});
})();
Soos die wêreldwye oorgang na volhoubare en hernubare energie versnel, het die vervaardigingsstandaarde vir infrastruktuur—veral Batterystoorstelsels (BESS) en kommersiële sonkragomskakelaars—toegeneem in strengheid. Hierdie kritieke stelsels vereis stewige behuiwings wat onverskrokke strukturele integriteit, presiese termiese bestuur en uiters weerbestande eienskappe bied. Cangzhou Deeplink International Supply Chain Co., Ltd., 'n leidende wêreldwye Plaatmetaalvervaardiging vervaardiger met meer as 10 jaar se ervaring, wat onlangs ’n vennootskap met ’n topvlak-nuwe-energie-tegnologieonderneming aangegaan het om aangepaste OEM-plaatmetaaloplossings te lewer. Hierdie omvattende gevallestudie ondersoek hoe ons ingenieurspan gevorderde lasersny, multi-as CNC-boog en presiese TIG-las gebruik het om hul streng projekvereistes te ontmoet en te oortref. Die kliënt het robuuste, weerbestendige buitekapsels benodig wat ontwerp is om hoogs sensitiewe en swaar batterymodules te huisves. Die ingenieurs- en vervaardigingsuitdagings was veelvlakkig: By Deeplink is ons trots op ons een-stop-dienstemodel. Voordat vervaardiging begin het, het ons ingenieurspan 'n deeglike Ontwerp vir Vervaardigbaarheid (DFM)-ontleding uitgevoer om die kliënt se ontwerptekeninge vir kostedoeltreffendheid en strukturele stabiliteit te optimaliseer. Om die ingewikkelde geometrieë van die dik roestvrystaal- en aluminiumlegeringplate te hanteer, het ons ons toestande van die nuutste generasie vesellaser-snystelsels ingespan. Ons Laser sny dele afdeling bedryf hoëvermoënsmasjinerie wat in staat is om tot 20 mm roestvrystaal met mikronnoukeurigheid deur te sny. Dit het verseker dat die hoëdigtheid-ventilasiegate en ingewikkelde randprofieltekeninge skoon gesny is, sonder enige termiese vervorming of mikrokrake. Hierdie uitstekende randkwaliteit het die behoefte aan sekondêre ontbytprosesse aansienlik verminder en die vervaardigingstydperk versnel. Na die lasersnyfase het die plat komponente na ons geoutomatiseerde vormlyn beweeg. Ons het gevorderde 6-as-CNC-drukbreuke gebruik om presiese veelhoekige buigings te bereik. Die handhawing van ’n buigtoleransie van ±0,1 mm het toegelaat dat die inklinkpaneel perfek tydens die monteringsfase uitly. Vir gesamentlike montering het ons ISO 3834-gesertifiseerde ingenieurs presisie-argonbeskermde TIG-laswerk toegepas. Hierdie tegniek waarborg hoë strukturele integriteit, uitstekende lasdra-vermoë vir die swaar interne batterye en ’n foutlose, naadlose afwerking wat voortdurend voorkom dat vog deurdring. Om aan die streng vereiste van 10 jaar buite-duurzaamheid te voldoen, was tradisionele poederverf onvoldoende as gevolg van die risiko van ongelyke bedekking in die kassie se blinde hoeke. In plaas daarvan het ons elektroforetiese polisering (E-bekleding) toegepas. Hierdie gevorderde oppervlakbehandeling verskaf 360-grade eenvormige bedekking en bind aktief met die metaalsubstraat. Dit het nie net die premium, estetiese metalliese afwerking verbeter nie, maar ook superieure anti-korrosie- en anti-roes-eienskappe verskaf wat maklik die kliënt se 1 000-uur soutspuittoets behaal het. Deeplink se vervaardigingsfasiliteit strek oor meer as 5 000 vierkante meter en is toegerus met 6 outomatiese vervaardigingslyne (80% outomatiseringsvlak). Ons spesifieke vermoëns vir hierdie projek het ingesluit: Deur ons volledige bedryfskettingvermoëns te integreer—van DFM-raadgewing en lasersnyding tot Cnc masjineringsdele en finale montering—het Deeplink suksesvol die kliënt se algehele vervaardigingsleidtyd met 25% verminder. Die kombinasie van presiese CNC-bewerkings-toleransies en elektroforetiese polisering het beteken dat die produk die kliënt se streng IP67-waterdig- en omgewingsbelastingtoetse by die eerste poging met sukses deurgeloop het. Die hoë eerste-deurgang-opbrengskoers het vervaardigingskoste aansienlik verlaag, wat ’n langtermyn OEM/ODM-verhouding tussen Deeplink en die energietegnologieverskaffer vasgelê het. V: Wat is die maksimum materiaaldikte wat u vir pasgemaakte lasersnydele kan verwerk? A: By Deeplink kan ons gevorderde vesellasermasjiene tot 25 mm koolstofstaal, 20 mm roestvrystaal en 12 mm aluminium met uitstekende presisie en skoon rande sny. V: Verskaf u montering en oppervlakbehandeling saam met basiese plaatmetaalvervaardiging? A: Ja. Ons is ’n werklike eenstopvervaardiger wat volgens ISO9001 gecertifiseer is. Ons verskaf omvattende einde-tot-einde-dienste, insluitend metaalstansing, CNC-boogvorming, TIG-/MIG-laswerk, klinknagelmontasie, elektroforetiese polisering, poeierbekleedings en finale meganiese montasie. V: Kan julle help met produkontwerp en prototipering vir nuwe-energie-behousings? A: Absoluut. Ons ingenieurspan bied tegniese raadgewing en tekeningeontwerp (DFM-analise) aan om u CAD-lêers voor vervaardiging te optimaliseer. Ons verskaf vinnige monster-toetsing en prototipering om te verseker dat die ontwerp aan al die funksionele en IP-graderingsvereistes voldoen voordat dit na massa-vaardiging oorgaan. V: Hoe verseker julle die dimensionele akkuraatheid van diep-trek- en metaalstansdele? A: Ons het ’n toegewyde gehalteversekeringspan (QA) wat meer as 80 opsporingsvermoëns uitvoer. Deur gebruik te maak van CMM (koördinaatmeetmasjiene) en presisie-optiese projekteerders, verseker ons dat alle aangepaste OEM-dele streng aan mikronvlak-toleransies voldoen. Klaar om u volgende vervaardigingsprojek te optimaliseer met premiekwaliteit en vinnige lewerings? KONTAK DEEPLINK VANDAAG vir 'n gratis DFM-analise en 'n vinnige aangepaste kwotasie. Aangepaste OEM-plaatmetaalvervaardiging: Gevallestudie oor presisielaseruitsnyding en CNC-boogbuiging
Hoë-presisie-laseruitsnyding en CNC-buiging vir behuiwings van nuwe-energietoestelle

1. Kernprojekuitdagings en -vereistes
2. Deeplink se Geïntegreerde Vervaardigingsoplossings
2.1 Mikronvlak-aangepaste lasersny- en profielwerk

H3: 2.2 CNC-drukbreukbuig- en presisie-TIG-laswerk

2.3 Gevorderde oppervlakbehandeling: Elektroforetiese polisering

3. Verwerkingvermoë-metriek (tegniese spesifikasies)
4. Projekresultate en Kliëntvoordele
H2: 5. Gewilde Vrae (GV)
Aanbevole produkte