| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- /**
- * 录屏/回拨
- * */
- ////来电时传输的数据
- //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("暂无录屏信息");
- }
- }
|