/** * 录屏/回拨 * */ ////来电时传输的数据 //var phoneNumber = helper.request.queryString("Number"); //var CallID = helper.request.queryString("CallID"); // //测试数据 // if (CallID == "") { // var phoneNumber = "13663801989"; // var CallID = "148"; // } // 初始化数组 let events = []; let stopFn = null; startPlayers(); function startPlayers() { // let stopFn = rrweb.record({ console.log(rrweb.record) stopFn = rrweb.record({ emit(event) { //将 event 存入 events 数组中 events.push(event); }, }); $("#playersing").text("录屏中..."); } var body_result = null; // 保存录屏 - ceshi // save 函数用于将 events 发送至后端存入,并重置 events 数组 function save() { const body = JSON.stringify({ events }); body_result = events; // 清空数组 events = []; // fetch('http://YOUR_BACKEND_API', { // method: 'POST', // headers: { // 'Content-Type': 'application/json', // }, // body, // }); } // 停止录屏 - 保存 function stopPlayers(CallID) { // 点击外呼用 //alert(top.hidCallID); //if(CallID==""){ CallID = top.hidCallID //} stopFn(); // 停止录屏 savePlayers(CallID); // 保存录屏 // body_result = events; // events = []; //alert('停止录屏'); } // 保存录屏 function savePlayers(CallID) { if (events != null && CallID != "") { var eventsS = JSON.stringify(events); var eventsStr = escape(eventsS) // $.post(huayi.config.callcenter_url + 'CutScreen/AddCutScreen', { // callid: CallID, // callid // cutdata: eventsStr, // 录屏代码decodeURIComponent( // token: $.cookie("token") // }, function(result) { // result = $.parseJSON(result); // if (result.state.toLowerCase() == "success") { // body_result = events; // events = []; // $("#playersing").text(""); // //layer.msg("保存成功"); // //alert('保存录屏'); // }else{ // debugger // } // }) $.ajax({ type:"post", url:huayi.config.callcenter_url + 'CutScreen/AddCutScreen', async:false, data:{ callid: CallID, // callid cutdata: eventsStr, // 录屏代码decodeURIComponent( token: $.cookie("token") }, success:function(result){ result = $.parseJSON(result); if (result.state.toLowerCase() == "success") { body_result = events; events = []; $("#playersing").text(""); //layer.msg("保存成功"); //alert('保存录屏'); } } }); } else { $("#playersing").text("录屏中...操作失败"); } } // // 每 10 秒调用一次 save 方法,避免请求过多 // setInterval(save, 10 * 1000); // // 回放录屏 // function rePlayers() { // const events = body_result; // if (events != null) { // const replayer = new rrweb.Replayer(events); // replayer.play(); // alert('回放成功'); // } else { // var dd = "asdfasdf"; // } // } // // 回放录屏 - 播放器 // function rePlayers() { // const events = body_result; // if (events != null) { // //const replayer = new rrweb.Replayer(events); // //replayer.play(); // new rrwebPlayer({ // target: document.body, // document.getElementById('.ld-sercon')可以自定义 DOM 元素 // data: { // events, // }, // }); // alert('回放成功'); // } else { // var dd = "asdfasdf"; // } // } // 回放录屏 - 播放器 function rePlayers(CallID) { document.getElementById('replayers').innerHTML = ""; // 清空 $.ajax({ url: huayi.config.callcenter_url + 'CutScreen/GetCutScreenByCallId', type: 'get', data: { callid: CallID, token: $.cookie("token") }, dataType: "json", async: true, success: function(res) { if (res.state.toLowerCase() === "success") { var data = res.data; if (data != null) { result = data.VideoHtml; rePlayers2(result); }else{ $("#replayers").text("暂无录屏信息"); } } }, }); } // 回放录屏 - 播放器 function rePlayers2(res) { const events = JSON.parse(unescape(res)); //const events = body_result; if (events != null) { //const replayer = new rrweb.Replayer(events); //replayer.play(); $("#replayers").text(""); new rrwebPlayer({ target: document.getElementById('replayers'), // document.getElementById('.ld-sercon')可以自定义 DOM 元素 data: { events, }, }); // alert('回放成功'); } else { // var dd = "asdfasdf"; $("#replayers").text("暂无录屏信息"); } }