iTalk开发文档
博客更新日期:2021-06-04
项目状态:新增大厅聊天室,新增图片接口千张。
基本架构:UniAPP+node+Mongo.
Github地址: https://github.com/bai-23/italk-app
项目预览地址:点击这里(建议移动端食用)
配套接口文档,喜欢的小伙伴帮忙点个star~
文章目录
- iTalk开发文档
-
- 快速预览
- Project
- Schema
- API DOC
-
- 1.signUp
- 2.judgeValue
- 3.signIn
- 4.searchUser
- 5.isFriend
- 6.searchGroup
- 7.isInGroup
- 8.userDetial
- 9.userUpdate
- 10.getMarkName
- 11.updateMarkName
- 12.applyFriend
- 13.updateFriendState
- 14.deleteFriend
- 15.*upload
- 16.getFriend
- 17.getLastMsg
- 18.unreadMsg
- 19.updateMsg
- 20.getGroup
- 21.getLastMsg
- 22.updateGroupMsg
- 23.msg
- 23.msg
快速预览
项目名称:iTalk-社交app
开发人员:熙子黒
更新日期:2021-05-24
开源协议:MIT
项目介绍
- QQ、VX的结合
- 即时通讯技术
- 全栈架构
- UI规范化
项目地址:http://italk.aoau.top
更多项目请访问:http://www.aoau.top
技术栈
前端:vue
+uni-app
+sass
后端:Nodejs(express)
+mongoDB
通信:Websocket(socket.io)
Development Tool: HBuilderX
+WebStorm
Developing env: windows
开发+linux
部署
Why uni-app?
1.简洁的跨平台开发框架,一次开发多平台上线(Android、ios、小程序)。
2.开发前置条件低,只需掌握
vue
即可快速上手。Why websocket?
1.不同于
http
协议,详情查看官网。2.服务端与客户端双向数据绑定。
3.封装的
socket.io
库简洁API,方便快速上手。4.此项目为本人学习websocket项目,以准备后期开发物联网项目打基础。
Why express?
1.
express
是基于nodejs
标准库http
封装的web后端框架,方便前端人员快速开发,学习成本较低。
Project
项目目录
前端
┌-
├- commons/ // 配置文件
├- db.js // 连接数据库配置
├-
├- components/ // 数据模型
├-
├- pages/ // 中间件
├- err.js // 错误处理中间件
├- static/ // 后端路由
├- index.js
├- App.vue //
├- main.js //
├- pages.json // 入口
├- manifest.json
├- project.config.json // 版本控制
├- uni.scss // 版本控制
├- README.md // readme
└-
后端
┌-
├- config/ // 配置文件
├- db.js // 连接数据库配置
├-
├- model/ // 数据模型
├-
├- middleware/ // 中间件
├- err.js // 错误处理中间件
├- router/ // 后端路由
├- index.js
├- server/ //
├-
├- dao/ //
├-
├- app.js // 入口
├- package.json // 版本控制
├- package-lock.json // 版本控制
├- README.md // readme
└-
插件
包 | 版本 | 备注 |
---|---|---|
cors | 2.8.5 | 跨域处理 |
express | 4.17.1 | web框架 |
mongoose | 5.12.10 | 数据库 |
require-all | 3.0.0 | 加载目录下所有文件 |
body-parser | 1.19.0 | 获取前端数据 |
nodemailer | 6.6.0 | 邮箱插件 |
bcryptjs | 2.4.3 | 密码加密 |
jsonwebtoken | 8.5.1 | token身份验证 |
multer | 1.4.2 | 文件上传插件 |
加粗为后端插件
前端路由
路由 | 参数 | 类型 | 备注 |
---|---|---|---|
/index | / | 首页 | |
/signin | / | 登录页 | |
/signup | / | 注册页 | |
/userhome?id=xxx | id | Num/Str | 用户唯一id |
/search | / | 好友搜索 |
交互逻辑
标题 | 逻辑 | 备注 |
---|---|---|
前后端交互流程 | 前端发送请求 → 匹配后端路由 → server处理函数 → dbserver CRUD ∞ db |
|
前后端交互验证 | 1. 登陆时,客户端发送用户名密码 2. 服务端验证用户名密码是否正确,校验通过就会生成一个有时效的token串,发送给客户端 3. 客户端储存token,一般都会存储在localStorage或者cookie里面 4. 客户端每次请求时都带有token,可以将其放在请求头里,每次请求都携带token 5. 服务端验证token,所有需要校验身份的接口都会被校验token |