Gitads

Inglés | Chino simplificado
La razón por la que se llama GHCHAT es pensar en hacer una integración de GitHub en el futuro, con la esperanza de hacer de esta herramienta de mensajería instantánea una herramienta de chat para GitHub. Actualmente, solo es compatible con el inicio de sesión autorizado de GitHub y se muestra la información que se muestra en los usuarios de GitHub. Luego, puede construir fácilmente un grupo de proyectos para su proyecto GitHub en GHCHAT, y luego publicar el enlace grupal a ReadMe para facilitar la comunicación instantánea de los proyectos.
La dirección en línea de la aplicación (también un enlace grupal para el proyecto), admite el inicio de sesión de autorización directa de GitHub
Si el inicio de sesión de GitHub falla
Es muy probable que su github no establezca un correo electrónico público

Se recomienda habilitar PWA
Front-end React Family Bucket, PWA, Back-End Node.js (KOA2), soportes de back-end y escribe algunos TS (la mayoría de los tipos aún no se han complementado con T^t), bases de datos MySQL, Socketo, JWT, etc., ver paquete.json para obtener detalles. Además, se utilizan NGINX, SSL, PM2, etc. en el entorno de producción. Bienvenido a unirse al grupo Ghchat para comunicarse. Estoy en línea todos los días, y también puedes hacer clic para chatear conmigo en privado.





Iniciar sesión/registrar/iniciar sesión/iniciar sesión con múltiples dispositivos al mismo tiempo
Soporte de la información de inicio de sesión/visualización de autorización de GitHub divulgada por los usuarios de GitHub
El diseño receptivo, adaptado al escritorio y los componentes móviles / la mayoría de la interfaz de usuario, están escritos por ellos mismos
Chat privado/agregue contactos/perfil de amigos visualización/eliminación de contactos
Chat grupal/cultivo de un grupo/información de la información de la información/edición de información del grupo/Información del grupo/Notificación de entrada al recién llegado
Búsqueda de usuarios && Group Search: Soporte de búsqueda frontal difusa y búsqueda difusa de back-end
Enviar imágenes/expresiones publicadas/enviar archivos/descargar archivos/ingrese claves de acceso directo para enviar información/@alguien/ver imágenes/enviar imágenes de copias (como capturar capturas de pantalla y publicar imágenes directamente)/Mostrar la tabla de la página de chat de acuerdo con el grupo descendente/grupo de compartir | Contactar a las personas a otras personas (grupo de soporte tanto dentro como fuera de la aplicación)
Notificación de escritorio del navegador/Configuración de conmutación Para las indicaciones de mensaje/Número de Mensajes/Actualización no leídos de la lista | Reopener | (diferentes cuentas) Para volver a registrar la página, el número de mensajes no leídos en la lista aún se mostrará con precisión
Compresión GZIP/Archivos de compilación subcontratados/Contenido de chat perezoso Carga/Enrutamiento sobre la demanda/Interfaz Límite de frecuencia de solicitud/Mecanismo de administración de WebSocket
Robot Smart Chat Responder / Implementar el certificado SSL / soporte PWA / Soporte de backend TS
Soporte de contenido de chat de referencia de soporte/encapsulación de backend en CD SDK/Internacionalización/CI
├── LICENSE
├── README-zh_CN.md
├── README.md
├── package-lock.json
├── package.json
├── postcss.config.js
├── server // 后端代码
│ ├── ecosystem.config.js
│ ├── init // 初始化mysql数据库的脚本
│ ├── nodemon.json
│ ├── package-lock.json
│ ├── package.json
│ ├── secrets.ts // 放一些非公开的secret
│ ├── src
│ ├── app
│ ├── context
| ├── controllers
| ├── index.ts
| ├── middlewares
| ├── routes // 后端路由,跟登录注册模块有关
| ├── server.ts
| ├── services
| ├── socket // 除了登录注册,其他都用socket 来通信
| └── utils
| ├── configs
| ├── configs.common.ts // 后端通用配置
| ├── configs.dev.ts // 后端开发配置
| └── configs.prod.ts // 后端生产配置
└── main.ts
│ ├── tsconfig.json
│ ├── tslint.json
│ └── webpack.config.js
├── src // 前端代码
│ ├── App.js
│ ├── app.scss
│ ├── assets
│ ├── components
│ ├── containers
│ ├── index.html
│ ├── index.js
│ ├── manifest.json // PWA需要
│ ├── modules
│ ├── redux
│ ├── router
│ ├── service-worker.js // PWA需要
│ └── utils
├── webpack.common.config.js // 通用webpack设置
├── webpack.prod.config.js //生产相关的webpack配置
└── webpack.dev.config.js //开发相关的webpack配置
git clone https://github.com/aermin/ghChat.git
cd ghChat
npm i
cd ghChat/server
npm i
//需要先在本地建一个名为ghchat的mysql数据库
数据库配置参考如下(ghChat/server/src/configs/configs.dev.ts) 的dbConnection
npm run init_sql //然后查看下数据库是否init成功
PD: Si desea utilizar la autorización de GitHub para iniciar sesión, enviar imágenes y archivos (usando Qiniu Cloud CDN), debe completar la configuración correspondiente en el archivo (Ghchat/Server/Src/Configs/Configs.dev.ts), de lo contrario no se usará de manera predeterminada.
npm run start
cd .. // 返回到ghChat/目录
npm run start
Prerrequisito: Crear archivo secrets.ts en la carpeta Ghchat/ Server/
export default {
port: '3000', // server 端口
dbConnection: {
host: '', // 数据库IP
port: 3306, // 数据库端口
database: 'ghchat', // 数据库名称
user: '', // 数据库用户名
password: '', // 数据库密码
},
client_secret: '', // github的client_secret
jwt_secret: '', // jwt的secret
qiniu: { // 七牛云cdn配置
accessKey: '',
secretKey: '',
bucket: ''
},
robot_key: '', // 机器人聊天用到的key => 请自己申请 http://www.tuling123.com/
};
1.Build Code front-end
cd src
npm run build:prod
2. Construir código de backend
cd sever
npm run build:prod
npm run start:prod )Aquí tenemos un proceso de desarrollo de GHCHAT, que actualizará y resumirá constantemente los problemas, los puntos de conocimiento y las dificultades que se encontrarán al hacer este proyecto de pila completa.
MIT
El código no es fácil, indique la fuente de referencia
Si es útil para usted o piensa que no está mal, puede protagonizar o darme una recompensa (〃 '▽' 〃)