react + node 前后端同时开发的项目(交友聊天的H5)- (附前后端源码)

2 篇文章 0 订阅
1 篇文章 0 订阅

一、项目介绍:

此项目为一个前后台分离的交友的SPA,包括前端应用和后端应用。主要页面有:注册、登录、信息完善、用户列表、聊天、个人中心、搜索等

二、技术栈:

前端技术栈:React全家桶 + ES6 + Webpack + axios + socket.io + Cookie + antd- mobile等技术

后端技术栈:Node + express + mongodb + socketIO等技术

三。项目效果展示:

帅哥用户的展示的美女列表:

美女页面和大神几乎一样,只是展示的帅哥列表

登录、注册、信息完善和聊天详情页面:

四、技术选型:

前端路由思维导图:

五:接口展示:

// 封装了很多接口请求的函数模块
// 注册接口
import ajax from './ajax'
export const reqRegister=(user)=>ajax('/register',user,'POST')

// 登录接口
export const reqLogin=({username,password})=>ajax('/login',{username,password},"POST")

// 更新用户接口
export const reqUpdataUser=(user)=>ajax('/update',user,'POST')

// 获取用户信息
export const reqUser=()=>ajax('/user')

// 获取用户列表
export const reqUserList=(type)=>ajax('/userlist',{type:type},"POST")

// 获取当前用户的聊天消息列表
export const reqChatMsgList=()=>ajax('/msglist')

// 修改指定消息为已读
export const reqReadMsg=(from)=>ajax('/readmsg',{from},"POST")

// 按需搜索用户
export const reqSearchPeo=({type,xueliArrays})=>ajax('/searchPeopel',{type,xueliArrays},"POST")

六、页面逻辑简单介绍:

  1. 注册页面:前端:使用antd-mobile快速搭建UI页面,密码使用MD5加密,进行非空判断、密码确认判断,进行注册接口请求,注册成功cookie将保存在本地,24小时内是免登录状态。后端:首先判断此用户是否已经注册过,如果有提醒直接登录,如果没有向数据库进行数据添加(登录成功),将登录信息返回到前台。
  2. 登录页面:前端:使用antd-mobile快速搭建UI页面,密码使用MD5加密,进行非空判断,进行登录接口请求。后端:通过用户名和密码进行数据库查询,查询有数据,登录成功,将成功信息返回给前台;无数据,提醒用户名或者密码错误。
  3. 信息完善页面:前端:使用antd-mobile快速搭建UI页面,将填写的信息通过接口发送给后台;后端:将数据添加到数据库。这里头像如果没有选择,下次登录之后还是会跳转到信息完善页面,在页面中有判断。
  4. 美女/帅哥主界面:信息完善页面完成之后就会进入主界面,这个页面主要是用户列表展示。前端:使用antd-mobile快速搭建UI页面,在此页面生命周期函数中请求获取用户列表的接口(参数:用户类型),将获得数据展示出来即可;后端:根据type类型(美女/帅哥)进行数据库查询,将结果返回给前端进行展示。
  5. 消息列表页面:前端:使用antd-mobile快速搭建UI页面,将从后台查询的数据进行展示,接口是根据当前登录用户id进行查询;后端:只要查询和当前用户的id相关的所有的聊天信息。将查询的结果返回给前台。
  6. 个人中心:前端:使用antd-mobile快速搭建UI页面,将后台返回的数据进行展示;后端:根据前台传入的用户id进行数据库查询,将结果返回给前台。
  7. 聊天页面:前端:使用antd-mobile快速搭建UI页面,使用socketIO建立长链接和后台进行通讯;后端:搭建socketIO服务,和前端建立通讯,进行双向通讯。
  8. 搜索页面:只是实现了根据学历进行搜索,通过当前登录用户的type取反,和学历的关键字进行查询,然后展示到主界面;后端:根据前端的参数进行查询,将结果返回前台

七、项目代码GitHub地址

前后端源码可以直接去https://download.csdn.net/download/weixin_44675537/14894665   下载

如果本篇博客对您有帮助,请在girHub上点亮 星星 start,后续会更新基于Vue + node 的项目,持续关注,精彩不断。

前端项目GitHub地址:https://github.com/liufei01/makeFriends/tree/master

后端项目Github地址:https://github.com/liufei01/my-reactServer/tree/master

八、想要安装mongodb数据库的可以参考我的另一篇博客,专门介绍mongodb在windows和linux服务器上安装的步骤

mongodb博客地址:https://blog.csdn.net/weixin_44675537/article/details/112074014

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上登堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值