# ChicTalk **Repository Path**: tredy6t/chic-talk ## Basic Information - **Project Name**: ChicTalk - **Description**: QtQucik打造仿QQ的即时通讯软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-07-11 - **Last Updated**: 2025-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChicTalk #### 介绍 使用QtQuick构建跨平台桌面即时通讯软件(模仿QQNT ui设计) #### 功能模块 1. ###### 登陆/注册 支持使用邮箱注册Chic账号,实现邮箱验证码的接发与过期检查; 注册完成后使用本地Token免密登陆。 2. ###### 好友/群组 支持好友/群组信息检索,发送好友/入群申请; 可以创建群聊并编辑群资料。 3. ###### 多媒介聊天 支持 文字/Emoji表情/图片/语音/文件 多种媒介聊天。 4. ###### 用户个性化 可以自定义昵称、签名、选择静态头像,同时可以查看好友/群组的个性化内容。 5. ###### 数据本地化 本地用二进制文件存储所有的聊天数据、用户设置等。 6. ###### 程序设置 提供一个设置菜单来满足,用户的使用习惯,设置文件接收位置等。(目前实现较少)
示例图片 示例图片 示例图片 示例图片 示例图片 示例图片
待开发中的功能: 1. 自定义头像 2. 通讯录管理 3. 聊天记录云同步 4. 更多的程序自定义设置(主题、隐私权限、消息接收设置) 5. 图片编辑器与视频播放器 6. 音视频通话 ... #### 项目目录 - **ChicServer_beta**: Linux服务器程序目录 - **ChicTalk_beta**: QtQuick客户端    - **mprpc**: RPC通讯框架 - **快速体验**: ChicTalk客户端解压缩版本,可以在Windows上运行,基于一台小型云服务器 #### 软件架构
示例图片
服务器的通讯模块主要基于在网上学习的简易RPC通讯框架mprpc 提供了异步日志系统每天写入关键信息到本地 使用protobuf提供的服务规范定义了绝大部分服务,其中文件传输使用cpp-httplib实现更稳定的传输环境 客户端属于QtQuick + C++的开发模式,所有可视化界面全部使用QML提供(除了一些系统QWidget如文件对话框),绝大部分程序数据管理、功能函数与网络调用使用C++实现, 这种视图交给QML,数据与控制交给C++的方式类似于MVC模式 C++使用Qt的信号与槽机制和属性系统与QML通信,QML只需要关注界面元素的编写,极大简化了ui的开发 #### 项目环境 **ChicServer 需要的环境**: 1. g++ 2. muduo 网络库 3. protobuf-3.11.0(RPC框架使用了该版本) 4. zookeeper-3.4.10(同上) 5. MySQL 6. OpenSSL 7. cpp-httplib开源库 **ChicTalk 需要的环境**: 1. QtQuick 2. protobuf-3.11.0 3. zookeeper-3.4.10(更高版本均可) 4. Fluent QML UI 库 5. MSVC 2019 64-bit 6. cpp-httplib开源库 #### 参与贡献 杨