Este pacote permitirá que você adicione um sistema completo de mensagens de usuário ao seu aplicativo Laravel. É um Laravel Chatmessenger altamente intuitivo, com recursos adicionais, como número máximo de participantes em uma conversa, tópicos estrelados e um link exclusivo de compartilhamento de mídia social para convidar os usuários a uma conversa (também conhecida como thread neste pacote).

Se você achou isso útil e gostaria de comprar um café para os mantenedores (ou um Tesla, não somos exigentes), fique à vontade para fazê -lo.
Ou comprando produtos e mercadorias no Marketplace.
Esse financiamento é usado para manter o projeto e adicionar novos recursos ao estilo de código, além de outros repositórios de código aberto.
| Versão do Laravel | Compatível? |
|---|---|
| 11.x | Sim! (^1.5.0) |
| 10.x | Sim! (^1.4.0) |
| 9.x | Sim! (^1.3.0) |
| 8.x | Sim! (^1.3.0) |
| 7.x | Sim! (^1.3.0) |
| 6.x | Sim! (^1.2.0) |
| 5.8 | Sim! |
| 5.7 | Sim! |
| 5.6 | Sim! |
| Versão do Laravel | Ramo compatível |
|---|---|
| 5.5 | v1 [1.0.8] |
| 5.4 | v1 [1.0.8] |
| 5.3 | v1 [1.0.8] |
| 5.2 | v1 [1.0.8] |
| 5.1 | v1 [1.0.8] |
Votando em uma versão do projeto/vue.js/vuerouter do projeto
As instruções de instalação para Laravel 4 podem ser encontradas aqui.
composer require syntaxlexx/chatmessengercomposer require syntaxlexx/[email protected]Ou coloque manualmente em composer.json:
" require ": {
" syntaxlexx/chatmessenger": " ^1.0 "
}Correr:
composer update
Nota : O Laravel Messenger suporta a descoberta de pacotes. Se estiver usando o Laravel 5.5 e acima, pule esta parte.
Adicione o provedor de serviços para config/app.php sob providers :
' providers ' => [
Lexx ChatMessenger ChatMessengerServiceProvider::class,
],Publicar configuração:
php artisan vendor:publish -- provider ="Lexx ChatMessenger ChatMessengerServiceProvider " --tag= " config"Atualize o arquivo de configuração para fazer referência ao seu modelo de usuário:
config/chatmessenger.php Crie uma tabela users se você ainda não tiver uma. Se você precisar de um, a migração padrão do Laravel será satisfatória.
(Opcional) Defina nomes das tabelas de banco de dados no arquivo de configuração do pacote, se você não quiser usar as padrão:
' messages_table ' => ' lexx_messages ' ,
' participants_table ' => ' lexx_participants ' ,
' threads_table ' => ' lexx_threads ' ,Publique migrações:
php artisan vendor:publish --provider="LexxChatMessengerChatMessengerServiceProvider" --tag="migrations"
Migre seu banco de dados:
php artisan migrate
Adicione a característica ao seu modelo de usuário:
use Lexx ChatMessenger Traits Messagable ;
class User extends Authenticatable {
use Messagable;
}Este pacote utiliza o Pusher/Pusher-Php-Server que fornece serviços de empurradores para fora da caixa. Tudo o que você precisa fazer é exigir o pacote, registrar os provedores de serviços, publicar o pacote de fornecedores e é isso! Você está pronto para ir.
Confira a seção Exemplos para obter um exemplo detalhado de uso.
Desde que o HTTP do Pusher Laravel foi descontinuado, a demonstração atual usa as mais recentes tendências do Laravel 5/6 da transmissão por meio de eventos. Confira a demonstração para vê -lo em ação. Torna -se mais gerenciável e expressivo configurar canais individualmente.
Se você planeja migrar para o Laravel 6, o pacote HTTP Laravel HTTP Proibirá você devido a problemas de dependência. Você simplesmente precisará criar um evento para disparar a mensagem de transmissão e um canal para transmissão. Você pode verificar a demonstração quanto ao uso prático.
Conforme apontado nesta edição, a propriedade estrelada foi transferida da tabela threads para a tabela participants , pois faz muito mais sentido lá. (Créditos para Snarcraft).
Execute
php artisan vendor:publish --provider="LexxChatMessengerChatMessengerServiceProvider" --tag="migrations"para copiar o arquivo de migração e, em seguida, executephp artisan migrate.
Estrelando um thread é tão fácil quanto chamar o método star() no thread. Se nenhum UserID for passado, ele padronizará o usuário atualmente conectado. O mesmo caso aplicado a desestarar um tópico. $thread->unstar() .
Verifique a demonstração do código -fonte aqui
Verifique a demonstração ao vivo aqui
Para obter uma imagem clara de como funciona, abra dois a quatro navegadores (o modo privado/incógnito é perfeito para este caso) e faça login com contas diferentes.

Temos uma nova versão demo que apresenta a pilha de inércia do Laravel JetStream + Laravel +.

CHATMESSENGER_PARTICIPANT_AKA e a coluna específica.Você também pode verificar os modelos individuais para obter mais informações sobre as funções. Este pacote também utiliza escopos, caso você precise de mais controle sobre suas consultas.
As sugestões são bem -vindas e quaisquer contribuições forem altamente valorizadas. Se se sentir um pouco tímido, fique à vontade para enviar um e -mail para Lexx Yungcarter.
Se você descobrir algum problema relacionado à segurança, use o rastreador de problemas ainda, envie um email para o Lexx YungCarter.
Estamos prestes a liberar uma versão Vue.js + exemplos para aqueles que exigem um impulso na configuração rapidamente de salas de chat/mensagens em seu aplicativo.
Então:-
Se você for tão bom para fornecer amostras de código, sinta -se à vontade para compartilhar seu código/repositório conosco. Agradeço antecipadamente!
Este pacote usou o CMGMYR/Laravel-Massanger como ponto de partida, que por sua vez usou inicialmente Andreasheiberg/Laravel-Messenger como ponto de partida.