学完 WebSocket 之后,我们做个项目来综合练习下。
WebSocket 的项目实战,最容易想到的就是即时通讯(Instant Messaging),也就是聊天室了。
我们每天都在用 QQ、微信,对它们的功能都很熟悉。
我们会实现最精简的版本,包括这些功能:
用户可以注册账号、登录,忘记密码还可以通过邮箱找回。
可以添加删除好友、群聊,查看好友、群聊列表。
聊天支持单聊和群聊,可以发送文字、表情、图片、文件。
可以收藏聊天消息,后续查看。
然后我们来画下原型图:
注册
注册的时候要填入用户名、昵称、密码、邮箱,然后通过邮箱验证码验证邮箱的有效性,之后点击注册
登录
注册完之后,通过用户名密码登录
修改密码
忘记密码的话,可以通过邮箱来重置密码
修改信息
登录成功后,可以修改头像、昵称和邮箱:
好友
可以添加好友,查看好友列表:
右键可以删除好友。
好友
可以添加群聊,查看群聊列表:
右键可以退出群聊。
添加好友
点击添加好友时,会有一个弹窗,输入 username 和理由就可以发送好友请求:
通知
收到好友请求的时候,可以在通知页面查看请求:
发送请求一方也可以在这里看到发出的请求。
聊天
加了好友或者加入群聊之后,就可以开始聊天了:
可以发送文字、表情、图片、文件。
收藏
聊天过程中可以收藏聊天消息,包括文字消息、图片消息、文件消息:
可以按照文字、图片、文件等类型来查看。
原型图链接:https://js.design/f/BofSOW?p=2G9mZB5h-B&mode=design&linkelement=1-1084
这节是全部做完后的效果,你可以先看一下。
总结
我们分析了下聊天室的需求,并画了原型图。
首先是账号相关,包括注册、登录、修改密码、修改信息等。
然后可以查看好友列表、添加好友、加入群聊、删除好友、退出群聊。
在通知页面可以看到收到的、发出的好友请求,可以通过好友请求。
聊天页面可以和好友聊天,也可以在群聊里聊天,可以发送文字、表情、图片、文件。
聊天消息可以收藏,之后在收藏页面查看,支持按照消息类型来查看。
实现了这些功能,一个简易聊天室就算完成了。