D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
chatweb02
/
assets
/
Filename :
controllerJs.js
back
Copy
var app = angular.module("app",[]); var conn = new WebSocket('ws://'+server+':9999'); conn.onopen = function(e) { console.log("Connection established!"); document.getElementById('h-imagem').style.border ='2px solid #86BB71'; document.getElementById('h-status').innerHTML = '<i class="fa fa-circle online"></i> online'; var msg = {'conexao':'sim' , 'id': usr , 'status': 'online'}; msg = JSON.stringify(msg); conn.send(msg); }; conn.onerror=function(event){ document.getElementById('h-status').innerHTML = '<i class="fa fa-circle offline"></i> offline'; document.getElementById('h-imagem').style.border ='2px solid #E38968'; // $('#h-imagem').attr('border', '3px solid red;') } app.controller("chatCtrl",function($scope, $http,$timeout){ // $scope.titulo = "New Chat"; $scope.contatos = []; $scope.recebido = []; $scope.listacontatosNg = function(){ $http.get(baseurl+'chats/listacontatoApi').then( function(response){ if(response.status === 200){ $scope.contatos = response.data; // console.log($scope.contatos); } }); } conn.onmessage = function(e) { $timeout(function() { data = JSON.parse(e.data); if(data.criacaogrupo =='sim'){ $scope.listacontatosNg(); }else if(data.novouser=='sim'){ $http.get(baseurl+'chats/listacontatoApi/').then( function(response){ if(response.status === 200){ response.data.forEach(function(cnt) { if(cnt.usu_id == data.codigo){ $scope.contatos.push(cnt); } }); } } ); } else{ $scope.recebido.push({id:data.conversa,to:data.to}); var array = []; $scope.contatos.forEach(function(cnt) { if(cnt.id == data.conversa){ cnt.dtmensagem = data.dtenvio; } array.push(cnt); }); $scope.contatos = array; } }); showmensagem('other', e.data); }; $scope.chatcontato = function(conversa){ $http.get(baseurl+'chats/contato/'+conversa).then( function(response){ var obj = response.data; //JSON.parse(response.data); $("#contato").val(obj.codigocontato); $("#nomecontato").html('<strong >'+obj.nomecontato+'</strong>'); $("#imgcontato").html('<img width="55px" src="'+obj.imgcontato+'" class="user rounded-circle" alt="avatar" onerror="this.src=\''+baseurl+'assets/images/default-user-image.png\';" />'); if(obj.tipo == 'L'){ $("#btn").attr("disabled","disabled"); } $("#totalpagina").val(obj.totalmensagem); $("#div-progresso").hide(); }); }; $scope.chatmensagem = function(conversa,contato){ $http.get(baseurl+'chats/mensagem/'+conversa+'/'+contato).then( function(response){ var obj = response.data; //JSON.parse(response.data); var ui; var chat = $("#chat"); // console.log(response.data); $("#chat").html(''); $.each(obj,function(index, value){ moment.locale(); var arini = ''; var arfim = ''; if(value.cht_men_tipo == 'arquivo'){ var parser = new DOMParser(); let element = parser.parseFromString(value.cht_men_texto, "text/html"); var img = element.querySelector('img'); let idAttr = img.getAttribute('src'); arini = '<a href="javascript:void(0);" data-toggle="modal" data-target="#modal-preview" onclick="javascript:preview(\''+idAttr+'\');">'; arfim = '</a>'; } str = formatar_data_humano(value.dhapresentacao); if(value.cht_usu_id == usr){ me = '<li id="men_'+ value.cht_men_uuid +'" class="clearfix">' +'<div class="message-data text-right">' + '<span class="message-data-name">'+ value.cht_usu_nome+'</span>' + '<span class="message-data-time">'+str+' </span>' +'</div>' +'<div class="message float-right my-message">' + arini +value.cht_men_texto + arfim +'<span style="text-align: right;left: 96%;bottom: 10px;position: absolute;color:#5C7A99;font-size:21px"><a href="javascript:void(0)" onclick="javascript:deletarmensagem(\''+ value.cht_men_uuid +'\');" > <i class="fas fa-trash-alt"></i> <span>' +'</div>' +'</li>'; }else{ me = '<li id="men_'+ value.cht_men_uuid +'" >' +'<div class="message-data text-left">' + '<span class="message-data-name">'+ value.cht_usu_nome+'</span>' + '<span class="message-data-time">'+str+'</span>' +'</div>' +'<div class="message other-message float-left">' + arini +value.cht_men_texto + arfim +'</div>' +'</li>'; } ui = value.cht_men_uuid; $(me).appendTo('#chat'); $("#chat li").first().addClass('firstMensagem'); $("#chat").scrollTop($("#chat")[0].scrollHeight); $('#coduser').val(conversa); }); }); }; $scope.mostraconversaNg = function(conversa,contato){ //console.log('teste'); $('#head-chat').show(); $('#chat-history').show(); $('#chat-message').show(); $('#bag-'+conversa).hide(); $('.chat-history').show(); CKEDITOR.instances.texto.setData(''); var ms = $('#bag-'+conversa).html(); ms = parseInt(ms); var total = $("#totalmensagem").val(); //console.log('total '+total); total = parseInt(total) - ms; if(total >0 || total.length>0){ document.title = '('+total+') Chat Web'; $("#totalmensagem").val(total); }else{ document.title = '(0) Chat Web'; $("#totalmensagem").val(0); } var conversaatual = $('#coduser').val(); closeNav(); //console.log(conversa); if(conversa == 0 ){ $.ajax({ url: baseurl+'chats/criarconversa/'+contato+"/"+usr, type:"POST", success: function(dataconversa){ $("#div-progresso").show(); $scope.chatcontato(dataconversa); $scope.chatmensagem(dataconversa,contato); $("#cht_con_id").val(dataconversa); $('#bag-'+dataconversa).html(0); $('#coduser').val(dataconversa); $timeout(function() { var array = []; $scope.contatos.forEach(function(cnt) { if(cnt.usu_id == contato){ cnt.id = dataconversa; } array.push(cnt); }); $scope.contatos = array; }); $timeout(function() { $('li').removeClass('active'); //console.log($("#tkl_"+dataconversa).html()); $("#tkl_"+dataconversa).addClass('active'); }); } }); }else{ if($.trim(conversaatual) != $.trim(conversa) || conversaatual.length <=0 ){ $("#div-progresso").show(); $('#bag-'+conversa).html(0); $scope.chatcontato(conversa); $("#cht_con_id").val(conversa); $scope.chatmensagem(conversa,contato); $('li').removeClass('active'); $("#tkl_"+conversa).addClass('active'); $('#coduser').val(conversa); } } } $scope.enviarMsg = function(){ var conversa = $('#cht_con_id').val(); var texto = CKEDITOR.instances.texto.getData(); if(texto.length >0){ CKEDITOR.instances.texto.setData(''); var timeInMs = new Date(); var texto1 = $('<div>').html(texto).text(); var Str = timeInMs.getFullYear() + "-"+("00"+(timeInMs.getMonth()+1)).slice(-2) + "-" + ("00" + timeInMs.getDate()).slice(-2) + " "+ ("00" + timeInMs.getHours()).slice(-2) + ":" + ("00" + timeInMs.getMinutes()).slice(-2) + ":" + ("00" + timeInMs.getSeconds()).slice(-2); var td = formatar_data_humano(Str); var uuid = create_UUID(); var msg = {'conversa': conversa, 'id': usr , 'name': usrname, 'msg': texto, 'to': $('#contato').val() , 'tipo' : $('#tipo').val(), 'dtenvio': Str , 'media': 'texto', 'uuid': uuid }; msg = JSON.stringify(msg); conn.send(msg); me = '<li id="men_'+uuid+'" class="clearfix">' +'<div class="message-data text-right">' + '<span class="message-data-name">'+usrname+'</span>' + '<span class="message-data-time">'+td+' </span>' +'</div>' +'<div class="message my-message float-right" >' +texto +'</div>' +'</li>'; $(me).appendTo('#chat'); $("#chat").scrollTop($("#chat")[0].scrollHeight); $timeout(function() { $scope.recebido.push({id:msg.conversa,to:msg.to}); var array = []; $scope.contatos.forEach(function(cnt) { if(cnt.id == conversa){ cnt.dtmensagem = Str; } array.push(cnt); }); $scope.contatos = array; // $.ajax({ // url: baseurl+'chats/enviar/'+conversa, // type:"POST", // data: "texto="+texto1+"&uuid="+uuid+"&type=texto", // success: function(data){ // //console.log(data); // //console.log(texto); // } // }); }); } } $scope.listacontatosNg(); // $scope.mostraconversaNg(63,3); });