Neem contact op
Bladmetaalbewerkingsdiensten
Direct offertes voor op maat gevormde plaatdelen | Prototypen en productieonderdelen in dagen;| Tekeningen in 3 dagen, monsters in 7 dagen | ISO- en CE-gecertificeerde kwaliteitsborging
\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);
}
});
})();
Metaalrekwisitie, ook bekend als metaal dieptrekken, is een kernproductieproces binnen de vervaardiging van dieptrekonderdelen van metaal, waarbij metalen platen worden omgevormd tot complexe, driedimensionale dieptrekonderdelen door middel van een trekkracht die met een matrijs wordt uitgeoefend. Deze techniek is essentieel in sectoren die hoogprecieze dieptrekonderdelen vereisen, zoals wastafels, bakplaten, sanitairarmaturen, auto-onderdelen, drankblikjes en dieptrekbehuizingen. Als een belangrijke methode binnen het dieptrekmetaalstansen (ook wel dieptrekstansen genoemd), biedt deze techniek een uitzonderlijke structurele integriteit voor kritieke toepassingen in diverse sectoren. DEEPLINK International Supply Chain Company is een gespecialiseerde leverancier van maatwerk-metaal dieptrekken, uitgerust om projecten van verschillende omvang moeiteloos en met precisie uit te voeren—of het nu gaat om kleine series prototype metaalonderdelen voor dieptrekken of grootschalige productie van diepgetrokken componenten. Onze fabriek is ontworpen om aan hoge productie-eisen te voldoen, wat schaalbaarheid waarborgt van maatwerkprototypes tot massaproductie. Wij zijn trots op onze uitzonderlijke kwaliteit en precisie en handhaven strikte toleranties om te voldoen aan de meest exacte specificaties voor alle soorten diepgetrokken onderdelen. Met geavanceerde machines en een ervaren team garandeert DEEPLINK duurzaamheid, consistentie en efficiëntie, waardoor wij een vertrouwde partner zijn voor hoogprecieze diepgetrokken metaalcomponenten in diverse industrieën. Belangrijkste toezeggingen Deze initiële fase omvat nauwe samenwerking met de klant om de specificaties van het dieptrekonderdeel te bepalen, waaronder afmetingen, toleranties, materiaalsoort (zoals staal voor dieptrekstaal of roestvaststaal voor dieptrekroestvaststaal) en eventuele speciale vereisten. Er wordt een gedetailleerd CAD-model gemaakt, vaak inclusief simulaties om de haalbaarheid en prestaties van het dieptrekmetaalvormingsproces te testen. Op basis van het ontwerp selecteren wij het geschikte metaal (bijvoorbeeld dieptrekroestvaststaal, aluminium voor aluminiumdieptrekken of koper). Het materiaal wordt vervolgens voorbereid door het op maat te snijden en ervoor te zorgen dat het vrij is van verontreinigingen, aangezien schoonheid essentieel is voor kwalitatief hoogwaardige dieptrekmetaalrekkingsprocessen. Er worden aangepaste gereedschappen en matrijzen gemaakt of afgestemd op het ontwerp van het dieptrekonderdeel. Correct geprepareerde gereedschappen zijn essentieel om nauwkeurige vormen te bereiken bij dieptrekstansen en consistentie te waarborgen tijdens productielopen van dieptrekonderdelen. Het uitrekkingsproces begint met het plaatsen van het voorbereide materiaal in de matrijs en het aanbrengen van gecontroleerde druk. Via metaaldieptrekken of andere dieptrektechnieken voor metaal wordt het materiaal geleidelijk gevormd tot de gewenste vorm (zoals dieptrekbehuizingen of precisie-onderdelen), waarbij zorgvuldig wordt gelet op spanning, vervorming en uitlijning. Na het uitrekken wordt overtollig materiaal verwijderd en wordt het dieptrekonderdeel verder gevormd om aan de exacte specificaties te voldoen. Deze stap kan aanvullende processen omvatten, zoals buigen of het verfijnen van details voor dieptrekmetaalstempelproducten. Afhankelijk van de beoogde toepassing van het dieptrekonderdeel kunnen oppervlaktebehandelingen zoals polijsten, anodiseren of coaten worden toegepast. Deze afwerkingsstappen verbeteren de corrosiebestendigheid, duurzaamheid en visuele aantrekkelijkheid van dieptrekmetaalonderdelen. Elk diepgetrokken onderdeel wordt grondig geïnspecteerd om te verifiëren dat het voldoet aan de specificaties van de klant. De tests kunnen dimensionele controles, beoordelingen van structurele integriteit en, indien vereist, gespecialiseerde tests voor branchestandaarden op het gebied van dieptrekstansen en dieptrekmetaalvorming omvatten. Deze stappen vormen de essentiële werkstroom voor de productie van hoogwaardige diepgetrokken metalen componenten, waardoor elk onderdeel precies voldoet aan de behoeften van de klant. Metaaldieptrekken maakt het mogelijk om diepgetrokken onderdelen te produceren met naadloze afwerking, hoge structurele integriteit en uitstekende sterkte-op-gewichtverhoudingen. Naadloze ontwerpen bieden een verhoogde duurzaamheid en sterkte zonder dat secundaire verbindingsprocessen nodig zijn — een belangrijk voordeel van metaaldieptrekstansen en dieptrekmetaalvorming. Als u meer wilt weten over hoe dieptrekken van metaal de kwaliteit en prestaties van uw diepgetrokken onderdelen kan verbeteren—of u nu aluminium dieptrekken, staal dieptrekken, roestvrijstaal dieptrekken of op maat gemaakte diepgetrokken behuizingen nodig heeft—neem dan gerust contact met ons op. Ons team staat klaar om inzicht te geven in hoe deze techniek kan worden afgestemd op uw specifieke behoeften op het gebied van dieptrekstansen of dieptrekken van metaal, en u te helpen optimale resultaten te bereiken. Neem vandaag nog contact met ons op voor meer informatie! Neem contact op Bladmetaalbewerkingsdiensten Direct offertes voor op maat gevormde plaatdelen | Prototypen en productieonderdelen in dagen;| Tekeningen in 3 dagen, monsters in 7 dagen | ISO- en CE-gecertificeerde kwaliteitsborgingFabrikant van precisie dieptrekken metalen onderdelen
✅ Fabrieksprijs (geen middenmanmarge)
✅ Gemiddelde reactietijd offerte: 6-8 werkdagen
✅ Gratis DFM-analyse inbegrepen
✅ Materiaalcertificering beschikbaar
✅ MOQ: 1 stuks voor prototyping
✅ Kortingen op grootschalige productie beschikbaar
Metaal dieptrekken

Deeplink Internationaal leveringsketenbedrijf


Materiaal: aluminium (0,8 mm) – aluminium dieptrekken
Materiaal: Staal (1,1 mm) – Dieptrekstaal
Materiaal: Roestvrij staal (0,6 mm) – Dieptrekroestvrij staal

Metaaldieptrekprojecten omvatten doorgaans meerdere belangrijke fasen
Ontwerp en Planning
Materiaalselectie en voorbereiding
Gereedschaps- en matrijzenvoorbereiding
Dieptrekkingsproces
Afsnijden en vormgeven
Oppervlakteafwerking
Kwaliteitscontrole en Testen

Klaar om aan de slag te gaan? Neem contact op met DEEPLINK voor uw maatwerk metalen behoeften
Massaproductie: (30% vooraf als aanbetaling, rest voor levering)
wekelijkse rapporten met foto's of video's die het productieproces tonen. Aanbevolen producten
Neem contact met ons op