cc
# 聊天软件接口文档
# 设置监听器
// npm方式导入SDK
// import {
// GhostIMUniSDK, // SDK
// GhostIMUniSDKDefines // 预定义常量
// } from 'yeim-uni-sdk'
//uni_modules方式导入SDK
import {
GhostIMUniSDK, // SDK
GhostIMUniSDKDefines // 预定义常量
} from '@/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.js'
//设置监听,建议使用具名函数
//监听会话列表更新
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.CONVERSATION_LIST_CHANGED, (list) => {
console.log("监听会话列表更新:")
console.log(list)
});
//监听新消息接收
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.MESSAGE_RECEIVED, (list) => {
console.log("收到新消息:")
console.log(list)
});
//监听私聊会话已读回执,对端调用 clearConversationUnread 接口时触发
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.PRIVATE_READ_RECEIPT, (res) => {
console.log("收到私聊会话已读回执:")
console.log(res)
});
//监听消息撤回事件
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.MESSAGE_REVOKED, (res) => {
console.log("收到消息撤回事件:")
console.log(res)
});
//好友列表变化
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.FRIEND_LIST_CHANGED, (res) => {
console.log("收到好友列表变化事件:")
console.log(res)
});
//好友申请列表变化
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_LIST_CHANGED, (res) => {
console.log("收到好友申请列表变化事件:")
console.log(res)
});
//好友申请被拒
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_REFUSE, (res) => {
console.log("收到好友申请被拒事件:")
console.log(res)
});
//监听SDK网络连接状态
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.NET_CHANGED, (res) => {
console.log("网络状态变化:" + res)
});
//监听登陆互踢,当同一用户重复登录时触发
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.KICKED_OUT, () => {
console.log("用户被踢下线")
});
//添加一个网络状态变化的监听器
GhostIMUniSDK.getInstance().addEventListener(GhostIMUniSDKDefines.EVENT.NET_CHANGED, this.netChanged);
//移除了这个网络状态变化的监听器
GhostIMUniSDK.getInstance().removeEventListener(GhostIMUniSDKDefines.EVENT.NET_CHANGED, this.netChanged);
var netChanged = function(res){
console.log("网络状态变化:" + res);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# 登陆和连接
connect(options) -> Void
实例方法,通过 登录token
连接 YeIM-Uni-Server
服务端,登陆IM。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
userId | String | 是 | 空 | 已注册的用户ID字符串 |
token | String | 是 | 空 | [登录token],由请求服务端Http接口换取 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
// npm方式导入SDK
// import {
// GhostIMUniSDK, // SDK
// GhostIMUniSDKDefines // 预定义常量
// } from 'yeim-uni-sdk'
//uni_modules方式导入SDK
import {
GhostIMUniSDK, // SDK
GhostIMUniSDKDefines // 预定义常量
} from '@/uni_modules/wzJun1-YeIM-Uni-SDK/js_sdk/yeim-uni-sdk.min.js'
GhostIMUniSDK.getInstance().connect({
userId: "已注册的用户ID字符串",
token: "上述说明中通过http接口换取到的登陆token",
success: (response) => {
if (response.code === 200) {
uni.showToast({
title: "登录成功"
})
//TODO 根据项目实际情况 用户信息存到状态、缓存
} else {
uni.showToast({
icon: "error",
title: "登录失败:" + response.code
})
}
},
fail: (err) => {
console.log(err);
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 退出登陆和断开连接
disConnect() -> Void
GhostIMUniSDK.getInstance().disConnect();
# 获取连接状态 1.0.3
readyState() -> Number
返回值:
字段 | 类型 | 说明 |
---|---|---|
code | Number | * 0:连接中* 1:连接打开* 2:连接关闭中* 3:连接关闭 |
演示:
let code = GhostIMUniSDK.getInstance().readyState();
# 更新用户资料
updateUserInfo(options) -> Void
更新已登录用户昵称和头像。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
nickname | String | 是 | 空 | 用户昵称 |
avatarUrl | String | 是 | 空 | 用户头像网络地址URL |
gender | Number | 否 | 空 | 性别* 0:未知* 1:男性* 2:女性 |
mobile | Number | 否 | 空 | 电话 |
String | 否 | 空 | 邮箱 | |
birthday | String | 否 | 空 | 生日 |
motto | String | 否 | 空 | 个性签名 |
extend | String | 否 | 空 | 用户自定义扩展字段 |
addFriendType | Number | 否 | 空 | 好友添加的方式* 1:允许任何人添加自己为好友* 2:需要经过自己确认才能添加自己为好友* 3:拒绝加好友 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示
GhostIMUniSDK.getInstance().updateUserInfo({
nickname: "修改后的用户昵称",
avatarUrl: "修改后的用户头像网络地址",
success: (response) => {
console.log(response);
},
fail: (err) => {
console.log(err);
}
});
2
3
4
5
6
7
8
9
10
# 查询用户资料 1.0.4
getUserInfo(options) -> Void
根据传入的用户ID查询出对应的用户资料。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
userId | String | 是 | 空 | 用户ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
userId | String | 用户ID |
nickname | String | 用户昵称 |
avatarUrl | String | 头像 |
演示:
userId: e.value,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});javascript
2
3
4
5
6
7
8
# 获取黑名单列表 1.1.6
getBlackUserList(options) -> Void
根据传入的用户ID查询出对应的用户资料。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
userId | String | 用户ID |
coverUserId | String | 被拉黑用户ID |
coverUser | User | 被拉黑用户信息 |
演示:
GhostIMUniSDK.getInstance().getBlackUserList({
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
# 添加黑名单 1.1.6
addToBlackUserList(options) -> Void
被加入黑名单的用户,将无法给加入者发送消息
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
members | Array | 是 | 空 | 用户ID列表 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().addToBlackUserList({
members: ["user1", "user2"],
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 移出黑名单 1.1.6
removeFromBlacklist(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
members | Array | 是 | 空 | 用户ID列表 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().removeFromBlacklist({
members: ["user1", "user2"],
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 创建文本消息
createTextMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
text | String | 是 | 空 | 文字消息内容 |
返回参数说明:
演示:
//创建文字消息
let message = GhostIMUniSDK.getInstance().createTextMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
text: "你好" //文本消息内容字符串
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 创建文本@消息 1.2.0
createTextAtMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 群ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型,仅支持群聊 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
text | String | 是 | 空 | 文字消息内容 |
atUserIdList | Array | 是 | 空 | 需要 @ 的用户ID列表 |
返回参数说明:
演示:
//创建群聊文字@消息
let message = GhostIMUniSDK.getInstance().createTextAtMessage({
toId: '群ID',
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE
.GROUP, //会话类型:群聊
body: {
text: "@user1 @user2 各位,下班开会",
atUserIdList: ["user1", "user2"]
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 创建图片消息
createImageMessage(options) -> Message
注:图片、语音、视频等媒体消息,需要YeIM-Uni-Server配置[上传仓库]
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
onProgress | Function | 否 | 无 | 上传进度回调函数 |
body.file参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
tempFilePath | String | 是 | 空 | 本地图片临时路径 |
width | Number | 是 | 空 | 图片宽度 |
height | Number | 是 | 空 | 图片高度 |
返回参数说明:
演示:
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album'],
success: async (res) => {
//获取图片信息
let imageInfo = await uni.getImageInfo({
src: res.tempFilePaths[0]
})
//创建图片消息
let message = GhostIMUniSDK.getInstance().createImageMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
file: {
tempFilePath: res.tempFilePaths[0], //本地图片临时路径
width: imageInfo[1].width, //图片宽度
height: imageInfo[1].height //图片高度
}
},
extra: "这是拓展的自定义的内容",
onProgress: (progress) => {
console.log('上传进度' + progress.progress);
console.log('已经上传的数据长度' + progress.totalBytesSent);
console.log('预期需要上传的数据总长度' + progress.totalBytesExpectedToSend);
}
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 创建图片直发消息 1.2.0
createImageMessageFromUrl(options) -> Message
注:媒体直发消息,不需要额外配置,仅需接口传入相关的网络URL即可发送。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | GhostIMUniSDKDefines.CONVERSATION_TYPE (opens new window) | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
originalUrl | String | 是 | 空 | 原图网络Url |
originalWidth | Number | 是 | 空 | 原图宽度 |
originalHeight | Number | 是 | 空 | 原图高度 |
thumbnailUrl | String | 是 | 空 | 缩略图网络Url |
thumbnailWidth | Number | 是 | 空 | 缩略图宽度 |
thumbnailHeight | Number | 是 | 空 | 缩略图高度 |
返回参数说明:
演示:
//创建图片直发消息
let message = GhostIMUniSDK.getInstance().createImageMessageFromUrl({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
originalUrl: "http://xxx.com/xxx.jpg", //原图网络Url
originalWidth: 500, //原图宽度
originalHeight: 500, //原图高度
thumbnailUrl: "http://xxx.com/xxx.jpg", //缩略图网络Url
thumbnailWidth: 200, //缩略图宽度
thumbnailHeight: 200, //缩略图高度
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 创建语音消息
createAudioMessage(options) -> Message
注:图片、语音、视频等媒体消息,需要YeIM-Uni-Server配置[上传仓库]
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | GhostIMUniSDKDefines.CONVERSATION_TYPE (opens new window) | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
onProgress | Function | 否 | 无 | 上传进度回调函数 |
body.file参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
tempFilePath | String | 是 | 空 | 本地录音临时文件,仅支持AAC格式 |
duration | Number | 是 | 空 | 录音时长,单位:秒 |
返回参数说明:
演示:
//创建语音消息
let message = GhostIMUniSDK.getInstance().createAudioMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
file: {
tempFilePath: '', //本地录音临时文件,仅支持AAC
duration: 0, // 录音时长,单位:秒
}
},
extra: "这是拓展的自定义的内容",
onProgress: (progress) => {
console.log('上传进度' + progress.progress);
console.log('已经上传的数据长度' + progress.totalBytesSent);
console.log('预期需要上传的数据总长度' + progress.totalBytesExpectedToSend);
}
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 创建语音直发消息 1.2.0
createAudioMessageFromUrl(options) -> Message
注:媒体直发消息,不需要额外配置,仅需接口传入相关的网络URL即可发送。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | GhostIMUniSDKDefines.CONVERSATION_TYPE (opens new window) | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
audioUrl | String | 是 | 空 | 音频网络Url |
duration | Number | 是 | 空 | 音频时长,单位:秒 |
返回参数说明:
演示:
//创建语音直发消息
let message = GhostIMUniSDK.getInstance().createAudioMessageFromUrl({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
audioUrl: "http://xxx.com/xxx.aac", //音频网络Url
duration: 5, //音频时长,单位:秒
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 创建小视频消息
createVideoMessage(options) -> Message
注:图片、语音、视频等媒体消息,需要YeIM-Uni-Server配置[上传仓库]
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
onProgress | Function | 否 | 无 | 上传进度回调函数 |
body.file参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
tempFilePath | String | 是 | 空 | 本地小视频文件临时路径 |
width | Number | 是 | 空 | 视频宽度 |
height | Number | 是 | 空 | 视频高度 |
duration | Number | 是 | 空 | 视频时长,单位:秒 |
返回参数说明:
演示:
//创建小视频消息
let message = GhostIMUniSDK.getInstance().createVideoMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
file: {
tempFilePath: '', //本地小视频文件临时路径
width: 0, //视频宽度
height: 0, //视频高度
duration: 1 // 视频时长,单位:秒
}
},
extra: "这是拓展的自定义的内容",
//文件上传进度
onProgress: (progress) => {
console.log('上传进度' + progress.progress);
console.log('已经上传的数据长度' + progress.totalBytesSent);
console.log('预期需要上传的数据总长度' + progress.totalBytesExpectedToSend);
}
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 创建小视频直发消息 1.2.0
createVideoMessageFromUrl(options) -> Message
注:媒体直发消息,不需要额外配置,仅需接口传入相关的网络URL即可发送。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | GhostIMUniSDKDefines.CONVERSATION_TYPE (opens new window) | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
videoUrl | String | 是 | 空 | 小视频网络Url |
thumbnailUrl | String | 否 | 空 | 小视频缩略图网络Url |
duration | Number | 是 | 空 | 视频时长,单位:秒 |
width | Number | 是 | 空 | 视频宽度 |
height | Number | 是 | 空 | 视频高度 |
返回参数说明:
演示:
//创建小视频直发消息
let message = GhostIMUniSDK.getInstance().createVideoMessageFromUrl({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
videoUrl: "http://xxx.com/xxx.aac", //小视频网络Url
thumbnailUrl: "http://xxx.com/xxx.aac", //小视频缩略图网络Url
duration: 5, //视频时长,单位:秒
width: 5, //视频宽度
height: 5, //视频高度
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 创建位置消息 1.0.3
createLocationMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
address | String | 是 | 空 | 地址名称 |
description | Number | 是 | 空 | 地址详细描述 |
longitude | Double | 是 | 空 | 经度 |
latitude | Double | 是 | 空 | 纬度 |
返回参数说明:
演示:
//创建位置消息
let message = GhostIMUniSDK.getInstance().createLocationMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: {
address: '', //地址名称
description: '', //地址详细描述
longitude: 0.00000, //经度
latitude: 0.00000 //纬度
},
extra: "这是拓展的自定义的内容",
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建自定义消息
createCustomMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Body | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
Body:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
custom | String Object | 是 | 空 | 自定义消息内容 |
返回参数说明:
演示:
//创建自定义消息
let message = GhostIMUniSDK.getInstance().createCustomMessage({
toId: '接收者用户ID', //接收者用户ID字符串
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE.PRIVATE, //会话类型:私聊
body: { //消息容器
custom: "这是自定义消息体" //自定义消息内容,可传入String或JSON Object
},
extra: "这是拓展的自定义的内容",
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 创建合并消息 1.2.0
createMergerMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
title | String | 是 | 空 | 合并消息的标题 |
messageList | Array | 是 | 空 | 合并的消息列表 |
summaryList | Array | 是 | 空 | 合并的消息摘要列表 |
返回参数说明:
演示:
//创建合并消息
let message = GhostIMUniSDK.getInstance().createMergerMessage({
toId: '接收者用户ID',
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE
.PRIVATE, //会话类型:私聊
body: {
title: "与老婆的聊天记录",
messageList:[message1, message2],
summaryList: ["我:[图片]", "老婆:你早饭吃了吗?"]
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建转发消息 1.2.0
createForwardMessage(options) -> Message
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
toId | String | 是 | 空 | 接收者用户ID |
conversationType | [GhostIMUniSDKDefines.CONVERSATION_TYPE] | 是 | 空 | 会话类型 |
body | Object | 是 | 空 | 消息容器 |
extra | String | 否 | 空 | 拓展的消息自定义数据 |
body参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
message | Message | 是 | 空 | 要转发的消息 |
返回参数说明:
演示:
//创建合并消息
let message = GhostIMUniSDK.getInstance().createForwardMessage({
toId: '接收者用户ID',
conversationType: GhostIMUniSDKDefines.CONVERSATION_TYPE
.PRIVATE, //会话类型:私聊
body: {
message: message,
},
extra: "这是拓展的自定义的内容"
});
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 发送消息
sendMessage(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
message | Message | 是 | 空 | 消息体 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
//发送消息
GhostIMUniSDK.getInstance().sendMessage({
message: message,
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 获取会话详情 1.1.0
getConversation(conversationId) -> Object
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
conversationId | String | 是 | 空 | 会话ID |
返回参数:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
data | Conversation (opens new window) | 会话 |
演示:
let result = GhostIMUniSDK.getInstance().getConversation("会话ID");
let conversation = result.data;
2
# 获取本地会话列表
getConversationList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
page | Number | 是 | 空 | 页码 |
limit | Number | 是 | 空 | 每页会话数量 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
data | Array[[Conversation] | 会话列表 |
演示:
GhostIMUniSDK.getInstance().getConversationList({
page: 1, //页码
limit: 20, //每页数量
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 清除会话消息未读数 1.0.5
getConversationList(conversationId) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
conversationId | String | 是 | 空 | 会话ID |
演示
//清除指定会话未读数,并给对方发送已读回执
GhostIMUniSDK.getInstance().clearConversationUnread("会话ID");
2
# 删除会话及聊天记录 1.0.5
deleteConversation(conversationId) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
conversationId | String | 是 | 空 | 会话ID |
演示
//删除指定会话和会话内聊天记录
GhostIMUniSDK.getInstance().deleteConversation("会话ID");
2
# ~获取历史消息记录(弃用)~
getMessageList(options) -> Void
v1.1.7版本开始已弃用此方法,预计v1.2.0将从SDK中删除。请使用getHistoryMessageList
注:SDK仅将每个会话的最新20条聊天记录存入本地,所以获取的历史记录第一页从本地拉取,更早的聊天记录将从服务端拉取。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
page | Number | 是 | 空 | 页码 |
conversationId | String | 是 | 空 | 会话ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
data | Array[[Message] | 消息列表 |
演示:
GhostIMUniSDK.getInstance().getMessageList({
page: 1,
conversationId: "会话ID",
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 获取历史消息记录 1.1.7
getHistoryMessageList(options) -> Void
注:SDK仅将每个会话的最新20条聊天记录存入本地,更早的聊天记录将从服务端拉取。
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
conversationId | String | 是 | 空 | 会话ID |
nextMessageId | String | 否 | 空 | 下一次续拉的消息ID,第一次拉取时不要传入 |
limit | Number | 否 | 20 | 每次拉取的数量 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
list | Array[[Message] | 消息列表 |
nextMessageId | String | 下一次续拉的消息ID |
演示:
GhostIMUniSDK.getInstance().getHistoryMessageList({
nextMessageId: "下一次续拉的消息ID,第一次拉取时不要传入",
conversationId: "会话ID",
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 撤回消息 1.0.5
revokeMessage(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
message | Message | 是 | 空 | 要撤回的完整消息 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().revokeMessage({
message: message, //要撤回的消息
success: (res) => {
console.log("success");
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 删除消息 1.1.4
deleteMessage(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
message | Message | 是 | 空 | 要删除的完整消息 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().deleteMessage({
message: message, //要删除的消息
success: (res) => {
console.log("success");
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 通用上传接口 1.0.3
upload(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
filename | String | 是 | 空 | 文件名称,需要携带文件后缀 |
filepath | String | 是 | 空 | 要上传的文件临时路径 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
其中 data 返回参数说明:
字段 | 类型 | 说明 |
---|---|---|
url | String | 上传完成的资源Url |
演示:
filename: "a.png", //文件名称,需带后缀
filepath: "/sdcard/temp/a.png", //文件临时路径
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});javascript
2
3
4
5
6
7
8
9
# 创建群组 1.1.0
createGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
name | String | 是 | 空 | 群名称 |
avatarUrl | String | 是 | 空 | 群头像网络地址URL |
groupId | String | 否 | 空 | 群ID,未填写时系统自动生成 |
joinMode | [GhostIMUniSDKDefines.GROUP.JOINMODE] | 否 | 空 | 群申请处理方式 |
introduction | String | 否 | 空 | 群简介 |
notification | String | 否 | 空 | 群公告 |
members | Array | 否 | 空 | 创建群聊初始化成员(用户ID数组) |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().createGroup({
name: "",
avatarUrl: "",
success: (res) => {
uni.showToast({
title: "创建成功"
});
},
fail: (err) => {
console.loh(err);
}
});
2
3
4
5
6
7
8
9
10
11
12
# 解散群组 1.1.0
dissolveGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().dissolveGroup({
groupId: "group_363712804290629",
success: (res) => {
uni.showToast({
title: "解散成功"
})
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
# 转让群主 1.1.0
transferLeader(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
userId | String | 是 | 空 | 转让的用户ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().transferLeader({
groupId: "group_363712804290629",
userId: "",
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
});
2
3
4
5
6
7
8
9
10
# 更新群组资料 1.1.0
updateGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
name | String | 否 | 空 | 群名称 |
avatarUrl | String | 否 | 空 | 群头像网络地址URL |
joinMode | [GhostIMUniSDKDefines.GROUP.JOINMODE] | 否 | 空 | 群申请处理方式 |
introduction | String | 否 | 空 | 群简介 |
notification | String | 否 | 空 | 群公告 |
isMute | Number | 否 | 0 | 全体禁言,1 = 全体禁言 0 = 取消全体禁言 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().updateGroup({
groupId: "group_363712804290629",
name:"",
avatarUrl:"",
joinMode:"",
introduction:"",
notification:"",
isMute:0,
success: (res) => {
console.log(res)
},
fail: (err) => {
uni.hideLoading();
}
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 获取群组资料 1.1.0
getGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getGroup({
groupId: "group_363712804290629",
success: (res) => {
console.log(res)
},
fail: (err) => {
uni.hideLoading();
}
});
2
3
4
5
6
7
8
9
# 获取我的群组列表 1.1.0
getGroupList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getGroupList({
success: (res) => {
console.log(res)
},
fail: (err) => {
uni.hideLoading();
}
});
2
3
4
5
6
7
8
# 申请入群 1.1.0
joinGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
groupId: "group_8",
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});javascript
2
3
4
5
6
7
8
# 退出群组 1.1.0
leaveGroup(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().leaveGroup({
groupId: "group_8",
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 添加群成员 1.1.0
addGroupUsers(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
members | Array | 是 | 空 | 用户ID列表 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().addGroupUsers({
groupId: "group_8",
members: ["user1", "user2"],
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 移除群成员 1.1.0
removeGroupUsers(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
members | Array | 是 | 空 | 用户ID列表 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().removeGroupUsers({
groupId: "group_8",
members:["user1", "user2"],
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 获取群成员列表
1.1.0
getGroupUserList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getGroupUserList({
groupId: "group_8",
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
# 设置群管理员 1.1.0
setAdminstrator(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 是 | 空 | 群ID |
userId | String | 是 | 空 | 要设置的用户ID |
isAdmin | String | 是 | 空 | 是否设置管理员* 0:取消* 1:设置 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().setAdminstrator({
groupId: "",
userId: "",
isAdmin: 1,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
# 获取入群申请列表 1.1.0
getGroupApplyList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getGroupApplyList({
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
# 处理入群申请 1.1.0
handleApply(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
id | Number | 否 | 空 | 申请ID |
status | [GhostIMUniSDKDefines.GROUP.APPLYSTATUS] | 否 | 空 | 处理结果 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().handleApply({
id: 1,
status: GhostIMUniSDKDefines.GROUP.APPLYSTATUS.AGREE, //同意
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 禁言群成员 1.1.0
setMute(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
groupId | String | 否 | 空 | 群ID |
userId | String | 否 | 空 | 禁言用户ID |
time | Number | 否 | 空 | 禁言时间,分钟 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().setMute({
groupId: "",
userId: "",
time: 10,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
# 添加好友 1.2.2
注:如需开启好友关系检查,请在配置文件中设置[yeim.friend.enable]为true
addFriend(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
userId | String | 否 | 空 | 用户ID |
remark | String | 否 | 空 | 好友备注 |
extraMessage | String | 否 | 空 | 附言 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().setMute({
groupId: "",
userId: "",
time: 10,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
# 获取好友列表 1.2.2
SDK登录后将触发好友列表更新事件,事件携带数据为全部好友列表并持久化缓存
getFriendList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
cloud | Boolean | 否 | false | 是否从云端拉取 |
profile | Number | 否 | 0 | 资料类型* 0:简略资料* 1:详细资料* (云端拉取有效) |
page | Number | 否 | 1 | 页码 |
limit | Number | 否 | 20 | 每页数量 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().addFriend({
userId: "用户ID",
remark: "李先生",
extraMessage: "您好,我是在百度上搜索到您的联系方式,有些问题想要咨询,请通过一下,谢谢。",
success: (res) => {
console.log(res)
//当返回的状态码为:20020,表示对方开启了好友申请验证,需等待对方处理同意或拒绝。并且触发事件:GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_LIST_CHANGED
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
12
# 获取好友申请列表 1.2.2
SDK登录后将触发好友申请列表更新事件,事件携带数据为全部好友申请列表并持久化缓存
getFriendApplyList(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
cloud | Boolean | 否 | false | 是否从云端拉取 |
type | Number | 否 | 0 | 资料类型* 0:我收到的申请* 1:我发出去的申请* (云端拉取有效) |
page | Number | 否 | 1 | 页码 |
limit | Number | 否 | 20 | 每页数量 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getFriendList({
page: 1,
limit: 20,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 好友申请已读 1.2.2
setApplyListRead(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().getFriendApplyList({
page: 1,
limit: 20,
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 同意好友申请 1.2.2
acceptApply(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
id | Number | 是 | 空 | 申请ID |
remark | Number | 否 | 空 | 好友备注 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
//将全部好友申请设置为已读状态
GhostIMUniSDK.getInstance().setApplyListRead();
2
# 拒绝好友申请 1.2.2
refuseApply(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
id | Number | 是 | 空 | 申请ID |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().acceptApply({
id: '好友申请记录的ID',
remark: '好友备注',
success: (res) => {
console.log(res);
//同意后将触发事件:GhostIMUniSDKDefines.EVENT.FRIEND_LIST_CHANGED、GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_LIST_CHANGED
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
11
# 删除好友 1.2.2
deleteFriend(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
members | Array | 是 | 空 | 好友ID数组 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().refuseApply({
id: '好友申请记录的ID',
success: (res) => {
console.log(res);
//同意后将触发事件:GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_REFUSE、GhostIMUniSDKDefines.EVENT.FRIEND_APPLY_LIST_CHANGED
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# 更新好友资料 1.2.2
updateFriend(options) -> Void
参数:
字段 | 类型 | 必填 | 默认 | 说明 |
---|---|---|---|---|
userId | String | 是 | 空 | 好友ID |
remark | String | 否 | 空 | 好友备注 |
extend | String | 否 | 空 | 自定义扩展字段 |
success | Function | 否 | 空 | 成功返回的回调函数 |
fail | Function | 否 | 空 | 调用失败的回调函数 |
success、fail 返回参数说明:
演示:
GhostIMUniSDK.getInstance().deleteFriend({
members: ['user1', 'user2'],
success: (res) => {
console.log(res);
//删除后触发事件:GhostIMUniSDKDefines.EVENT.FRIEND_LIST_CHANGED
},
fail: (err) => {
console.log(err)
}
});
2
3
4
5
6
7
8
9
10
# User 用户对象
字段 | 类型 | 说明 |
---|---|---|
userId | String | 用户ID,全局唯一 |
nickname | String | 用户昵称 |
avatarUrl | String | 头像URL |
gender | Number | 性别* 0:未知* 1:男性* 2:女性 |
mobile | Number | 电话 |
String | 邮箱 | |
birthday | String | 生日 |
motto | String | 个性签名 |
extend | String | 用户自定义扩展字段 |
createdAt | Number | 注册时间,毫秒时间戳 |
# Friend 好友对象
字段 | 类型 | 说明 |
---|---|---|
userId | String | 用户ID |
friendUserId | String | 好友ID |
remark | String | 好友备注 |
extend | String | 自定义扩展字段 |
friendInfo | User (opens new window) | 好友资料 |
createdAt | Number | 成为好友的时间,毫秒时间戳 |
# Group 群组对象
字段 | 类型 | 说明 |
---|---|---|
groupId | String | 群组ID,全局唯一 |
name | String | 群名称 |
avatarUrl | String | 群头像URL |
leaderUserId | String | 群主用户ID |
joinMode | [GhostIMUniSDKDefines.GROUP.JOINMODE] | 群申请处理方式 |
introduction | String | 群简介 |
notification | String | 群公告 |
isMute | Number | 全体禁言* 0:否* 1:是 |
isDissolve | Number | 是否解散* 0:否* 1:是 |
createdAt | Number | 注册时间,毫秒时间戳 |
# Message 消息对象
# 消息基本结构
字段 | 类型 | 说明 |
---|---|---|
conversationId | String | 会话ID,私聊中为消息接收者ID |
conversationType1.1.4 | String | 会话类型* private:私聊* group:群聊 |
messageId | String | 消息ID,全局唯一(消息发送成功后返回) |
sequence | Number | 入库顺序 |
direction | String | 消息流方向* in:接收* out:发送 |
from | String | 消息发送者ID |
to | String | 消息接收者ID |
fromUserInfo | [User] | 消息发送者用户信息 |
type | String | 消息类型 |
body | Object | [消息内容体]( |
extra | String | 自定义扩展数据 |
isRead | Number | 对端是否已读* 0:未读* 1:已读对端调用clearConversationUnread 清除未读数上报已读状态,触发事件 PRIVATE_READ_RECEIPT |
isRevoke | Number | 消息是否撤回* 0:未撤回* 1:已撤回 |
isDeleted | Number | 消息是否已删除* 0:未删除* 1:已删除消息删除后云端同步删除,本地记录此字段作为已删除标志,但云端将不会拉取已经删除的消息。 |
status | String | 发送状态* unSend:未发送* success:发送成功* fail:发送失败 |
~receive~ | String | v1.1.2版本弃用。接收状态* 0:未接收* 1:已接收 |
time | Number | 消息入库时间,毫秒时间戳 |
# Message.type
类型 | 说明 |
---|---|
GhostIMUniSDKDefines.MESSAGE_TYPE.TEXT | 文本消息 |
GhostIMUniSDKDefines.MESSAGE_TYPE.IMAGE | 图片消息 |
GhostIMUniSDKDefines.MESSAGE_TYPE.AUDIO | 音频消息 |
GhostIMUniSDKDefines.MESSAGE_TYPE.VIDEO | 小视频消息 |
GhostIMUniSDKDefines.MESSAGE_TYPE.LOCATION | 位置消息 |
GhostIMUniSDKDefines.MESSAGE_TYPE.CUSTOM | 自定义消息 |
# Message.body
# 文本消息
字段 | 类型 | 说明 |
---|---|---|
text | String | 文本消息内容 |
# 图片消息
字段 | 类型 | 说明 |
---|---|---|
originalUrl | String | 原图图片地址URL |
originalWidth | Number | 原图宽度 |
originalHeight | Number | 原图高度 |
thumbnailUrl | String | 缩略图地址URL |
thumbnailWidth | Number | 缩略图宽度 |
thumbnailHeight | Number | 缩略图高度 |
# 音频消息
字段 | 类型 | 说明 |
---|---|---|
audioUrl | String | 音频URL |
duration | Number | 时长,单位:秒 |
# 小视频消息
字段 | 类型 | 说明 |
---|---|---|
videoUrl | String | 视频URL |
thumbnailUrl | String | 视频封面图URL |
videoWidth | Number | 视频宽度 |
videoHeight | Number | 视频高度 |
# 位置消息
字段 | 类型 | 说明 |
---|---|---|
address | String | 地址名称 |
description | String | 地址详细描述 |
longitude | Number | 经度 |
latitude | Number | 纬度 |
# Conversation 会话对象
字段 | 类型 | 说明 |
---|---|---|
conversationId | String | 会话ID |
type | String | 会话类型* private:私聊* group:群聊 |
unread | Number | 未读数 |
lastMessage | [Message] | 最新消息 |
userInfo | [User] | 会话用户资料 |
groupInfo | [Group] | 会话群资料 |
# APP离线推送 1.1.3
SDK使用个推和Dcloud合作的UniPush1.0进行离线推送,推荐打通各厂商提供的系统级推送通道来进行消息通知。