多功能聊天室@TOC
成员身份 | 姓名 | 分工 |
---|---|---|
组长 | 王筱琦 | 协调成员分工,编写聊天功能demo |
组员 | 魏镜浩 | 产品定位,完善功能 |
组员 | 高迪 | 需求分析,人脸识别 |
组员 | 徐德叙 | ui构建,集成测试 |
人是一切社会关系的总和,人类对社交的渴望源于人类的情感需求,往往胜于物质需求。随着互联网的普及和信息化的到来,人们对于通过互联网社交的需求也越来越大。
于是本多人聊天室应运而生,试图解决当下人们愈发孤独,无人倾诉的社会痛点。
本软件名称:多人聊天室
与其他相关软件关系:在功能上类似于QQ,但是具有着其没有的一些特性,如:人脸识别等
多人聊天室是一款基于互联网,支持一对一、一对多广播、多人群聊模式的在线聊天平台。
Fiora
[Fiora](https://fiora.suisuijiang.com/)
目标群体:有聊天需求的网民
主要功能:一对一、多人群聊
人员限制:4人
时间限制:结课前
财力限制:〇圆
设备限制:4台PC
windows
visual studio2017
作为多功能聊天室,实现多客户端聊天是其最基本的功能。在此基础上,参照市面上现有的一些功能成熟的聊天软件,不断尝试扩展其功能,实现软件的用户友好性、功能完整性等目的。
暂将其功能划分为以下几部分:
实现一对一聊天和多人聊天,客户端发送信息,服务器端检测信息来源,并定向传输到目的客户端。通过服务器的收取转发来实现客户端之间的聊天功能。
确保信息的安全性和用户的私密性,为每个使用改聊天室的用户创建ID、由用户自定义的密码以及人脸信息注册。在进入聊天室之前首先进行登陆,对于首次使用的用户建议其注册账户。服务器端将存储账户、密码、人脸信息等信息,以便每次登录时的信息验证。
单纯的文字聊天方式在如今现代化的聊天方式中,显得枯燥和单薄。为增加用户聊天时的乐趣和体验感,聊天室将为用户提供可选的系统emoji以及用户自行收藏的表情包。
头像是现有各种聊天室较基本的个性化设置,体现出用户的品味,展示用户的喜好,不可或缺。
每个人在不同的时刻会有不一样的心情,为显示用户的个性和风格,聊天室提供用户自定义个性签名的功能,个性签名将展示给其他用户。
传真时代已经很遥远,文件、语音传输是用户办公必备。
聊天记录就像日志一样,每天记录着自己与好友之间发生的趣事。如果回忆不起来过去的某年某月某日发生的事情,那么请翻阅一下聊天记录吧。聊天室贴心的为用户提供聊天消息记录存储与查看功能,让你随时回忆每一天。
在多人聊天时,设置群聊管理员,设置群聊的基本信息并管理其形式和秩序等。
1.用户表(User-List)
列名 | 类型 | 大小 | 约束 | 描述 |
---|---|---|---|---|
userid | int | 11 | 主键 | 用户ID |
nickname | char | 20 | 非空 | 用户昵称 |
password | int | 18 | 非空 | 用户密码 |
2.一对一聊天记录表
列名 | 数据类型 | 大小 | 约束 | 描述 |
---|---|---|---|---|
logid | int | 主键 | 记录id | |
senderid | int | 外键 | 发送人ID | |
receiverid | int | 外键 | 接收人id | |
sendtime | int | 20 | 非空 | 发送时间 |
sendcontent | varchar | 200 | 非空 | 发送内容 |
3.群聊信息表
列名 | 数据类型 | 大小 | 约束 | 描述 |
---|---|---|---|---|
logid | int | 11 | 主键 | 聊天群号 |
managerid | int | 11 | 外键 | 管理员id |
memberid | int | 11 | 外键 | 成员id |
4.群聊消息记录表
列名 | 数据类型 | 大小 | 约束 | 描述 |
---|---|---|---|---|
logid | int | 11 | 主键 | 聊天群号 |
senderid | int | 11 | 主键 | 发送消息的成员id |
sendtime | int | 20 | 主键 | 消息发送时间 |
2.当前ui框架实现图
暂无
1.MFC构建的ui界面与消息收发等信息处理脚本之间的接口。
2.聊天室基础功能实现脚本与Mysql数据库之间的接口。
3.c++的基于openCV的人脸识别脚本分别与Mysql数据库和聊天室登陆功能时间脚本之间的接口。
暂无
人员 | 任务 |
---|---|
王筱琦 | 聊天功能完善,服务器搭建 |
高迪 | 人脸识别,数据库设计 |
魏镜浩 | 用户登陆与注册 |
徐德叙 | 界面优化,头像设置 |
购买阿里云服务器,并搭建Mysql数据库,根据第一次迭代计划中的数据字典初步设计数据库表。
配置openCv2。利用openCv中训练好的模型、函数等,调用摄像头,采集人脸信息,并进行识别人脸。
1.基本注册功能,利用数据表的自动递增约束,为新注册用户自动生成账号,并将用户设置的密码和昵称写入服务器数据库。
2.人脸采集注册功能,调用摄像头,采集人脸信息,存入到数据库。
1.账号密码登陆,搜索数据库进行信息匹配
2.人脸识别登陆,调用已测试好的人脸识别功能模块,获取人脸识别登陆成功与否的信息。
在每轮迭代过程中,聊天室的功能逐渐完善,所以需要用户界面不断根据增长的功能进行优化设计。
从用户本地获取图片,上传至服务器,保存。
在用户后续启动聊天室,成功登录之后,自动下载头像,显示到界面左上角。