Tyloo-Chat (imitação WeChat)
O endereço de acesso on -line está temporariamente fechado
ilustrar
Este fork do projeto foi otimizado e atualizado do General-Chat. Graças ao Boss Genal por suas idéias de código aberto!
Ainda está na hora de continuar a otimizar, então fique atento !!!
Se você acha que é muito bom, clique em Star para incentivá -lo !!!
O cliente de versão eletrônica foi lançado, consulte a versão para obter detalhes
Capturas de tela de algumas funções


- Função de bate -papo em grupo (lista de membros do grupo, status online, suporte para adicionar membros do grupo)

- Lista de sessões (topo/exclusão)

- Função de retração de mensagens

Cliente de versão eletrônica (localizada no ramo Electron_version)


Recurso
- Registro de login do usuário (suporta um único login incorporado em sistemas de terceiros)
- Endereço de login único, clique no botão de comunicação on-line no canto superior direito após o login
- Chat em grupo (semelhante ao grupo QQ)
- Convide amigos para participar do bate -papo em grupo
- Modificar o nome do grupo/anúncio do grupo
- Amigos funcionam
- Função do livro de contato (suporta o acesso à estrutura organizacional do sistema de terceiros e inicia o bate-papo diretamente)
- Função de bate -papo
- Pacote emoji emoji
- Image Enviar/Visualização de Imagens
- Enviar anexos
- Paginação de mensagens
- Retira/cópia da mensagem
- Tema personalizado
- Top/Excluir da sessão
- Reconecte o lembrete
- Assistente inteligente (padrão, localizado na filial principal, usando o mecanismo de pesquisa ES requer criação manual de Esesaurus)
- Robô de API de terceiros (versão de demonstração on-line atual, localizada no ramo do recurso_apirobot)
- Versão Electron (localizada no ramo Electron_version, suporta a geração de clientes DMG e EXE)
Pilha de tecnologia
Projeto da estrutura da tabela de banco de dados

Preparação ambiental
- mysql
- Banco de dados de bate -papo (preciso ser criado manualmente, observe que o formato de codificação do banco de dados é
utf8bm64``utf8bm64``utf8bm64 !!! ) - Nó v10.16.3
Coisas a serem observadas ao puxar o código
// windows系统需要配置一下,提交时转换为LF,检出时不转换
git config --global core.autocrlf input
// 设置为区分大小写
git config core.ignorecase false
Execute o projeto
// client
cd client
cnpm i
npm start
// server
cd server
cnpm i
npm run start
Como implantar
Implantar
Implante salas de bate -papo sob o CentOS
Integração de terceiros/entrada única
- O código de salto a seguir está incorporado no sistema de terceiros, e
userId e username são necessários.
let chatUrl // 当前聊天室客户端地址
let userId // 当前系统用户userId
let username // 当前系统用户昵称
window . open ( ` ${ chatUrl } ?userId= ${ userId } &username= ${ username } ` ) ; A sala de bate -papo obtém parâmetros e conclui automaticamente o login (se for a primeira vez que você efetuar login, você registrará automaticamente uma conta)
Defina o cliente da sala de bate-papo VUE_APP_ORG_URL para obter o endereço da interface da estrutura organizacional do sistema de terceiros
// .env.xxx
// 此接口可以获取到第三方系统的所有部门和人员信息,注意为嵌套tree结构
VUE_APP_ORG_URL = http : / / 127.0 .0 .1 : 8080 / api / getDeptUsersTree
- Mude para a interface de contato para emitir solicitações automaticamente
// Contact.vue
axios . post ( process . env . VUE_APP_ORG_URL ) . then ( ( res ) => {
this . organizationArr = res . data . data ;
} ) ;- O formato de valor de retorno é o seguinte
interface node {
id: string ; // id
label: string ; // 名称
flag: boolean ; // 是否有下级结点
children: node [ ] ; // 下级结点
}- Se você não precisar integrar a estrutura organizacional de terceiros, basta limpar
VUE_APP_ORG_URL e personalizá-lo e modificar você mesmo em outras situações.
Visão geral de idéias
Processo de estabelecimento da WebSocket
PENDÊNCIA
-
@功能实现 消息转发代码性能优化群聊功能继续完善微信快捷登陆Electron客户端检查更新
Grupo de Comunicação