[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Alessandro Prudencio da Cruz Silva
Criador Alessandro Prudencio da Cruz Silva 01/01/2019

Eu consegui fazer para que nas mensagem seja exibido o nome 'Eu' ao invez do nome usuario logado...tranguilo... consegui apenas fiz um ternario...e deu certo, portanto quando tenta pegar no arquivo Users.vue a propriedade usuario.owner ele não traz...contudo acessando o Vue devtools percebi que ele não esta trazendo a propriedade owner no array state.users apenas no state.messages...como faço para incluir esta propriedade owner tambem no array state.users?

Manager Carlos Ferreira 01/01/2019

Salve Alessandro!
Tudo bem?

Me mostra um print dos dados no Vue DevTools, para que eu possa entender melhor como está organizado os seus dados, assim posso te guiar da melhor forma (https://uploaddeimagens.com.br/).

No aguardo.

Carlos Ferreira
Criador Alessandro Prudencio da Cruz Silva 01/01/2019

https://uploaddeimagens.com.br/imagens/traz_o_owner-png                AQUI ELE TRAZ O OWNER

 

https://uploaddeimagens.com.br/imagens/nao_owner-png

Alessandro Prudencio da Cruz Silva
Manager Carlos Ferreira 01/01/2019

Não entendi o propósito de ter a propriedade owner em state.users

A propriedade owner precisa estar ligada a mensagem que é referente ao usuário autentificado, assim conseguimos detacar a mensagem, como foi feito no curso.

Carlos Ferreira
Criador Alessandro Prudencio da Cruz Silva 01/01/2019

Ola então pra ficar mais facil como faço para quando o usuario acessar  a aplicação ali aonde fica o nome dos usuarios online ao invéz de ficar exibindo o nome do usuario logado aparece a palavra 'EU' ?

 

Alessandro Prudencio da Cruz Silva
Manager Carlos Ferreira 01/01/2019

Existe uma forma mais fácil de fazer isso.

No arquivo de view que é o nosso template (app.blade.php) passe o ID do usuário logado, assim:
window.Laravel = {!! json_encode([
    'csrf' => csrf_token(),
    'pusher' => [
        'key' => config('broadcasting.connections.pusher.key'),
        'cluster' => config('broadcasting.connections.pusher.options.cluster'),
    ],
    'user' => auth()->check ? auth()->user()->id : '',
])

Agora para conseguir recuperar o id do usuário autenticado nos arquivos de js basta usar o objeto window, assim:
window.Laravel.user

Agora lá no vuex (chat.js) no método que adiciona um novo usuário ao vuex você pode deixar assim:
JOINING_USER (state, user) {
    if (user.id == window.Laravel.user)
        user.name = 'EU'

    state.users.push(user)
},

Carlos Ferreira
Criador Alessandro Prudencio da Cruz Silva 01/01/2019

Ola tudo bem não sei se é um erro, mas ali       'user' => auth()->check ? auth()->user()->id : '',

FALTOU COLOCAR NO CHECH O PARENTESES:  'user' => auth()->check() ? auth()->user()->id : '',

 

E infelizmente ainda não apareceu o nome 'Eu' continuou normal...

 

 

Alessandro Prudencio da Cruz Silva
Manager Carlos Ferreira 01/01/2019

Está correto essa lógica, veja aqui: https://github.com/especializati/curso-laravel-notifications-gratuito/blob/master/resources/views/layouts/app.blade.php

Debuga no vuex JOINING_USER as variáveis, e analisa o conteúdo de cada uma:
JOINING_USER (state, user) {
    console.log(window.Laravel.user)
    console.log(user)
    console.log(user.id == window.Laravel.user)
    // [...]
},

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!