O Wildfire IM é uma solução geral de mensagens instantâneas de nível profissional e uma solução geral de áudio e vídeo em tempo real, mantida e suportada pela Beijing Wildfire Infinite Network Technology Co., Ltd.
Os principais recursos são: a implantação privada é segura e confiável, desempenho poderoso, funções completas, suporte completo da plataforma, alta taxa de código aberto, implantação e operação e manutenção simples, desenvolvimento secundário amigável, fácil conectar-se a sistemas de terceiros ou incorporados aos sistemas existentes. Consulte a documentação on -line para obter detalhes.
Inclui principalmente os seguintes projetos:
| Endereço do repositório do GitHub (site principal) | Endereço do armazém em nuvem de código (espelho) | ilustrar | Observação |
|---|---|---|---|
| imerver im | imerver im | IM servidor | |
| Android-Chat | Android-Chat | Wildfire IM Android SDK Código fonte e código -fonte do aplicativo | Pode ser facilmente desenvolvido ou integrado às aplicações existentes |
| iOS-Chat | iOS-Chat | Wildfire IM iOS SDK Código fonte e código -fonte do aplicativo | Pode ser facilmente desenvolvido ou integrado às aplicações existentes |
| PC-Chat | PC-Chat | Lado do PC desenvolvido com base no elétron | |
| web-chat | web-chat | Wildfire IM Web End, Endereço de experiência | |
| wx-chat | wx-chat | Demo da plataforma Mini Program (suporta mini plataformas de programa como WeChat, Baidu, Alibaba, Byte, QQ, etc.) | |
| servidor de aplicativos | servidor de aplicativos | Servidor de aplicativos | |
| robot_server | robot_server | Servidor de robô | |
| push_server | push_server | Push Server | |
| documentos | documentos | Documentos relacionados ao Wildfire IM, incluindo design, conceito, desenvolvimento e instruções, visualize online |
Como uma demonstração da aplicação de back-end do Wildfire IM, este projeto tem as seguintes funções:
Este projeto é um projeto de demonstração. Ao usá -lo, é necessário transplantar as funções correspondentes em seus serviços de aplicativo. Se você precisar usá -lo diretamente, siga as instruções abaixo para resolver o problema do gargalo de desempenho.
mvn clean package
A embalagem gerará pacotes Java e Pacotes de Instalação Deb. Se você precisar de pacotes de instalação de RPM, descompacte o plug -in do pacote RPM em pom.xml . Além disso, é necessário que o RPM seja instalado localmente, o que é fácil de instalar nos sistemas Linux ou Mac. Cygwin e RPM devem ser instalados nos sistemas Windows. Verifique as informações específicas no Baidu.
Após a modificação, execute o comando de compilação mvn clean package e o pacote RPM é gerado no diretório target .
O aplicativo usa a função TENCENT Cloud SMS e você precisa se inscrever nos três parâmetros appid/appkey/templateId e configurá -lo em tencent_sms.properties . Os usuários também podem mudar para seus próprios provedores de mensagens de texto favoritos. Na ausência de um provedor de SMS, superCode pode ser usado para teste. Após a configuração, o cliente pode fazer login diretamente usando superCode . Quando on -line, certifique -se de excluir superCode .
Este serviço de demonstração possui 4 arquivos de configuração no diretório config do projeto, nomeadamente application.properties , im.properties , aliyun_sms.properties e tencent_sms.properties . Coloque a configuração corretamente no diretório config no diretório em que o pacote JAR está localizado.
sms.verdorna configuraçãoapplication.propertiesdecide qual provedor de serviços SMS usar, 1 é SMS tencent e 2 é o Alibaba Cloud SMS
Encontre app-XXXX.jar no diretório target , coloque o pacote JAR e config em que o arquivo de configuração é colocado e, em seguida, execute o seguinte comando:
java -jar app-XXXXX.jar
Este serviço inicialmente fornece apenas a função de obter tokens e, posteriormente, adicionar gradualmente funções, como anúncios de grupo/shiro, e precisa ser introduzido no banco de dados. Para melhorar a conveniência da experiência do usuário, o banco de dados H2 foi introduzido, permitindo que os usuários funcionem diretamente sem instalar nenhum software (o JRE ainda é necessário). Além disso, a sessão Shiro também é armazenada no banco de dados H2. Ao melhorar a conveniência, leva a gargalos de desempenho, por um lado, e, por outro, não podem ser expandidos horizontalmente e altamente disponíveis. Portanto, é necessário usar este projeto e fazer duas modificações.
application.properties para alternar métodos.A versão 0.40 apresenta a função Shiro. Antes de atualizar esse serviço, você precisa garantir que o cliente tenha introduzido o cliente móvel quando ou após o lançamento da versão 0.40 deste projeto. E após a atualização, o cliente precisa fazer logon e efetuar login novamente para salvar a sessão (a desconexão é chamada ao fazer o logout e o valor falso é necessário, para que o histórico histórico de bate -papo possa ser retido novamente. Ele deve ser alterado para isso na nova versão). Se for uma versão antiga ou não estiver conectado novamente, o anúncio do grupo e as funções de login de código de código não estarão disponíveis. Para segurança do sistema, é recomendado uma atualização.
A versão 0.43 altera a pesquisa curta do login da Web e do PC para pesquisas longas. Se a atualização do Serviço de Aplicativo exigir modificações correspondentes na Web e PC.
0.45.1 O comutador wfc.all_client_support_ssl é adicionado ao arquivo de configuração. Ao atualizar para esta versão ou posterior, esse comutador precisa ser adicionado ao arquivo de configuração.
A versão 0.51 adicionou autenticação de token. A autenticação de token e cookies pode ser suportada ao mesmo tempo. O cliente também fez modificações correspondentes e dá prioridade ao uso do token. Preste atenção à compatibilidade.
A partir da versão 0.53, os dados são armazenados no banco de dados. Portanto, o serviço de aplicativo é um serviço sem estado e vários serviços de aplicativos podem ser implantados para alta disponibilidade e expansão horizontal. É necessário observar que os dados são armazenados no banco de dados. Se o número de usuários for grande ou o volume de negócios for relativamente grande, você poderá abrir o serviço de aplicativo e adicionar o cache Redis.
Haverá uma frequência limitada de solicitações para o mesmo IP no serviço. Por padrão, um IP pode ser solicitado 200 vezes por hora. Ele pode ser ajustado de acordo com a sua situação real (você pode encontrá -la pesquisando a string ratelimiter). Se você usar o NGINX como proxy reverso, precisará prestar atenção à transmissão do IP real do usuário (usando o X-Real-IP ou o X-forward-for) para evitar não ser capaz de obter o IP real e, assim, afetar o uso normal.
Sob licença do MIT. Veja o arquivo de licença para obter detalhes
Consulte as instruções para usar o Alibaba Cloud SMS