/react-native-imui

react-native im ui

Primary LanguageObjective-C

ReactNative IMUI

定制版

使用

参考demo

## link

react-native link react-native-imui

 `settings.gradle` 中的引用路径:

include ':app', ':react-native-imui' project(':react-native-imui').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-imui/android') include ':react-native-imui:chatinput' include ':react-native-imui:messagelist' include ':react-native-imui:popuptool' include ':react-native-imui:emoji' include ':react-native-imui:photoViewPagerview' include ':react-native-imui:photoViewPagerview:photodraweeview'


然后在 app 的 `build.gradle`中引用:

dependencies { compile project(':react-native-imui') }


**注意事项(Android):我们使用了 support v4, v7 25.3.1 版本,因此需要将你的 build.gradle 中 buildToolsVersion 及 compiledSdkVersion 改为 25 以上。可以参考 demo 的配置。**

## 配置

- ### Android

  - 引入 Package:

  > MainApplication.java

import cn.jiguang.imui.messagelist.ReactIMUIPackage; ...

@Override protected List getPackages() { return Arrays.asList( new MainReactPackage(), new ReactIMUIPackage() ); }




- ### iOS
- Find PROJECT -> TARGETS -> General -> Embedded Binaries  and add RCTAuroraIMUI.framework
 - 把 `iOSResourcePacket` 目录`NIMKitEmoticon.bundle`拖到Xcode`Resources`目录下
- 把 `iOSResourcePacket` 目录`IMGS`拖到Xcode`Images.xcassets`下

## 数据格式

使用 MessageList,你需要定义 `message` 对象和 `fromUser` 对象。

- `message` 对象格式:

**status 必须为以下四个值之一: "send_succeed", "send_failed", "send_going", "download_failed",如果没有定义这个属性, 默认值是 "send_succeed".**

 message = { // 文本    msgId: "msgid", status: "send_going", msgType: "text", isOutgoing: true, text: "text" fromUser: {} }

message = { // image message msgId: "msgid", msgType: "image", isOutGoing: true, progress: "progress string" mediaPath: "image path" fromUser: {}, extend:{ displayName:"图片发送于2017-12-07 10:07", imageHeight:"2848.000000", imageWidth:"4288.000000", thumbPath:"", url:"" } }

message = { // 语音    msgId: "msgid", msgType: "voice", isOutGoing: true, duration: number, // 注意这个值有用户自己设置时长,单位秒 mediaPath: "voice path" fromUser: {}, extend:{ duration:"3" isPlayed:false url:"" } }

message = { //红包消息    msgId: "msgid", status: "", msgType: "redpacket", isOutGoing: true,    extend: { comments:"",//祝福语 serialNo:"",//      type:""//红包类型    }, fromUser: {} } message = { //红包领取消息    msgId: "msgid", status: "", msgType: "redpacketOpen", isOutGoing: true,    extend: { serialNo:""     tipMsg:""//红包通知    }, fromUser: {} }

message = { //转账消息    msgId: "msgid", status: "", msgType: "transfer", isOutGoing: true,    extend: { amount:"1" comments:"" serialNo:""    }, fromUser: {} }

message = { //名片消息    msgId: "msgid", status: "", msgType: "card", isOutGoing: true,    extend: {     imgPath:""//头像     name:""//昵称     sessionId:""//userId type:""    }, fromUser: {} }


-    `fromUser` 对象格式:

fromUser = { userId: "" displayName: "" avatarPath: "avatar image path" }