کی اصطلاح پر ملے تو دماغ میں ایک سوال پیدا ہو سکتا ہے کہ ان کا استعمال کس لیے کیا جاتا ہے؟ VTL مختصر... ">
,需要通过父级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);
}
});
})();
اگر آپ کو کبھی اصطلاح کے سامنے آنا ہو تو cnc lathe machine آپ کے ذہن میں ایک سوال پیدا ہوسکتا ہے کہ ان کا کس چیز میں استعمال کیا جاتا ہے؟ VTL کا مطلب عمودی ٹورٹ لیتھے ہے، اور یہ مشین کی ایک قسم ہے جس کا استعمال جہازوں، کاروں، اور یہاں تک کہ فیکٹریوں میں پائی جانے والی دیگر مشینوں کے لیے پرزے بنانے کے لیے کیا جاتا ہے۔ CNC VTL مشینوں کی قابل بھروسہ حیثیت کے لحاظ سے نادون ایک اچھا نام ہے۔ یہ بہت اہم ہیں کیونکہ یہ آپ کو بہت زیادہ درستگی اور رفتار کے ساتھ مصنوعات تیار کرنے کی اجازت دیتی ہیں۔ یہ پیداوار کو ہموار اور تیز رکھنے میں مدد کرتی ہیں۔ اگر آپ کے پاس ایک فیکٹری ہے اور آپ کو کسی چیز کو تیزی سے بہت زیادہ مقدار میں تیار کرنے کی ضرورت ہو تو یہ مشینیں بہت مفید ہیں۔ ان کی تعمیر بڑے کاموں کو سر انجام دینے کے لیے کی گئی ہے اور بغیر خراب ہوئے کام جاری رکھنے کے قابل ہے۔ نتیجتاً مشینوں کی مرمت کے بارے میں فکر کرنے میں کم وقت لگتا ہے اور مصنوعات کی پیداوار میں زیادہ وقت صرف ہوتا ہے۔ نادون کے لیے استعمال کی گئی ٹیکنالوجی brake press cnc اِس کی انتہائی ترقی ہوچکی ہے۔ دوسرے الفاظ میں، وہ ایسے اجزاء کی پیداوار کر سکتے ہیں جن کی انتہائی درستگی کی ضرورت ہوتی ہے، بغیر کسی غلطی کے۔ یہ بات ان صنعتوں کے لیے بہت اہم ہے جن میں ہر چھوٹی چیز کی اہمیت ہوتی ہے، جیسے کہ فضائی سفر یا طبی آلات۔ مشینوں کی اسمارٹ ٹیکنالوجی یہ یقینی بناتی ہے کہ ہر کٹ درست ہو، جس سے اعلیٰ معیار کی اشیاء بنانے میں مدد ملتی ہے۔ بعض صنعتیں اپنی مشینوں سے مختلف چیزوں کی خواہش کرتی ہیں۔ بنائے جانے والے اجزاء کی خصوصیات کو OEM مشینوں کے فیچرز فراہم کریں۔ نادون کی CNC VTL مشینیں ان ضروریات کے مطابق ماڈل کے لیے مناسب ہیں۔ کار کے اجزاء بنانا؟ ہوائی جہاز کے اجزاء بنانا؟ جو کچھ بھی بنایا جا رہا ہے، مشین کو اس کام کے لیے بہترین مشین بنانے کے لیے ٹیون کیا جا سکتا ہے۔ لاگت کے لحاظ سے مؤثر مشینیں سی این سی پریس بریک کنٹینرز، پیکیجز وغیرہ کے لیے سڑک کے ذریعے عمودی نقل و حمل کا اچھی طرح سے جانا پہچانا اور قائم طریقہ ہے۔ نادون کی مشینوں کی سب سے بڑی خوبی یہ ہے کہ cNC پریس بریک میکین وہ مضبوط اور دیرپا ہیں۔ یہ قوی مواد اور دانشمندانہ، خوبصورت ڈیزائنوں سے تیار کیے گئے ہیں تاکہ یقینی بنایا جا سکے کہ یہ آپ کے لیے سالوں تک چلیں۔ یہ کاروبار کے لیے اچھا ہے، کیونکہ اس کا مطلب ہے کہ انہیں مسلسل نئی مشینیں خریدنے کی ضرورت نہیں پڑے گی۔ کاروبار کو نادون کے ذریعہ پیش کیے گئے روشن حل سے فائدہ حاصل ہو گا شیٹ میٹل شیار مشین تیزی سے زیادہ پرزے تیار کرنے میں پیش کرتے ہیں۔ ان مشینوں کی تعمیر کام کو تیزی اور درستگی سے انجام دینے کے لیے کی گئی ہے، جس سے آپ کم وقت میں زیادہ مصنوعات تیار کر سکتے ہیں۔ یہ کمپنیوں کے لیے اچھا ہے کیونکہ اس سے انہیں زیادہ فروخت اور زیادہ منافع کمانے کا موقع ملتا ہے۔ اور یہ مشینیں چلانے میں آسان ہیں، لہذا ملازمین انہیں تیزی سے استعمال کرنا سیکھ سکتے ہیں، اور مصنوعات تقریباً فوری طور پر تیار کر سکتے ہیں۔ 17 سال سے زائد کی ماہریت کے ساتھ، نادون مشینری دھات کی پروسیسنگ کے شعبے میں ایک بارز صنعت کار اور برآمد کنندہ بن چکی ہے۔ ہم ہائیڈرولک پریسز، پنچ پریسز، کاٹنے اور موڑنے کی مشینوں، اور عمودی لیتھز پر توجہ مرکوز کرتے ہیں جو ہوا بازی، خودکار گاڑیوں کی تیاری، تعمیرات، مکینیکل انجینئرنگ، اور دھاتیاتی صنعتوں سمیت مختلف شعبوں کی خدمت کرتی ہیں۔ ہماری مصنوعات سی این سی وی ٹی ایل مشینیں دنیا بھر کے 150+ ممالک اور علاقوں میں پھیلی ہوئی ہیں، جس سے مشینری کی پیداوار میں نئے معیارات قائم ہو رہے ہیں۔ نادون مشینری اپنی اعلیٰ معیار کی مصنوعات کے لیے مشہور ہے جو اپنی کارکردگی اور طویل مدتی پائیداری کے لحاظ سے مشہور ہیں۔ نادون مشینری کے تحقیق اور ترقی کے ماہرین اور ڈیویلپرز میں 10 سے زائد افراد شامل ہیں جن کا تحقیق اور ترقی میں اوسطاً 10 سال سے زائد کا تجربہ ہے۔ ہماری ٹیم مسلسل سی این سی وی ٹی ایل مشینوں کو بہتر بنانے اور نئے ایجادات کرنے کے لیے کام کرتی رہتی ہے تاکہ تبدیل ہوتی ہوئی منڈی کی ضروریات کو پورا کیا جا سکے۔ تمبر کولنگ پروڈکٹس کے شعبے میں، ڈریگن اینڈ ٹائیگر برانڈ اور ٹیمپل آف ہیوین برانڈ نے بازار کی وسیع تقاضا کو پورا کرنے کے لئے، مختلف منصوبوں کے تحت پروڈکٹس کا انتخاب کیا گیا ہے جو وسیع طور پر صارفین اور استعمال کے موقعات کی ضرورت کو پورا کرتا ہے۔ برانڈ بنایا جارہا ہے اس کی بنیاد، سلامتی پروڈکٹس کی مرکزیت، اور صارفین کی تجربہ کی بنیاد پر CNC VTL مشین نے دنیا کی سطح پر سلامتی کے شعبے میں اپنا مقام حاصل کرنے کے لئے نظر ثابت کی ہے۔ ہماری کمپنی سالانہ 500 سے 600 سیٹ (سیٹ) مختلف مصنوعات کی تیاری کرتی ہے، اور ہر سال 400 سے زائد صارفین کے لیے انسٹالیشن اور کمیشننگ کی خدمات فراہم کرتی ہے۔ مصنوعات نے آئی ایس او، سی ای، ایس جی ایس اور دیگر سرٹیفیکیشنز حاصل کر لی ہیں۔ ہماری بہترین معیار کی پابندی ہماری سی این سی وی ٹی ایل مشین کے شعبے میں نئی ایجادات کے متعدد پیٹنٹس اور ہمارے حاصل کردہ سرٹیفیکیٹس اور اعزازات میں عکاس ہوتی ہے۔ کاپی رائٹ © ندوں مشینری مینیفیکچر کمپنی، لیمیٹڈ. تمام حقوق محفوظ ہیں
-
رازداری کی پالیسی
نادون مشین مینیفیکچر کو., لمڈیٹڈ
Cnc vtl مشین
دقت کی مشین کے لیے جدید ٹیکنالوجی

اپنی VTL مشین کو خاص صنعتی ضروریات کے مطابق ڈھالیں

طویل مدتی استعمال کے لیے قابل اعتماد اور ہمیشہ دینے والی VTL مشینیں
ہماری معیاری VTL مشینوں کے ساتھ پیداواریت میں اضافہ کریں
Why choose نادون
Cnc vtl مشین?
کمپنی کی ماہری اور عالمی پہنچ:
بہترین کیفیت اور عملکرد:
مختلف منصوبے
بھرپور اعتماد کیلیے پروڈکٹ کیٹیلیٹ
کیا آپ کو وہ چیز نہیں مل رہی جس کی آپ تلاش کر رہے ہیں؟
اب اقتباس کا درخواست کریں
مزید دستیاب مصنوعات کے لیے ہمارے مشاورین سے رابطہ کریں۔رابطہ کریں