function addScript(src) { var script = document.createElement('script'); script.src = src; //script.async = true; // 设置 async 属性 document.head.appendChild(script); } // 使用示例 addScript('https://wdfkshop.oss-cn-beijing.aliyuncs.com/static/web/public/socket/socket.io.js'); addScript('https://wdfkshop.oss-cn-beijing.aliyuncs.com/static/web/public/socket/jquery.js'); function generateUUID() { var d = new Date().getTime(); if (window.performance && typeof window.performance.now === "function") { d += performance.now(); //use high-precision timer if available } var uuid = 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.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; } //写cookies function setCookie(name, value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } //读取cookies function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; } var webid="www.wlphp.com"; var uid=""; var protocol="https"; var socket_server_domain="socket.wlphp.com"; window.onload=function (){ // $(document).ready(function() { //setTimeout(function() { // 连接服务端 var socket =""; if(protocol=='http'){ // 连接服务端 socket = io('http://' + socket_server_domain + ':3120'); }else { // 连接服务端 socket = io('https://' + socket_server_domain + ':3121'); } // 连接后登录 if(!uid){ uid = getCookie('cn_uuid'); if (uid == '' || uid == null) { uid =generateUUID(); setCookie('cn_uuid', uid); } } socket.on('connect', function() { socket.emit('login', webid, uid); }); // 后端推送来消息时 socket.on('new_msg', function(msg) { //console.log("new_msg", '收到消息:' + msg); }); // 当后端推送在线数据时 socket.on('update_online_count', function (data) { // console.log("update_online_count", data); var data = JSON.parse(data); try { // 检查数据是否存在以及是否具有预期的属性 if (data && typeof data === 'object' && data.details && Array.isArray(data.details)) { var onlineStatHtml = ''; data.details.forEach(function (detail) { // 确保每个 detail 都包含必要的字段 if (detail.webid !== undefined && detail.online_count !== undefined && detail.online_pages !== undefined) { //给当前webid赋值 if (detail.webid == webid) { $('#online_box').html("当前" + detail.online_count + "人在线,共打开" + detail.online_pages+"个页面"); } onlineStatHtml += ''; onlineStatHtml += '' + detail.webid + ''; onlineStatHtml += '' + detail.online_count + ''; onlineStatHtml += '' + detail.online_pages + ''; onlineStatHtml += ''; } else { console.warn('Missing fields in detail:', detail); } }); onlineStatHtml += '总计' + (data.total_online_count || 0) + '' + (data.total_online_pages || 0) + ''; //$('#table_panel').html(onlineStatHtml); } else { console.error('Invalid data received:', data); //$('#table_panel').html(data); } } catch (error) { console.error('Error processing data:', error); //$('#table_panel').html(data); } }); //}, 2000); // 2秒后执行 //}); }