Skip to content

Commit d4ffd00

Browse files
authored
Merge pull request #87 from jpush/dev
Dev
2 parents 8946f31 + bba0de3 commit d4ffd00

File tree

20 files changed

+8793
-49
lines changed

20 files changed

+8793
-49
lines changed

android/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,12 @@
8585
</receiver>
8686

8787
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
88+
89+
<!-- Required since JMessage 2.7.0 SDK 核心功能-->
90+
<provider
91+
android:name="cn.jpush.im.android.helpers.ipc.IMProvider"
92+
android:authorities="${applicationId}.IMProvider"
93+
android:exported="false" />
8894
</application>
8995

9096
</manifest>
-1.55 MB
Binary file not shown.
2.02 MB
Binary file not shown.

android/src/io/jchat/android/JMessageModule.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ public void getMyInfo(Callback callback) {
224224
@ReactMethod
225225
public void getUserInfo(ReadableMap map, final Callback success, final Callback fail) {
226226
String username = map.getString(Constant.USERNAME);
227-
String appKey = map.getString(Constant.APP_KEY);
227+
String appKey = map.hasKey(Constant.APP_KEY) ? map.getString(Constant.APP_KEY) : "";
228228
JMessageClient.getUserInfo(username, appKey, new GetUserInfoCallback() {
229229
@Override
230230
public void gotResult(int i, String s, UserInfo userInfo) {
@@ -379,7 +379,7 @@ public void sendMessage(ReadableMap map, final Callback success, final Callback
379379
options.setCustomNotificationEnabled(optionMap.getBoolean("isCustomNotificationEnabled"));
380380
}
381381
if (optionMap.hasKey("notificationTitle")) {
382-
options.setNotificationText(optionMap.getString("notificationTitle"));
382+
options.setNotificationTitle(optionMap.getString("notificationTitle"));
383383
}
384384
if (optionMap.hasKey("notificationText")) {
385385
options.setNotificationText(optionMap.getString("notificationText"));
@@ -1125,7 +1125,7 @@ public void downloadVoiceFile(ReadableMap map, final Callback success, final Cal
11251125
mJMessageUtils.handleError(fail, ERR_CODE_MESSAGE, ERR_MSG_MESSAGE);
11261126
return;
11271127
}
1128-
if (msg.getContentType() != ContentType.image) {
1128+
if (msg.getContentType() != ContentType.voice) {
11291129
mJMessageUtils.handleError(fail, ERR_CODE_MESSAGE, "Wrong message type");
11301130
return;
11311131
}
@@ -1710,10 +1710,10 @@ public void createChatRoomConversation(String roomId, Callback success) {
17101710
*/
17111711
@ReactMethod
17121712
public void getAllUnreadCount(Callback success) {
1713-
WritableMap map = Arguments.createMap();
1713+
// WritableMap map = Arguments.createMap();
17141714
int count = JMessageClient.getAllUnReadMsgCount();
1715-
map.putInt("count", count);
1716-
success.invoke(map);
1715+
// map.putInt("count", count);
1716+
success.invoke(count);
17171717
}
17181718

17191719
@ReactMethod

android/src/io/jchat/android/utils/ResultUtils.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,30 @@ public static WritableMap toJSObject(Message msg) {
218218
case group_info_updated:
219219
result.putString(Constant.EVENT_TYPE, "group_info_updated");
220220
break;
221+
case group_member_keep_silence:
222+
result.putString(Constant.EVENT_TYPE, "group_member_keep_silence");
223+
break;
224+
case group_member_keep_silence_cancel:
225+
result.putString(Constant.EVENT_TYPE, "group_member_keep_silence_cancel");
226+
break;
227+
case group_keeper_added:
228+
result.putString(Constant.EVENT_TYPE, "group_keeper_added");
229+
break;
230+
case group_keeper_removed:
231+
result.putString(Constant.EVENT_TYPE, "group_keeper_removed");
232+
break;
233+
case group_dissolved:
234+
//解散群组事件
235+
result.putString(Constant.EVENT_TYPE, "group_dissolved");
236+
break;
237+
case group_owner_changed:
238+
//移交群组事件
239+
result.putString(Constant.EVENT_TYPE, "group_owner_changed");
240+
break;
241+
case group_type_changed:
242+
//移交群组事件
243+
result.putString(Constant.EVENT_TYPE, "group_type_changed");
244+
break;
221245
}
222246
break;
223247
default:

document/API.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ import JMessage from 'jmessage-react-plugin';
3333
- [applyJoinGroup](#applyjoingroup)
3434
- [processApplyJoinGroup](#processapplyjoingroup)
3535
- [dissolveGroup](#dissolvegroup)
36+
- [getGroupIds](#getgroupids)
37+
- [getGroupInfo](#getgroupinfo)
3638
- [聊天](#聊天)
3739
- [createSendMessage](#createsendmessage)
3840
- [sendMessage](#sendmessage)
@@ -55,6 +57,7 @@ import JMessage from 'jmessage-react-plugin';
5557
- [exitConversation](#exitconversation)
5658
- [getConversation](#getconversation)
5759
- [getConversations](#getconversations)
60+
- [getAllUnreadCount](#getallunreadcount)
5861
- [resetUnreadMessageCount](#resetunreadmessagecount)
5962
- [聊天室](#聊天室)
6063
- [getChatRoomListByApp](#getchatroomlistbyapp)
@@ -397,6 +400,65 @@ JMessage.dissolveGroup({ groupId: 'group_id' },
397400
#### 参数说明
398401
- groupId (string): 要解散的群组 id。
399402

403+
### getGroupIds
404+
405+
获取当前用户群组
406+
407+
#### 示例
408+
```js
409+
JMessage.getGroupIds(
410+
(result) => {
411+
/**
412+
* result {Array[Number]} 当前用户所加入的群组的groupID的list
413+
*/
414+
}, (error) => {
415+
/**
416+
* error {Object} {code:Number,desc:String}
417+
*/
418+
}
419+
)
420+
```
421+
422+
#### 参数说明
423+
424+
425+
426+
### getGroupInfo
427+
428+
根据群组id获取群组信息
429+
430+
#### 示例
431+
432+
```js
433+
JMessage.getGroupInfo(
434+
{ id: "1234567" },
435+
(result) => {
436+
/**
437+
* result {Object} 群组信息
438+
{
439+
desc:""
440+
id:"1234567"
441+
isBlocked:false
442+
isNoDisturb:false
443+
level:0
444+
maxMemberCount:500
445+
name:"China no 1"
446+
owner:"1234"
447+
ownerAppKey:"abcdef..."
448+
type:"group" // or single
449+
}
450+
*/
451+
}, (error) => {
452+
/**
453+
* error {Object} {code:Number,desc:String}
454+
*/
455+
}
456+
)
457+
```
458+
459+
#### 参数说明
460+
461+
- id(string): 指定群组
400462

401463
### addGroupAdmins
402464

@@ -1157,6 +1219,28 @@ JMessage.getConversations((conArr) => { // conArr: 会话数组。
11571219
})
11581220
```
11591221
1222+
### getAllUnreadCount
1223+
1224+
当前用户所有会话的未读消息总数
1225+
1226+
- ⚠️ 截止jmessage-sdk-2.6.1 返回的数量为会话列表的未读总数即包括了被移除的群组、好友的未读.
1227+
1228+
#### 示例
1229+
1230+
```js
1231+
JMessage.getAllUnreadCount(
1232+
(result) => {
1233+
/**
1234+
* result {Number} 当前用户所有会话的未读消息总数
1235+
*/
1236+
}
1237+
)
1238+
```
1239+
1240+
#### 参数说明
1241+
1242+
1243+
11601244
### resetUnreadMessageCount
11611245
11621246
重置会话的未读消息数。

document/Models.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,6 @@ customObject: object // 自定义键值对
168168

169169
```js
170170
type: 'event', // 消息类型
171-
eventType: string, // 'group_member_added' / 'group_member_removed' / 'group_member_exit'
171+
eventType: string, // 'group_member_added' / 'group_member_removed' / 'group_member_exit' / 'group_info_updated' / 'group_dissolved' / 'group_type_changed'
172172
usernames: Array // 该事件涉及到的用户 username 数组
173173
```

example/android/.project

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>TestReactJChat</name>
4+
<comment>Project TestReactJChat created by Buildship.</comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
16+
</natures>
17+
</projectDescription>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
connection.project.dir=
2+
eclipse.preferences.version=1

example/android/app/.classpath

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/"/>
4+
<classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
5+
<classpathentry kind="output" path="bin"/>
6+
</classpath>

0 commit comments

Comments
 (0)