allpepo / wechat_flutter

wechat_flutter Flutter版本微信,一个优秀的Flutter即时通讯IM开源库!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub stars GitHub forks GitHub issues

如果产生其他依赖无法编译的问题,可以尝试将pubspec.yaml中的dependencies中的所有依赖的"^"去掉,重新编译尝试。

log

  • 2020.06.30 群成员大于20才显示查看全部群成员、群主则显示群管理item【下午】

  • 2020.06.30 会话列表无会话消息判断显示、修复会话报错、群公告完整显示【上午】

  • 2020.06.26 退出群聊和解散群聊功能、聊天成员页面、选择成员页面【下午】

  • 2020.06.26 修改群聊名称页面、更换聊天背景页面、修复webView【上午】

  • 2020.06.24 群公告、更改群公告消息体内容显示、新增群备注、新增群二维码页;

  • 2020.06.23 群聊详情页面制作;

  • 2020.06.21 会话列表聊天内容显示表情【10点】

  • 2020.06.20 修复录制视频完成停止录制的时候报错【17点48分】

  • 2020.06.20 去掉初始化拍一拍效果【17点】

  • 2020.06.20 修复会话列表时而为空【12点】

  • 2020.06.20 修复群聊消息不出现在会话列表【09点】

  • 2020.06.18 新增微信拍一拍效果;

  • 2020.06.17 新增发起群聊和群聊列表展示;

  • 2020.06.16 新增表情聊天功能;

  • 2020.06.15 修复打包闪退问题;

  • 2020.02.14 适配 Flutter v1.17.3;

  • 2020.02.16 适配flutter v1.12.13和Androidx,修复Android运行问题;

  • 2019.12.30 取消extended_text_field;

介绍

wechat_flutter是flutter版微信,目前已实现即时通讯基本功能,支持安卓和IOS,具体下载体验。 start.gif

效果图

1.gif 2.gif 3.gif
4.gif 5.gif 6.gif
7.gif 8.gif 9.gif
下载体验(Android):点击下载

IOS的直接拉下项目直接跑即可,

特性

  • 文字消息
  • 表情消息
  • 图片消息
  • 语音消息
  • 删除会话
  • 语言国际化
  • 账号注册
  • 账号登陆
  • 自动登陆
  • 会话列表
  • 通讯录
  • 更改头像
  • 显示头像
  • 显示昵称
  • 更改昵称
  • 搜索好友
  • 添加好友
  • 删除好友
  • 视频拍摄
  • 视频消息
  • 位置消息
  • 创建群聊
  • 退出群聊
  • 解散群聊
  • 群聊列表
  • 群聊公告
  • 修改群名
  • 群聊消息(文字)
  • 扫一扫
  • 设置备注

第三方框架

功能
dim 即时通讯
shared_preferences 持久化存储
provider 状态管理
cached_network_image 图片缓存
toast 消息提示
webview_flutter web页面显示
image_picker 图片和视频选择
extended_text 扩展文本
url_launcher 打开浏览器浏览
connectivity 检查网络连接
photo_view 图片放大显示
dio 网络框架
open_file 打开文件
package_info 包信息
flutter_sound 音频录制处理
permission_handler 权限管理
audioplayers 音频播放处理
camera 相机
video_player 视频播放
extended_text_field 扩展文本输入
flutter_image_compress 图片压缩
lpinyin 获取中文的拼音
azlistview 特殊列表滑动
wechat_assets_picker 微信图库

使用教程

IOS

  • 进入项目IOS目录:$ cd ios/
  • 更新Pod(非必须):$ pod update
  • 安装Pod:$ pod install

如果出现(Connection refused - connect(2) for "raw.githubusercontent.com" port 443),则表示还没设置国内源, 或者尝试下翻墙。

我的Flutter环境

q1deMacBook-Pro:~ q1$ flutter doctor -v
[✓] Flutter (Channel stable, v1.17.3, on Mac OS X 10.14.5 18F2059, locale zh-Hans-CN)
    • Flutter version 1.17.3 at /Users/q1/flutter
    • Framework revision b041144f83 (12 days ago), 2020-06-04 09:26:11 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/q1/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/q1/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3, Build version 11C29
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

运行安卓androidx.core:core问题

错误信息:
Android dependency 'androidx.core:core' has different version for 
the compile (1.0.0) and runtime (1.0.2) classpath. You should 
manually set the same version via DependencyResolution
解决方案

项目最下方的External Libraries => Flutter Plugins => image_picker-0.6.1+2 => android => build.gradle 然后最下方有androidx.core:core:版本

直接改为androidx.core:core:1.0.0

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 16
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    lintOptions {
        disable 'InvalidPackage'
    }
    dependencies {
        implementation 'androidx.core:core:1.0.0'
        implementation 'androidx.annotation:annotation:1.0.0'
    }
}

然后permission_handler也一样改下。

关于项目太久没更

最近工作太繁忙,基本没啥时间更新,然后之前是做其他开源项目,导致这个项目太久没实质性进展, 不好意思哈各位,从现在开始进入维护状态。

Future

Flutter微信群

上图无法显示点我

Flutter教程网:www.flutterj.com

Flutter交流QQ群:874592746

公众号

关注公众号“Flutter前线”,各种Flutter项目实战经验技巧,干活知识,Flutter面试题答案,等你来领取。

LICENSE

fluttercandies/wechat_flutter is licensed under the
Apache License 2.0

A permissive license whose main conditions require preservation of copyright and license notices. 
Contributors provide an express grant of patent rights. 
Licensed works, modifications, and larger works may be distributed under different terms and without source code.

About

wechat_flutter Flutter版本微信,一个优秀的Flutter即时通讯IM开源库!

License:Apache License 2.0


Languages

Language:Dart 78.6%Language:Objective-C 11.8%Language:Java 9.0%Language:Ruby 0.6%Language:Shell 0.0%