Tabla de contenido
Luo Xun IM
Un sistema de chat web desarrollado por Laravel + LayIM + GatewayWorker.
Nuevo cambio
Antes de que el proyecto de código abierto - polo Yun Fu se ha reconstruido, una nueva versión de la estructura del proyecto más clara, diseño de base de datos más razonable, la sintaxis del programa es más concisa, fácil expansión y mantenimiento. La nueva versión no solo incluye todas las funciones de la versión anterior, sino que también agregamos las siguientes funciones nuevas para mantenerse al día:
- El front-end y el back-end están completamente separados Este proyecto incluye un servidor API completo y dos clientes de nuevo diseño (cliente de PC y cliente móvil);
- Nuevo menú contextual;
- Configuración de base de datos dual MySQL + MongoDB, MongoDB de alto rendimiento es responsable de almacenar una gran cantidad de registros de chat y registros de mensajes;
- SMS en la nube de Alibaba;
- Alibaba Cloud OSS almacena archivos e imágenes grandes;
- Aplicar protocolo de transferencia https y wss
Captura de pantalla del proyecto
- URL de experiencia: im.luoxune.com
Estructura del proyecto
- aplicación
- Concole ------------------------------------------------- ----- Contiene todos los comandos personalizados de Artisan aplicados
- Http
- Controladores / Api ----------------------------------------------- ----------- Manejar todas las solicitudes que ingresan a la aplicación a través de la interfaz
- Middleware ------------------------------------------------- ------------- Middleware
- Peticiones ------------------------------------------------- ---------------- Solicitar clase de verificación
- Recursos ------------------------------------------------- -------------- Clase de recurso de interfaz
- Proveedores ------------------------------------------------- ---------Proveedor de servicio
- Servicios ------------------------------------------------- ----------Servicio
- Aplicaciones / LuoXun --------------------------------------- Directorio de archivos de configuración de GatewayWorker
- config ------------------------------------------------- --------------- Directorio de archivos de configuración de Laravel
- base de datos
- fábricas ------------------------------------------------- --------- Directorio de fábrica de bases de datos
- migraciones ------------------------------------------------- ------- Directorio de archivos de migración de base de datos
- semillas ------------------------------------------------- ------------- Directorio de llenado de datos
- público
- complementos ------------------------------------------------- ------ Directorio de complementos de front-end
- layui ------------------------------------------------- --------- Pon Layui que contiene LayIM aquí
- recursos
- css ------------------------------------------------- ----------- Directorio CSS de front-end
- js ------------------------------------------------- ------------- Directorio JS de front-end
- lang ------------------------------------------------- --------- Directorio de configuración multilingüe
- puntos de vista
- móvil ------------------------------------------------- ------------- Cliente móvil
- pc ------------------------------------------------- -------------------- cliente de PC
- index.blade.php --------------------------------------------- ----- Vista de inicio
- login.blade.php --------------------------------------------- ------ Vista de inicio de sesión
- reg.blade.php --------------------------------------------- -------- Vista de registro
- rutas
-api ----------------------------------------------- ----------------- Enrutamiento de interfaz
-web ----------------------------- ---------------------------------- Ver enrutamiento - .env ------------------------------------------------ ------ Archivo de configuración global de Laravel
Instalar y usar
Suponemos que su servidor se ha configurado con el entorno del proyecto Laravel.
Instalar paquete de expansión
composer update
Paquete css / js
npm install
npm run production
Edite el archivo de configuración, complete XXXX
cp .env_example .env
vim .env
Coloque el layui que contiene LayIM en el directorio / public
Modifique los nombres de dominio en /resources/views/pc/app.blade.php y /resources/views/mobile/app.blade.php
var domain = ‘{Yourdomain}/wss’;
Configurar nginx para resolver problemas del protocolo wss
#laravel 框架 nginx 配置文件中的对根目录的访问修改为以下
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /wss {
proxy_pass localhost:5210;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
proxy_set_header Host $host;
}
Generar clave de cifrado de datos
php artisan key:generate
Generar clave de token jwt
php artisan jwt:secret
Migración de base de datos
php artisan migrate
Rellenar tablas de datos de cuentas de usuarios y grupos
php artisan db:seed
Proyecto online
php artisan up
Preguntas más frecuentes
- ¿Por qué el archivo LayIM no está incluido en el proyecto?
LayIM está protegido por los derechos de autor del software informático nacional y los archivos fuente del producto no se pueden divulgar sin la autorización del sitio web oficial. Después de obtener LayIM, coloque el layui que contiene LayIM en el directorio / public. - ¿Por qué no hay experiencia en gestión?
El fondo de gestión manipula directamente la tabla de datos, lo que no tiene nada que ver con la lógica de procesamiento de solicitudes en el proyecto. Use laravel-admin para construir un backend de administración completamente funcional en diez minutos. - ¿Hay documentos de respaldo?
La versión anterior tiene documentos de respaldo y la nueva versión aún está en preparación.