require(["jquery", "ipu-stomp"], function($, IpuStomp,) { // var baseUrl = "ws://localhost:7100/stomp"; var baseUrl = "ws://47.105.160.21:7100/stomp"; var login = "empty_account1"; var passcode = "123456"; var host = ""; var client; //为发送者input绑定onchange事件 $("#userId").on("change", function(e) { $("#userId").val(e.target.value); }) var callbacks = {}; callbacks.onConnected = function(msg){ console.log("连接成功:" + msg); alert("连接成功:" + msg); $("#connBtn").val("断开连接"); $("#connBtn").attr("id", "disconnBtn"); $("#userId").attr("disabled", "disabled"); } callbacks.onFailure = function(msg){ console.log("连接失败:" + msg); alert("连接失败:" + msg); } $("#connBtn").on("click", function(e) { if (typeof (WebSocket) == "undefined") { console.log("您的浏览器不支持WebSocket"); } else { console.log("您的浏览器支持WebSocket"); //实例化WebSocket对象,指定要连接的服务器地址与端口 建立连接 //等同于socket = new WebSocket("ws://localhost:8888/xxxx/im/25"); if (!client || !client.connected()) { //检查用户ID if (!$("#userId").val()) { alert("请填写用户名") return; } client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks); client.setTopicPath("topic"); } else { client.disconnect(); subscription && subscription.unsubscribe(); $("#disconnBtn").val("连接服务器"); $("#disconnBtn").attr("id", "connBtn"); $("#userId").removeAttr("disabled"); } } }); var path = [] $("#login").on( "click", function(e) { //校验连接状态 if (!client || !client.connected()) { alert("服务未连接") return; } //校验发布频道 if (!$("#topic").val()) { alert("请填写发送频道") return; } chalkboard(); }) function chalkboard(){ $('#chalkboard').remove(); $('.chalk').remove(); // $('#canvas').prepend('
Save
'); $('#canvas').prepend(''); $('#canvas').prepend(''); $('#canvas').prepend('
'); var canvas = document.getElementById("chalkboard"); $('#chalkboard').css('width','200px'); $('#chalkboard').css('height','400px'); canvas.width = 200; canvas.height = 400; var ctx = canvas.getContext("2d"); var width = canvas.width; var height = canvas.height; var mouseX = 0; var mouseY = 0; var mouseD = false; var eraser = false; var xLast = 0; var yLast = 0; var brushDiameter = 7; var eraserWidth = 50; var eraserHeight = 100; $('#chalkboard').css('cursor','none'); document.onselectstart = function(){ return false; }; ctx.fillStyle = 'rgba(255,255,255,0.5)'; ctx.strokeStyle = 'rgba(255,255,255,0.5)'; ctx.lineWidth = brushDiameter; ctx.lineCap = 'round'; var patImg = document.getElementById('pattern'); document.addEventListener('touchmove', function(evt) { var touch = evt.touches[0]; mouseX = touch.pageX; mouseY = touch.pageY; if (mouseY < height && mouseX < width) { evt.preventDefault(); $('.chalk').css('left', mouseX + 'px'); $('.chalk').css('top', mouseY + 'px'); //$('.chalk').css('display', 'none'); if (mouseD) { draw(mouseX, mouseY); } } }, false); document.addEventListener('touchstart', function(evt) { //evt.preventDefault(); var touch = evt.touches[0]; mouseD = true; mouseX = touch.pageX; mouseY = touch.pageY; xLast = mouseX; yLast = mouseY; draw(mouseX + 1, mouseY + 1); }, false); document.addEventListener('touchend', function(evt) { mouseD = false; }, false); $('#chalkboard').css('cursor','none'); ctx.fillStyle = 'rgba(255,255,255,0.5)'; ctx.strokeStyle = 'rgba(255,255,255,0.5)'; ctx.lineWidth = brushDiameter; ctx.lineCap = 'round'; $(document).mousemove(function(evt){ mouseX = evt.pageX; mouseY = evt.pageY; if(mouseYDownload'); $('.download').click(function(){ IEsave(compimage); }); }, 500); }); function IEsave(ctximage){ setTimeout(function(){ var win = window.open(); $(win.document.body).html(''); },500); } $(window).resize(function(){ chalkboard(); }); } });