$(()=>{ const trackButtons = document.querySelectorAll('#track-btn'); // 为每个按钮添加点击事件监听器 trackButtons.forEach(button => { button.addEventListener('click', function() { // 从 data-* 属性中获取打点数据 const eventData = { adv_id: this.getAttribute('data-event-id'), origin:'pc', part: this.getAttribute('data-event-part'), page: this.getAttribute('data-event-page'), tip: this.getAttribute('data-event-label'), extra_id: this.getAttribute('data-event-extra'), sign:setSign() }; sendTrackingData(eventData); }); }); }) function sendTrackingData(data) { // 后端接收数据的URL (ThinkPHP的路由地址) const trackingUrl = 'https://api.qieyou.com/writeAdvLog'; // 假设你的路由是这个 fetch(trackingUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }) .then(response => {}) .catch(error => { console.error('请求错误:', error); }); } function encrypt(word) { const src = CryptoJS.enc.Utf8.parse(word); const key = CryptoJS.enc.Utf8.parse('0123456789ASDFGH'); //十六位十六进制数作为密钥 const iv = CryptoJS.enc.Utf8.parse('ASDFGH0123456789'); //十六位十六进制数作为密钥偏移量 const encrypted = CryptoJS.AES.encrypt(src, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } function getUuid () { var d = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/16); return (c=='x' ? r : (r&0x3|0x8)).toString(16); }); return uuid; }; function requestId(){ var s = []; var hexDigits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1) } s[14] = "4" s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) s[8] = s[13] = s[18] = s[23] = "-" let uuid = s.join("") return uuid; } function setSign(){ return encrypt(JSON.stringify({ timeStamp: Math.round(new Date().getTime() / 1000), nonceStr: getUuid(), package:"request_id="+requestId(), signType: 'MD5', time_expire:300, appId:'dingaq0sfq1yqchdt2z2' })); }