All Projects → 451518849 → Flutter_lc_im

451518849 / Flutter_lc_im

Licence: other
一个简单、轻量可用于正式项目的 flutter 聊天插件。

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Flutter lc im

Phonesploit
Using open Adb ports we can exploit a Andriod Device
Stars: ✭ 854 (+808.51%)
Mutual labels:  andriod
Hey
An Simple IM App besed on Socket
Stars: ✭ 50 (-46.81%)
Mutual labels:  im
Gochat
goim server write by golang !🚀
Stars: ✭ 1,144 (+1117.02%)
Mutual labels:  im
Angular Chat
(IM App)Chat App built using Angular and Socket.io
Stars: ✭ 12 (-87.23%)
Mutual labels:  im
Qtalk
Startalk is a high-performace IM software for business. It has been stably used in Qunar for more than 4 years, providing services as well as consultation after and before sales to business. Startalk is applicable to multiple scenarios, such as office automation, business services, and first-party SDKs for IM scenes
Stars: ✭ 980 (+942.55%)
Mutual labels:  im
Jus
Flexible and Easy HTTP/REST Communication library for Java and Android
Stars: ✭ 55 (-41.49%)
Mutual labels:  andriod
Tlchat
高仿微信
Stars: ✭ 901 (+858.51%)
Mutual labels:  im
Wechat Im
微信小程序即时通讯模板,使用WebSocket通信
Stars: ✭ 1,316 (+1300%)
Mutual labels:  im
Speedy Im
基于uni-app与uni-socket.io的即时通讯项目。
Stars: ✭ 49 (-47.87%)
Mutual labels:  im
Easychatandroidclient
EasyChat是一个开源的社交类的App。主要包含消息、好友、群组等相关的IM核心功能。部分界面参照了QQ、微信等相关社交APP。EasyChat APP整体采用MVVM模式,基于JetPack(Lifecycle,LiveData,ViewModel,Room)构建
Stars: ✭ 64 (-31.91%)
Mutual labels:  im
Netty Websocket Spring Boot Starter
🚀 lightweight high-performance WebSocket framework ( 轻量级、高性能的WebSocket框架)
Stars: ✭ 885 (+841.49%)
Mutual labels:  im
React Native Uber Clone
Uber UI Clone in React Native
Stars: ✭ 35 (-62.77%)
Mutual labels:  andriod
Chat
支持10万人同时在线 Go语言打造高并发web即时聊天(IM)应用
Stars: ✭ 64 (-31.91%)
Mutual labels:  im
Ios Chat
开源的即时通讯(野火IM)系统
Stars: ✭ 867 (+822.34%)
Mutual labels:  im
Web Chat
Open source IM solution.
Stars: ✭ 81 (-13.83%)
Mutual labels:  im
Gowebsocket
golang基于websocket单台机器支持百万连接分布式聊天(IM)系统
Stars: ✭ 937 (+896.81%)
Mutual labels:  im
Server
Enterprise Open Source IM Solution
Stars: ✭ 53 (-43.62%)
Mutual labels:  im
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-4.26%)
Mutual labels:  im
Uni Huanxin Im
💬 uniapp集成环信小程序sdk,实现多端实时通讯
Stars: ✭ 84 (-10.64%)
Mutual labels:  im
Weibo
Android for weibo
Stars: ✭ 65 (-30.85%)
Mutual labels:  andriod

flutter_lc_im

More customizations, less code !

Introduction

超级简单、轻量的Flutter聊天插件,支持ios和android两个平台。强势推荐一波LeanCloud!!! LeanCloud的使用传送门

Important

全面升级flutter_lc_im,彻底剥离原生界面,让界面定制更容易!在0.2.5版本以前聊天界面还是用的原生代码,使得维护起来非常麻烦,尤其是对UI的修改,更是繁琐。为此,在1.0.0以后的版中去除原生界面的代码,使用flutter编写界面,让用户可以根据自己的业务绘制界面。同时example中已经提供了一套聊天的基础UI,可以直接使用或基于它进行修改。目前还处于Beta版,还在升级中,如需更多功能请Star支持。

Support

  • [x] 一对一聊天

  • [x] 获取聊天列表(可自定义列表UI)

  • [x] 根据聊天情况刷新聊天列表

  • [x] 给出聊天列表上的未读消息数

  • [x] 发送图片消息

  • [x] 发送语音消息

  • [x] 发送视频消息

  • [x] 发送表情

  • [ ] 团组聊天

  • [x] 消息推送

  • [ ] ......

Flutter version

v1.12.13+hotfix.8

Install

Add this to your package's pubspec.yaml file:

dependencies:
	flutter_lc_im: ^1.1.4
	  
flutter packages get

Before Use

在使用插件之前,你需要到leancloud官网上去注册一个账号,然后获得AppId、AppKey和REST API如下图所示:

Use:

注册

FlutterLcIm.register("appId","appKey", "api",debug);

登陆

FlutterLcIm.login("clientId");

登出

FlutterLcIm.logout();

获取聊天列表

FlutterLcIm.queryHistoryConversations(_limit, _offset);  

创建单聊

FlutterLcIm.createConversation(peerId,limit);

获取聊天记录

  FlutterLcIm.queryHistoryConversationMessages()

发送文字消息

   FlutterLcIm.sendTextMessage();   

发送图片消息

   FlutterLcIm.sendImageMessage(); 

发送语音消息

   FlutterLcIm.sendVoiceMessage(); 

发送视频消息

   FlutterLcIm.sendVideoMessage(); 

关于推送

ios推送

ios端的推送在AppDelegate.m文件中设置,已给参考代码。主要步骤为三步

  1. 通过UNUserNotificationCenter注册
  2. 通过AVInstallation设置deviceToken
  3. 处理推送
android推送

android端目前只支持后台线程推送,暂不支持混合推送。推送代码很简单,只要在项目中的MainActivity中的resume函数中设置几行代码,如下所示:

    @Override
    protected void onResume() {
    super.onResume();

    // 获取推送消息数据
    String message = this.getIntent().getStringExtra("com.avoscloud.Data");
    String channel = this.getIntent().getStringExtra("com.avoscloud.Channel");

    if (message != null && FlutterLcImPlugin.notificationCallback != null){
      FlutterLcImPlugin.notificationCallback.success(message);
    }
}

More

详细使用请看example中的代码

QQ技术交流:

群聊号:853797155,欢迎交流问题和技术!

欢迎PR

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].