All Projects → corderguo → Xz_wechat

corderguo / Xz_wechat

微信聊天框架搭建,高仿微信聊天框架,一步步学习聊天框架的搭建

Projects that are alternatives of or similar to Xz wechat

Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-89.91%)
Mutual labels:  chat, im, wechat
Ios Chat
开源的即时通讯(野火IM)系统
Stars: ✭ 867 (+36.75%)
Mutual labels:  chat, im, wechat
Smartim4eclipse
Eclipse上的SmartIM插件,防Boss利器,让你可以在eclipse中使用QQ/微信进行聊天
Stars: ✭ 139 (-78.08%)
Mutual labels:  chat, wechat
Nettychat
基于Netty+TCP+Protobuf实现的Android IM库,包含Protobuf序列化、TCP拆包与粘包、长连接握手认证、心跳机制、断线重连机制、消息重发机制、读写超时机制、离线消息、线程池等功能。
Stars: ✭ 1,979 (+212.15%)
Mutual labels:  chat, im
React Native Netease Im
网易云信React Native组件
Stars: ✭ 204 (-67.82%)
Mutual labels:  chat, im
Android yichat lite
android client
Stars: ✭ 118 (-81.39%)
Mutual labels:  chat, im
Im service
golang im server
Stars: ✭ 1,694 (+167.19%)
Mutual labels:  chat, im
Srain
Modern IRC client written in GTK
Stars: ✭ 197 (-68.93%)
Mutual labels:  chat, im
Mojo Weixin
使用Perl语言(不会没关系)编写的个人账号微信/weixin/wechat客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,181 (+86.28%)
Mutual labels:  chat, wechat
Falconmessenger
🌟🌟🌟🌟🌟 Falcon Messenger is a Fast and Beautiful cloud-based messaging app. With iOS and IPadOS Support. Available on the App Store.
Stars: ✭ 310 (-51.1%)
Mutual labels:  chat, wechat
Hrlchatui
android自定义聊天界面 支持语音 图片 视频 文件布局的显示
Stars: ✭ 273 (-56.94%)
Mutual labels:  chat, im
Oim Fx
OIM是采用 Java平台开发的一套即时通讯聊天系统,献给对即时通讯有兴趣的朋友。服务端实现了TCP Socket和WebSocket。方便接入网页版、安卓、IOS、PC桌面版客户端。OIM已经实现桌面版客户端,可以跨平台Windows、mac、Linux使用,用于公司内网、外网通讯、客服系统等,聊天系统。OIM项目可用于任何商业、个人作品中并且希望能够保留作者信息。如果OIM能够帮助到您,请点赞好评,加个星
Stars: ✭ 324 (-48.9%)
Mutual labels:  chat, im
Wechatswift
iOS WeChat App Written in Swift 5.0
Stars: ✭ 102 (-83.91%)
Mutual labels:  chat, wechat
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-85.8%)
Mutual labels:  chat, im
Hyperf Chat
Hyperf Chat
Stars: ✭ 139 (-78.08%)
Mutual labels:  chat, im
Uni Huanxin Im
💬 uniapp集成环信小程序sdk,实现多端实时通讯
Stars: ✭ 84 (-86.75%)
Mutual labels:  chat, im
Android Chat
开源即时通讯(野火IM)系统Android端
Stars: ✭ 2,107 (+232.33%)
Mutual labels:  chat, im
Wechatyunchart
微信多开多账号机器人 云客服系统 微商营销 系统web协议一键登录 非公众号微信机器人微信群管家 微信自动回复 微信定时发送消息 微信多账号登录 微信网页版本协议多开 一键登录 红包数量提醒 微信用户识别男女签名备注地理位置等,群发 自动发消息 定时发消息 群消息监控 机器人回复 ,定时回复,超时回复 聊天记录保存,聊天记录查看
Stars: ✭ 357 (-43.69%)
Mutual labels:  chat, wechat
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+80.44%)
Mutual labels:  chat, im
Exchat
(Not maintaining) A Slack-like app by Elixir, Phoenix & React(redux)
Stars: ✭ 252 (-60.25%)
Mutual labels:  chat, im

XZ_WeChat

博客介绍地址:戳这里

建议使用真机测试。 如果遇到问题,大家可以直接在Issues提问,这样大家都能看到,共同提高。

效果图展示: 1 2

做了两年IM相关工作了,去年是集成环信的SDK实现的IM功能,今年公司拥有自己的长连接服务器,于是从头自己定协议然后一步步实现了IM的整体功能,基本把微信IM有关的内容都实现了。最近开始整理过去的一些知识,于是先从聊天框架下手,整理出这个简易的聊天框架,方便大家学习交流。

由于作者的电脑环境被折腾坏了,不能安装cocoapods来管理一些用到的三方,所以直接导入进了该框架,这一点大家不要学习。

该框架目前支持的消息类型:文本消息(包含表情),图片消息,语音消息,视频消息,文件消息(pdf,word,excel,ppt,png,html等格式)。

如果你想展示文件消息,你需要把文件拷贝到沙盒的/Library/Caches/Chat/File目录下,由于我以前是从PC端发送文件到手机端进行的展示,所以目前只能你手动拷贝了。

项目中展示的视频已经转成了mp4类型,而且也经过了压缩,语音也转换成了amr格式,节省流量的同时,可以和安卓端兼容。

你能从该框架学习到什么:

  • 聊天框架的搭建
  • 表情键盘的实现
  • 语音相关的知识
  • 视频相关的知识
  • 文件相关的功能
  • 转场动画相关的知识
  • 数据模型和尺寸模型分离
  • 你能清楚的了解到在实战项目中IM的实现
  • 各种封装完善的工具类拿走即用(叫我雷锋o(╯□╰)o)
  • 等等等很多知识点都可以学习到

目前该框架这是初步,我还有好多功能没有加入进去,后续会慢慢加入,包括:

  • 消息的转发、拷贝、撤回
  • 文章的分享
  • 订阅号的功能
  • 红包的功能
  • 本地缓存的功能(以数据库实现)
  • 草稿箱的功能
  • 等等等还有好多好多

更新日志

10月8日:添加了消息的拷贝、删除、撤回功能,由于转发功能需要用到数据库所以我只添加了转发的UI,等添加了数据库后再完善。注意这里的只有自己的消息并且是发送成功的消息才可以撤回,我这里限制的是5分钟内的消息可以撤回,超过规定时间不允许撤回。

10月12日:添加了系统消息,当消息撤回的时候聊天界面上提示一条你撤回了一条消息的提示。当多人聊天的时候,如果一方撤回了一条消息,系统应该给你发送一条指令,根据这条指令你识别出是哪一条消息被撤回了,然后删除这条消息,并且插入一条谁谁撤回了一条消息

如果你在学习过程中有什么问题可以和我留言,大家共同提高。如果该框架能帮助到你,欢迎star,你的关注是我最大的动力,谢谢!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].