60 ტონიანი ჰიდრავლიკური პრესი....">
,需要通过父级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 || node.innerHTML || '');
if (phoneReg.test(str) && numUseReg.test(str)) {
_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;
var fatherDom = trimText(node.parentNode.innerHTML || '');
if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) {
_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)) {
_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')) {
_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)) {
_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)) {
_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);
}
});
})();
Დააკვირდეთ თუ როგორ გაიჭრია ხვრელები მეტალურ ფერაში? ეს შეიძლება საკმარისად პროცესია! ეს გაჭრივება ხდება განსაკუთრებით ინსტრუმენტით, რომელსაც „ 60 トん ჟიდებული პრესი . ეს მანქანების შესარჩევად კომპანია Nadun-ით არის გაცნობილი. ისინი შექმნილია იმისა, რომ გამოიყენონ მაღალი ჰიდრაულიკური ძალა მეტალურGI ფერაში ხვრელი წრე სწრაფად და ზუსტად გახატვისთვის. ეს ხდის ის们 საკმარისად გამოსადეგი ყველა სექტორში, რომელიც მეტალს გამოიყენებს. Ჰიდრაულიკური ჩაჭრის მანქანები მაღალი ჩაჭრის ძალის მქონდებია, რადგან ისინი გამოიყენებენ წნევილი ღერძს. ეს ღერძი მუშაობს ინსტრუმენტზე (რომელსაც წვეული უწოდებენ), რომელიც არის ელემენტი, რომელიც ჩაჭრის მეტალის ფერცხლს. წვეულის ძალა ძალიან დიდია, რაც ხდის მანქანას საშუალებას ჩაჭრის სწრაფ განხორციელებას მეტალში მაღალი ზუსტობით. ეს არ არის მარტივი ჩაჭრის მანქანები, რომლებიც მხოლოდ მართვების ჩაჭრას ხდებიან: შეგიძლიათ მიიყენოთ მათ ფორმებისა და დიზაინის ჩაჭრა მეტალზე, რაც ძალიან სასარგებლოა ბევრი პროექტისთვის. Მეტალის მუშაობის მომავალი ძალიან დამოკიდებულია 100 トん ჟიდესპირის მანიტი ს. უკვე მრავალი კომპანია იყენებს მათ, რადგან მათ ძალიან კარგად წარმატებულია იმ რასაც აკეთებენ და მათ ძალიან ეფექტიურია. ნადუნი გახდა ერთ-ერთი მთავარი წარმოებელი ახალ ჰიდრაულიკური ჩამოჭრის მაशინების შემთხვევაში, რომლებიც გარკვეული perfomance-ს ასახავენ. და ა. — ერთ-ერთი საუკეთესო რამ ეს მაशინების შესახებ არის იმის მიხედვით, რომ მათ ასევე კარგია PLANET-ისთვის. მათ არ წარმოადგენს ნაკლებს და არ იყენებენ ტოქსინურ მასალებს, ამიტომ მათ გარკვეული არის SMART CHOICE იმ ბიზნესებისთვის, რომლებიც დაინახავენ PLANET-ს. Ჰიდროლიკური გაჭრივების მანქანები მiliki დახურულ გაჭრივებას, რაც ნიშნავს, რომ ისინი შეძლებენ გაჭრივებას რამდენიმე გზით. ისინი შეძლებენ ჩაწვრილ მეტალურგიულ ფერაში, ფორმირებას და პროდუქტების ნიშნულს. ეს მანქანები შეძლებენ დაჯავშნას განსხვავებულ მასალებზე, მათ შორის სტილი, ალუმინი, ბრონზა და მედი. ეს ნიშნავს, რომ მიუხედავად იმისა, რომელი მეტალი უნდა განათეთ, Nadun-ში შეგიძლიათ აირჩიოთ მანქანები, რომლებიც უფრო განსაზღვრულია თქვენს საჭიროებზე. ეს მანქანები შეგიძლიათ დაგეხმარონ თქვენს სასურველ შედეგზე, მიუხედავად იმისა, რომ ეს მარტივი ჩაწვრილია თუ სირთული დიზაინი. Ჰიდრაულიკური გაჭრივების მანქანები ძალიან მეტ პროფიტს ახსნენ, შედარებით ძველ მანქანებს. ისინი სწრაფია, რაც ნიშნავს, რომ მათი ფუნქციები ჩამოყალიბების მაგივრად შესრულდება, და ზუსტია, რაც ნიშნავს, რომ მათ მიერ შექმნილი ხვრელები ძალიან ზუსტია. რადგან ისინი შეგიძლია ერთდროულად რამდენიმე ხვრელი გაჭრინ, ისინი ასახალობენ დროსა და შრომასაც. სხვა რისი, ეს მანქანები არ მხოლოდ დამაგრებულებია, არამედ მათ საჭიროა ძალიან ნაკლები მართვა. ეს მანქანები მარტივია მუშაობისთვის და დახმარებულებს მუშაობებს ხვრელებისა და დიზაინების შექმნაში პრობლემების გარეშე. Nadun-ის ჰიდრაულიკური გაჭრივების მანქანები არსებობს მომხმარებლისთვის მეტყველი ინტერფეისით, რაც ნიშნავს, რომ ნახევარებიც შეძლებენ მათ კომფორტულად მუშაობას. განსხვავებით, ისინი ენერგიას მეტიანი კრებულია—რაც ნიშნავს, რომ ნაკლები ენერგია ასჭირება მათი მუშაობისთვის, რაც კარგია სიმღერის შედარებით და გარემოდან. Nadun Machinery წამყვანი მწარმოებელი და ექსპორტიორია ლითონის დამუშავების მანქანების, რომელსაც 17-ზე მეტი წლის გამოცდილება აქვს. ჩვენ გვაქვს სპეციალიზაცია გამჭიდროვების პრესებზე და ჰიდრავლიკურ პრესებზე. ჩვენ ასევე ვაწვდით ჭრის და მოღუნვის მანქანებს. ჩვენი პროდუქტები იყიდება მსოფლიოს მასშტაბით 150-ზე მეტ ქვეყანაში, ჰიდრავლიკური გამჭიდროვების მანქანის ახალი სტანდარტების მწარმოებლობის მიხედვით. Კომპანია წლიურად 400-ზე მეტი კლიენტისთვის ათავსებს და ჩართავს მოწყობილობებს. წლიურად წარმოებულია 500-დან 600-მდე სხვადასხვა პროდუქტის კომპლექტი. ჩვენი პროდუქტები სერთიფიცირებულია ISO, CE და SGS სტანდარტებით. ჩვენ ვართ რამდენიმე პროდუქტის ინოვაციური პატენტების და პოულობის თავისუფლების მქონე საპატიო სერთიფიკატების მფლობელი, რაც აღიარებს ჩვენს ვალდებულებას ჰიდრავლიკური გამჭიდროვების მანქანის მიმართ. Გაგრილების ამონახსნების სფეროში Dragon and Tiger და Temple of Heaven ბრენდები აკმაყოფილებს ბაზრის მრავალფეროვან მოთხოვნებს, პროდუქტების შერჩევა შესაძლებელია სხვადასხვა ტიპის მომხმარებლებისთვის და გამოყენების სცენარებისთვის. კომპანიის მიზანი ჯანსაღი ჰიდრავლიკური პრეს-პუნჭის ლიდერად გამოჩენა ეფუძნება ბრენდის პროდუქტული ხაზების შექმნას, ჯანსაღი პროდუქტების და მომხმარებლის გამოცდილების გაუმჯობესებას. Nadun Machinery-ის პროდუქცია ცნობილია მათი ხარისხით, განსაკუთრებული წარმადობით და ხანგრძლივი მომსახურებით. Nadun Machinery-ს კვლევისა და განვითარების სექცია 10-ზე მეტი თანამშრომლისაგან შედგება, რომლებსაც კვლევისა და განვითარების საშუალოდ 10 წელზე მეტი გამოცდილება აქვთ. ისინი ახალი იდეებით ახალი პროდუქტების განვითარებას უმასპინძლებენ ჰიდრავლიკური გამჭედი მანქანის ცვალებადი ბაზრის საჭიროებების შესაბამისად. Ავტორის უფლებები © Nadun Machinery Manufacture Co., Ltd. ყველა უფლება დაცულია
-
Პირადულობის პოლიტიკა
Nadun Machinery Manufacture Co., Ltd.
ჰიდროლიკური ჩართვის მაशინი
Როგორ მუშაობს ჰიდრაულიკური ჩატრევის მანქანები

Ჰიდრაულიკური ჩატრევის მანქანები არის მომ GaussianFuture

Ჰიდრაულიკური ჩატრევის მანქანების ვერსათლობა

Ჰიდრაულიკური ჩატრევის მანქანების პროფიტები
Why choose Nadun
ჰიდროლიკური ჩართვის მაशინი?
Კომპანიის ექსპერტიზა და გლობალური მასშტაბი:
Მั่นคงი პროდუქტის ხარისხი
Მრავალფეროვანი პროდუქცია
Მაღალი ხარისხი და შესაბამისი შესაბამისი:
Დაკავშირებული პროდუქტის კატეგორიები
Ნვ ნაოპაგთრვ ქრჲ რპწბგაქ?
Მოთხოვნა ციფრით
Სვანეთსა და კვანძშიᲓაუკავშირდით