Eu me esforcei muito para desenvolver este projeto. Se for útil e inspirador para você, espero dar uma star no GitHub ! Também apoia e afirma o meu trabalho!
Também sou muito grato ao kulovecc por corrigir e enviar o problema de layout de excesso de texto muito longo no projeto!
introduzir:
wechat-im é um modelo completo que permite implementar rapidamente funções de mensagens instantâneas na plataforma do miniprograma.
Agora atualizado para a versão 2.xx
Comparado com 1.0.x e versões anteriores, novos recursos em 2.xx
A sintaxe ES6 é totalmente usada e as operações assíncronas usam Promise e açúcar de sintaxe assíncrona para tornar o código mais semântico! (Requer ferramentas de desenvolvimento WeChat mais recentes e ativação da "compilação aprimorada")
A função de entrada de texto foi componenteizada usando Component, que tem melhor desempenho que a versão anterior!
A versão mínima da biblioteca básica do WeChat com suporte é 2.6.1 (a versão mínima com suporte anterior era 1.4.0)
Problemas corrigidos em alguns cenários. Por exemplo, ao reproduzir uma mensagem de voz, se você sair da interface de bate-papo, a voz ainda será reproduzida.
2.xx, atualize-o em alguns dias. Os alunos capazes podem atualizá-lo, a maioria das quais são atualizações de sintaxe e componenteização. Tenho estado muito ocupado recentemente, então peço desculpas a todos os meus colegas.
característica:
Atualmente, o webSocket tem sido usado no projeto para realizar a função de comunicação do IM! Atualmente inclui página de lista de sessões, página de sessão e página de amigo. Suporte ao uso de nodejs para abrir o serviço WebSocket local.
Suporta envio de texto, imagens, voz e método de entrada de emoji
Suporta tirar fotos, selecionar fotos da galeria e visualizar fotos
Suporte mostrando o botão enviar ao alternar para entrada de texto.
Suporta reprodução de voz e reprodução de animação.
Suporta configuração de tempo mínimo e máximo para gravação de voz.
Suporta configuração de eventos personalizados.
Suporte a mensagens de bate-papo classificadas por hora.
Depois de enviar uma mensagem, a página voltará para o final.
Ele usa a interface de reprodução de voz mais recente e é compatível com interfaces de reprodução de voz de versões anteriores.
Atualização de status da mensagem sendo enviada, enviada com sucesso e falha ao ser enviada
Suporta falha no envio de mensagens, clique no botão reenviar para reenviar.
Otimize a lógica de exibição do balão de tempo. As informações adjacentes são superiores a 5 minutos antes que as últimas informações sejam exibidas.
Adicionada exibição na interface do usuário do status da sessão na parte superior da página
Função personalizada para exibir bolhas personalizadas.
Ao analisar informações de mensagens de voz ou multimídia, os arquivos locais são lidos primeiro.
O algoritmo de armazenamento de arquivos é implementado para garantir que os arquivos de voz e imagem no espaço de armazenamento de 10M estejam atualizados.
Cada tipo de mensagem e cada função foram modularizados, tornando a navegação no código agradável e fácil. (Na verdade, isso não é considerado um recurso de componente...)
Recursos não suportados atualmente:
Se você quiser usar o bate-papo em grupo, os apelidos dos membros não serão exibidos ao lado do avatar na interface atual.
Não há mensagens históricas de bate-papo armazenadas localmente. Veja o final do documento para saber o motivo.
Atualmente, todas as funções do WebSocket são apenas para aprendizado e referência. Se você quiser usá-las comercialmente, desenvolva-as você mesmo.
Atualmente não é compatível como plug-in.
Quais condições você precisa para estudar ou utilizar este projeto?
Você precisa estar familiarizado com as especificações de sintaxe e padrões de design do ES6, caso contrário, o projeto terá um limite alto para você.
O WebSocket não precisa ser dominado em profundidade, mas você precisa conhecer as APIs comuns e o uso do WebSocket. Para obter detalhes, consulte o miniprograma WebSocket.
Entenda a instalação de dependências npm e a execução de comandos (este bloco é usado principalmente para iniciar o serviço WebSocket local)
Como instalar e usar
1. Projeto de importação de ferramentas de desenvolvedor
项目根目录下启动Terminal
需先安装依赖 npm install
执行 npm run server 即可开启WebSocket服务
3. Use ferramentas de desenvolvedor para executar o projeto
Se o seu projeto utiliza este framework e está oficialmente colocado em operação, se for conveniente, você pode fornecer o código QR do seu mini programa, e eu posso divulgá-lo aqui.
LINK
Documento
Questões
Registro de alterações
LICENÇA
cooperar
Para trocas técnicas, junte-se aos grupos QQ: Grupo 1: 821711186 (completo) Grupo 2: 834335591
Se você tem alguma intenção de cooperação ou deseja promover seus produtos, pode adicionar QQ: 1178545208