"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function t(t,e){for(var n=0;n0||this.lockReconnect||(this.lockReconnect=!0,this.tt&&clearTimeout(this.tt),this.tt=setTimeout(function(){t.webSocketConnect(),t.lockReconnect=!1},3e3))}},{key:"webSocketInit",value:function(t){var e=this;this.wsConnectStatus=1,this.chatSocket.onopen=function(t){e.wsConnectStatus=2,e.chatSocket.send(e.testMsg)},this.chatSocket.onmessage=function(t){e.wsConnectStatus=2,e.onMessage(t.data),e.heartCheck()},this.chatSocket.onerror=function(t){void 0,e.onMessage({cmdId:-1,msg:"ws 连接失败"}),e.wsConnectStatus=-1,e.isReallClose||e.webSocketReconnect()},this.chatSocket.onclose=function(t){void 0,e.onMessage({msg:"ws 连接关闭"}),e.wsConnectStatus=-1,void 0,e.isReallClose||e.webSocketReconnect()};var n=this;window.onbeforeunload=function(){try{n.closeWebsocket()}catch(t){void 0}}}},{key:"onMessage",value:function(t){var e="string"==typeof t?JSON.parse(t):t;5==+e.cmdId&&2===this.wsConnectStatus&&(this.wsConnectStatus=3),"function"==typeof this.messageHandle&&this.messageHandle(e)}},{key:"closeWebsocket",value:function(t){this.chatSocket.close(),t&&(this.isReallClose=!0),this.wsConnectStatus=0,void 0}},{key:"heartbeat",value:function(){var t=this;3===this.wsConnectStatus&&(this.chatSocket.send('{"cmdId":1}'),setTimeout(function(){t.heartbeat()},3e4))}},{key:"heartCheck",value:function(){var t=this;this.timeoutObj&&clearTimeout(this.timeoutObj),this.serverTimeoutObj&&clearTimeout(this.serverTimeoutObj),this.timeoutObj=setTimeout(function(){t.chatSocket.send('{"cmdId":1}'),t.serverTimeoutObj=setTimeout(function(){void 0,t.chatSocket.close()},t.timeout)},this.timeout)}},{key:"sendMessage",value:function(t,e){return t||e?this.UserName?Chatervice.sendMessage({username:this.UserName,liveId:this.liveId,message:t,anchorId:this.anchorId,image:e},{deviceId:this.deviceId,appId:this.appId}):void void 0:void void 0}}]),e}(),n=function(){function t(e){_classCallCheck(this,t),Object.assign(this,{position:"fixed",top:"initial",bottom:"initial",left:"initial",right:"initial",zIndex:99999,dom:"body",height:"100vh",overflow:"hidden",time:6e3},e),this.$tpl=null,this.init()}return _createClass(t,[{key:"init",value:function(){this.$tpl=$('
'),$(this.dom).append(this.$tpl),$(".notification").on("click",".notification-close",function(){var t=$(this).closest(".notification-item");t.slideUp("200",function(){t.remove()})})}},{key:"create",value:function(t){var e=$(t);e.appendTo(this.$tpl).hide().slideDown(200),setTimeout(function(){e.slideUp("200",function(){e.remove()})},this.time)}}]),t}(),s=function(){function t(e,n){_classCallCheck(this,t),this.notification=null,this.chat=null,this.init(e,n)}return _createClass(t,[{key:"init",value:function(t,s){this.notification=new n(t),this.chat=new e({appid:"CSDN-PC",messageHandle:s.bind(this)})}},{key:"create",value:function(t){this.notification.create(t)}},{key:"closeChat",value:function(){this.chat.closeWebsocket()}}]),t}();window.CsdnNotification=s}();