Wildfire IM es un mensaje instantáneo de grado profesional y una solución general de audio y video en tiempo real, mantenida y respaldada por Beijing Wildfire Infinite Network Technology Co., Ltd.
Las características principales son: la implementación privada es segura y confiable, rendimiento potente, funciones completas, soporte de plataforma completa, alta tasa de código abierto, implementación simple y operación y mantenimiento, desarrollo secundario amigable, fácil de conectar con sistemas de terceros o incrustación en los sistemas existentes. Consulte la documentación en línea para obtener más detalles.
Incluye principalmente los siguientes proyectos:
| Dirección del repositorio de GitHub (sitio principal) | Código de la dirección del almacén en la nube (espejo) | ilustrar | Observación |
|---|---|---|---|
| soy-server | soy-server | Soy servidor | |
| chat | chat | Wildfire IM IM Código fuente de Android SDK y código fuente de aplicaciones | Se puede desarrollar o integrarse fácilmente en las aplicaciones existentes. |
| iOS-chat | iOS-chat | Wildfire IM IOS SDK Código fuente y código fuente de aplicaciones | Se puede desarrollar o integrarse fácilmente en las aplicaciones existentes. |
| chata | chata | Lado de PC desarrollado en base a Electron | |
| chata web | chata web | Wildfire IM Web End, Dirección de experiencia | |
| wx-chat | wx-chat | Demo de la plataforma Mini Program (admite plataformas mini de programas como WeChat, Baidu, Alibaba, Byte, QQ, etc.) | |
| servidor de aplicaciones | servidor de aplicaciones | Servidor de aplicaciones | |
| robot_server | robot_server | Servidor de robot | |
| push_server | push_server | Empujar servidor | |
| documento | documento | Fire Wildfire IM Documentos relacionados, que incluyen diseño, concepto, desarrollo e instrucciones, ver en línea |
Como demostración de la aplicación de back-end de IM Wildfire, este proyecto tiene las siguientes funciones:
Este proyecto es un proyecto de demostración. Al usarlo, es necesario trasplantar las funciones correspondientes a sus servicios de aplicación. Si necesita usarlo directamente, siga las instrucciones a continuación para resolver el problema de cuello de botella de rendimiento.
mvn clean package
El embalaje generará paquetes Java y paquetes de instalación de DEB. Si necesita paquetes de instalación de RPM, desencadene el complemento del paquete RPM en pom.xml . Además, se requiere que RPM se instale localmente, lo cual es fácil de instalar en sistemas Linux o Mac. Cygwin y RPM deben instalarse en los sistemas de Windows. Consulte la información específica sobre Baidu.
Después de la modificación, ejecute el mvn clean package , y el paquete RPM se genera en target .
La aplicación utiliza la función Tencent Cloud SMS, y debe solicitar los tres parámetros appid/appkey/templateId y configurarla en tencent_sms.properties . Los usuarios también pueden cambiar a sus propios proveedores de mensajes de texto favoritos. En ausencia de un proveedor de SMS, superCode se puede usar para las pruebas. Después de configurar, el cliente puede iniciar sesión directamente usando superCode . Cuando esté en línea, asegúrese de eliminar superCode .
Este servicio de demostración tiene 4 archivos de configuración en el directorio config del proyecto, a saber, application.properties , im.properties , aliyun_sms.properties y tencent_sms.properties . Ponga la configuración correctamente en el directorio config en el directorio donde se encuentra el paquete JAR.
sms.verdorenapplication.propertiesConfiguración de PROperties decide qué proveedor de servicios de SMS usa, 1 es Tencent SMS y 2 es Alibaba Cloud SMS
Encuentre app-XXXX.jar en target , coloque el paquete JAR y config donde se coloca el archivo de configuración, y luego ejecute el siguiente comando:
java -jar app-XXXXX.jar
Inicialmente, este servicio solo proporciona la función de obtener tokens, y luego gradualmente agregó funciones como anuncios grupales/shiro, y debe introducirse en la base de datos. Para mejorar la conveniencia de la experiencia del usuario, se introdujo la base de datos H2, lo que permite a los usuarios ejecutar directamente sin instalar ningún software (todavía se requiere JRE). Además, la sesión Shiro también se almacena en la base de datos H2. Al mejorar la conveniencia, conduce a cuellos de botella de rendimiento, por un lado, y por otro lado, no se puede expandir horizontalmente y altamente disponible. Por lo tanto, es necesario usar este proyecto y hacer dos modificaciones.
application.properties para cambiar los métodos.La versión 0.40 presenta la función Shiro. Antes de actualizar este servicio, debe asegurarse de que el cliente haya introducido al cliente móvil cuando o después de la versión de la versión 0.40 de este proyecto. Y después de actualizar, el cliente debe iniciar sesión e iniciar sesión nuevamente para guardar la sesión (la desconexión se llama al inicio de sesión, y se requiere el valor falso, de modo que el historial de chat histórico se pueda retener iniciando sesión nuevamente. Debe cambiarse a esto en la nueva versión). Si es una versión anterior o no se registra nuevamente, las funciones de inicio de sesión del anuncio del grupo y el código de escaneo no estarán disponibles. Para la seguridad del sistema, se recomienda una actualización.
La versión 0.43 cambia la breve encuesta del inicio de sesión de Web y PC a largas encuestas. Si la actualización del servicio de aplicación requiere modificaciones correspondientes a la web y la PC.
0.45.1 El conmutador wfc.all_client_support_ssl se agrega al archivo de configuración. Al actualizar a esta versión o posterior, este conmutador debe agregarse al archivo de configuración.
La versión 0.51 ha agregado autenticación de token. La autenticación de token y cookies se puede admitir al mismo tiempo. El cliente también ha realizado modificaciones correspondientes y da prioridad al uso de token. Presta atención a la compatibilidad.
A partir de la versión 0.53, los datos se almacenan en la base de datos. Por lo tanto, el servicio de aplicación es un servicio sin estado, y se pueden implementar múltiples servicios de aplicaciones para alta disponibilidad y expansión horizontal. Es necesario tener en cuenta que los datos se almacenan en la base de datos. Si el número de usuarios es grande o el volumen de negocios es relativamente grande, puede abrir el servicio de aplicación usted mismo y agregar el caché Redis.
Habrá una frecuencia limitada de solicitudes de la misma IP en el servicio. Por defecto, se puede solicitar una IP 200 veces por hora. Se puede ajustar de acuerdo con su situación real (puede encontrarla buscando la cadena RatElimiter). Si usa NGINX como un proxy inverso, debe prestar atención a pasar la IP real del usuario (usando X-Real-IP o X-Forward-For) para evitar no poder obtener la IP real y, por lo tanto, afectar el uso normal.
Bajo licencia MIT. Consulte el archivo de licencia para obtener más detalles
Consulte las instrucciones para usar Alibaba Cloud SMS