Gitads

Anglais | Chinois simplifié
La raison pour laquelle cela s'appelle Ghchat est de penser à faire une certaine intégration GitHub à l'avenir, dans l'espoir de faire de cet outil de messagerie instantané un outil de chat pour GitHub. Actuellement, seule la connexion autorisée par GitHub est prise en charge et les informations affichées par les utilisateurs de GitHub sont affichées. Ensuite, vous pouvez facilement construire un groupe de projets pour votre projet GitHub à Ghchat, puis publier le lien de groupe vers ReadMe pour faciliter la communication instantanée des projets.
L'adresse en ligne de l'application (également un lien de groupe pour le projet), prend en charge la connexion d'autorisation GitHub directe
Si la connexion Github échoue
Il est très probable que votre github ne définisse pas le courrier électronique public

Il est recommandé d'activer PWA
Front-end React Family Bucket, PWA, back-end node.js (KOA2), support back-end et écrit certains TS (la plupart des types n'ont pas encore été complétés par t ^ t), les bases de données mysql, socketo, jwt, etc., voir package.json pour plus de détails. De plus, Nginx, SSL, PM2, etc. sont utilisés dans l'environnement de production. Bienvenue à rejoindre le groupe Ghchat pour communiquer. Je suis en ligne tous les jours et vous pouvez également cliquer pour discuter avec moi en privé.





Connexion / enregistrement / connexion / connexion avec plusieurs appareils en même temps
Prise en charge des informations de connexion / affichage d'autorisation de GitHub divulguées par les utilisateurs de GitHub
Disposition réactive, adaptée à des composants de bureau et mobile / la plupart des utilisateurs sont écrits par eux-mêmes
CHAT PRIVÉ / ADD CONTACTS / Profil d'ami Affichage / Supprimer les contacts
Chat de groupe / Cultiver un groupe d'informations de groupe / groupe Affichage / édition d'informations de groupe / Informations de groupe / Notification d'entrée du nouvel arrivant
Recherche d'utilisateurs et recherche de groupe: prendre en charge la recherche floue frontale et la recherche floue back-end
Envoyer des photos / expressions publiées / envoyer des fichiers / télécharger des fichiers / entrez les touches de raccourci pour envoyer des informations / @ quelqu'un / une vue d'image / envoyer des photos de copie (telles que des captures d'écran et publier directement des images) / afficher le tableau de la page de chat descendant / groupe de partage | Contactez les personnes à d'autres personnes | Groupe (support à la fois à l'intérieur et à l'extérieur de l'application)
Paramètres de notification / commutateur de Browser Desktop pour les invites de message / Nombre de messages / rafraîchissements non lus | Référé | (différents comptes) pour remédier à la page, le nombre de messages non lus sur la liste sera toujours affiché avec précision
Compression GZIP / Fichiers de construction sous-traités / contenu de chat Lazy Chargement / routage à la demande / Interface Demande de demande de fréquence / Mécanisme de gestion de WebSocket
Robot Smart Chat Répondre / Déployer Certificat SSL / Prise en charge PWA / Backend Support TS
Support Markdown / Support Reference Chat Contenu / Backend Encapsulation dans SDK / Internationalisation / CI CD
├── 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成功
PS: Si vous souhaitez utiliser l'autorisation GitHub pour vous connecter, envoyez des images et des fichiers (à l'aide de CDN Cloud Qiniu), vous devez remplir la configuration correspondante dans le fichier (ghchat / server / src / configs / configs.dev.ts), sinon il ne sera pas utilisé par défaut.
npm run start
cd .. // 返回到ghChat/目录
npm run start
Préalable: Créez un fichier Secrets.ts dans le dossier 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. Code frontal de construction
cd src
npm run build:prod
2. Code de backend de construction
cd sever
npm run build:prod
npm run start:prod 2 sur votre serveur, exécutez le fichier dist / index.js (vous pouvez copier ghchat / server / packIci, nous avons un processus de développement de Ghchat, qui mettra constamment à jour et résumera les problèmes, les points de connaissance et les pièges qui seront rencontrés lors de ce projet complet.
Mit
Le code n'est pas facile, veuillez indiquer la source de référence
Si cela vous est utile ou pense que ce n'est pas mal, vous pouvez jouer ou me donner une récompense (〃 '▽' 〃)