var theobject = null; //This gets a value as soon as a resize start var resizeWidth = ""; var resizeHeight = ""; var resizeLeft = ""; var resizeTop = ""; var resizeId = ""; var firstLeft = ""; var firstTop = ""; function resizeObject() { this.el = null; //pointer to the object this.dir = ""; //type of current resize (n, s, e, w, ne, nw, se, sw) this.grabx = null; //Some useful values this.graby = null; this.width = null; this.height = null; this.left = null; this.top = null; } //Find out what kind of resize! Return a string inlcluding the directions function getDirection(el) { var xPos, yPos, offset, dir; dir = ""; xPos = window.event.offsetX; yPos = window.event.offsetY; offset = 8; //The distance from the edge in pixels if (yPos < offset) dir += "n"; else if (yPos > el.offsetHeight - offset) dir += "s"; if (xPos < offset) dir += "w"; else if (xPos > el.offsetWidth - offset) dir += "e"; return dir; } function doDown() { var el = getReal(event.srcElement, "className", "reSize"); if (el == null) { theobject = null; return; } resizeId = el.id; firstLeft = $('#' + resizeId).position().left; firstTop = $('#' + resizeId).position().top; dir = getDirection(el); if (dir == "") return; theobject = new resizeObject(); theobject.el = el; theobject.dir = dir; theobject.grabx = window.event.clientX; theobject.graby = window.event.clientY; theobject.width = el.offsetWidth; theobject.height = el.offsetHeight; theobject.left = el.offsetLeft; theobject.top = el.offsetTop; window.event.returnValue = false; window.event.cancelBubble = true; } function doUp3() { if (theobject != null) { theobject = null; } if (resizeId != '') { var reSizeDiv = $('#' + resizeId); resizeWidth = reSizeDiv.css("width"); resizeHeight = reSizeDiv.css("height"); $.ajax({ type: "GET", url: ext.contextPath + "/process/dataVisualContent/updateReSize.do?id=" + resizeId + "&width=" + resizeWidth + "&height=" + resizeHeight, async: false, globle: false, success: function (data) { } }); } resizeWidth = ""; resizeHeight = ""; resizeLeft = ""; resizeTop = ""; resizeId = ""; firstLeft = ""; firstTop = ""; } function doUp0() { if (theobject != null) { theobject = null; } } function doUp() { if (theobject != null) { theobject = null; } if (resizeId != '') { var reSizeDiv = $('#' + resizeId); resizeWidth = reSizeDiv.css("width"); resizeHeight = reSizeDiv.css("height"); resizeLeft = reSizeDiv.css("left").replace("px", ""); resizeTop = reSizeDiv.css("top").replace("px", ""); // if(firstLeft==resizeLeft&&firstTop==resizeTop){ // stopMove(resizeId,"noMove"); // }else{ // stopMove(resizeId,"move"); // } $.ajax({ type: "GET", url: ext.contextPath + "/process/dataVisualContent/updateReSize.do?id=" + resizeId + "&width=" + resizeWidth + "&height=" + resizeHeight, async: false, globle: false, success: function (data) { } }); $.ajax({ type: "GET", url: ext.contextPath + "/process/dataVisualContent/updateLayout.do?id=" + resizeId + "&postx=" + resizeLeft + "&posty=" + resizeTop, async: false, globle: false, success: function (data) { } }); // $('#'+resizeId).draggable({ // cursor:'move' // }); } resizeWidth = ""; resizeHeight = ""; resizeLeft = ""; resizeTop = ""; resizeId = ""; firstLeft = ""; firstTop = ""; } function doMove() { var el, xPos, yPos, str, xMin, yMin; xMin = 8; //The smallest width possible yMin = 8; // height el = getReal(event.srcElement, "className", "reSize"); if (el == null) { return; } if (el.className.indexOf("reSize") >= 0) { str = getDirection(el); //Fix the cursor if (str == "") str = "default"; else str += "-resize"; el.style.cursor = str; } //Dragging starts here if (theobject != null) { if (dir.indexOf("e") != -1) theobject.el.style.width = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx) + "px"; if (dir.indexOf("s") != -1) theobject.el.style.height = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby) + "px"; if (dir.indexOf("w") != -1) { theobject.el.style.left = Math.min(theobject.left + window.event.clientX - theobject.grabx, theobject.left + theobject.width - xMin) + "px"; theobject.el.style.width = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx) + "px"; } if (dir.indexOf("n") != -1) { theobject.el.style.top = Math.min(theobject.top + window.event.clientY - theobject.graby, theobject.top + theobject.height - yMin) + "px"; theobject.el.style.height = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby) + "px"; } window.event.returnValue = false; window.event.cancelBubble = true; } } function getReal(el, type, value) { temp = el; while ((temp != null) && (temp.tagName != "BODY")) { if (temp.className.indexOf("reSize") >= 0) { el = temp; return el; } else { return; } temp = temp.parentElement; } return el; } function doUp2(resizeId2) { var reSizeDiv = $('#' + resizeId2); // resizeWidth=reSizeDiv.css("width"); // resizeHeight=reSizeDiv.css("height"); resizeLeft = reSizeDiv.css("left"); resizeTop = reSizeDiv.css("top"); // $.ajax({ // type : "GET", // url : ext.contextPath+"/process/dataVisualContent/updateReSize.do?id="+resizeId+"&width="+resizeWidth+"&height="+resizeHeight, // async: false, // globle:false, // success : function(data){ // } // }); $.ajax({ type: "GET", url: ext.contextPath + "/process/dataVisualContent/getOneJson.do?id=" + resizeId2, async: false, globle: false, dataType: 'json', success: function (data) { data = data[0]; if (data.postx.indexOf('%') < 0 && data.posty.indexOf('%') < 0) { $.ajax({ type: "GET", url: ext.contextPath + "/process/dataVisualContent/updateLayout.do?id=" + resizeId2 + "&postx=" + resizeLeft + "&posty=" + resizeTop, async: false, globle: false, success: function (data) { } }); } } }); resizeWidth = ""; resizeHeight = ""; resizeLeft = ""; resizeTop = ""; resizeId = ""; firstLeft = ""; firstTop = ""; } var rec; var flag = 0; function voiceClick(voicetext,voicemethod,paths,contentId){ paths=paths.split(","); let path1="";let path2=""; if(paths.length>2){ path1=paths[1]; path2=paths[0]; }else{ path1=paths[0]; path2=paths[0]; } flag += 1; if (flag % 2 == 1) { rec = Recorder({ type: "mp3", sampleRate: 16000, bitRate: 16, numChannels: 1 });//使用默认配置,mp3格式 //打开麦克风授权获得相关资源 rec.open(function () { //开始录音 rec.start(); }, function (msg, isUserNotAllow) { //用户拒绝了权限或浏览器不支持 alert((isUserNotAllow ? "用户拒绝了权限," : "") + "无法录音:" + msg); }); document.getElementById(contentId+"Img").src=path2; } if (flag % 2 == 0) { //停止录音,得到了录音文件blob二进制对象,想干嘛就干嘛 rec.stop(function (blob, duration) { var api=ext.contextPath +"/data/baiDuAipSpeech/save.do"; var reader=new FileReader(); let to_speak = window.speechSynthesis; reader.onloadend=function(){ $.ajax({ url:api, //上传接口地址 type:"POST", data:{ type:blob.type, //告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写 upfile_b64:(/.+;\s*base64\s*,\s*(.+)$/i.exec(reader.result)||[])[1] //录音文件内容,后端进行base64解码成二进制 }, success:function(data){ console.log(data); data = eval('(' + data + ')'); let result=data.result[0]; if(result.indexOf("请对取水一号凤凰进行巡检")>=0){ result="请对取水一号泵房进行巡检"; } console.log(result); if(result.indexOf(voicetext)>=0){ eval(voicemethod); }else if(result.indexOf("请对取水一号泵房进行巡检")>=0|| result.indexOf("一号反冲洗泵情况")>=0|| result.indexOf("二号反冲洗泵情况")>=0|| result.indexOf("三号反冲洗泵情况")>=0|| result.indexOf("一号送水泵情况")>=0|| result.indexOf("二号送水泵情况")>=0|| result.indexOf("三号送水泵情况")>=0|| result.indexOf("四号送水泵情况")>=0|| result.indexOf("五号送水泵情况")>=0|| result.indexOf("六号送水泵情况")>=0|| result.indexOf("七号送水泵情况")>=0|| result.indexOf("八号送水泵情况")>=0){ $.ajax({ type: "GET", url: ext.contextPath + "/data/baiDuAipSpeech/sendBim.do?text=" + result, async: false, globle: false, success: function (data) { console.log("in bim"); if(result.indexOf("请对取水一号泵房进行巡检")>=0||result.indexOf("请对取水一号凤凰进行巡检")>=0){ to_speak = new SpeechSynthesisUtterance("好的,现在开始执行取水一号泵房自动巡检"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("一号反冲洗泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位一号反冲洗泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("二号反冲洗泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位二号反冲洗泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("三号反冲洗泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位三号反冲洗泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("一号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位一号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("二号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位二号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("三号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位三号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("四号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位四号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("五号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位五号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("六号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位六号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("七号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位七号送水泵"); window.speechSynthesis.speak(to_speak); }else if(result.indexOf("八号送水泵情况")>=0){ to_speak = new SpeechSynthesisUtterance("正在为您定位八号送水泵"); window.speechSynthesis.speak(to_speak); } } }); }else{ to_speak = new SpeechSynthesisUtterance("暂时没法识别你的语音呢"); window.speechSynthesis.speak(to_speak); } // console.log("上传成功",v); rec.close(); }, error:function(s){ console.error("上传失败",s); rec.close(); } }); }; reader.readAsDataURL(blob); }, function (msg) { alert("录音失败:" + msg); rec.close(); }); flag=0; document.getElementById(contentId+"Img").src=path1; } } // document.onmousedown = doDown; // document.onmouseup = doUp; // document.onmousemove = doMove;