基于NodeJS的秘室聊天室

时间:2023-12-28 19:58:26

借着放假期间将NodeJS重新回顾了一下并玩了一下sketch来进行设计界面,很不错。(注:代码整理后会放到github上,请关注。)

本次聊天室我给它定义了一个名称叫“秘密聊天室”。

需求

基于NodeJS的秘室聊天室

技术选型

后端:NodeJs,Socket.io,中间件(express,body-parser,multer,ejs),mongoose

express:是NodeJs Web应用框架,主要是要理解它的router

body-parser:用于获取req中的参数值

multer:用于上传文件

ejs:用于模板渲染

     mongoose:连接mongoose数据库

数据库:mongodb

前端:bootstrap布局,vuejs进行双向绑定,请求还是使用的jquery的ajax,未使用fetch(主要是bootstrap是基于jquery的,所以没用使用webpack或browerify等打包工具进行处理fetch)。

实现

  1、创建web服务器

  基于NodeJS的秘室聊天室

  2、进行身份认证,哪些路由要进行身份处理。

  基于NodeJS的秘室聊天室

  4、数据库配置

  基于NodeJS的秘室聊天室

  5、定义数据模型

  基于NodeJS的秘室聊天室

  6、用户注册,登录

  基于NodeJS的秘室聊天室

  7、建立socket.io

  基于NodeJS的秘室聊天室

  8、前端代码就比较简单了,无否是一些请求而已,下面只截取前端socke.io部分。

  基于NodeJS的秘室聊天室

  

运行效果

  1、登录

  基于NodeJS的秘室聊天室

  2、主界面

  基于NodeJS的秘室聊天室

  3、创建房间(创建自己感兴趣的话题)

  基于NodeJS的秘室聊天室

  3、模拟两个用户

  基于NodeJS的秘室聊天室

  4、每个房间鼠标移入会显示房间内容

  基于NodeJS的秘室聊天室

  5、加入房间,会提示谁加入

  基于NodeJS的秘室聊天室

  6、退出房间,同样会有提示,房间之间互不影响。

  基于NodeJS的秘室聊天室

  7、消息

  基于NodeJS的秘室聊天室

在现阶段还有未完成部分。如消息的保存,人员头像,收藏等。

后续,希望可以将nodejs消息处理做成一个通用组件,安装消息中心后,任何系统中可以很方便调用。

最后来一张sketch的设计稿

基于NodeJS的秘室聊天室