API
API 使用文档可以直接参考 JMessagePlugin.js 中的注释。
这里列出插件中会返回的各对象组成:
UserInfo: {
type: 'user',
username: string, // 用户名。
appKey: string, // 用户所属应用的 appKey。可与 username 共同作为用户的唯一标志。
nickname: string, // 昵称。
gender: string, // 'male' / 'female' / 'unknown'
avatarThumbPath: string, // 头像的缩略图地址。
birthday: number, // 日期的毫秒数。
region: string, // 地区。
signature: string, // 个性签名。
address: string, // 具体地址。
noteName: string, // 备注名。
noteText: string, // 备注信息。
isNoDisturb: boolean, // 是否免打扰。
isInBlackList: boolean, // 是否在黑名单中。
isFriend:boolean // 是否为好友。
}
GroupInfo: {
type: 'group',
id: string, // 群组 id,
name: string, // 群组名称。
desc: string, // 群组描述。
level: number, // 群组等级,默认等级 4。
owner: string, // 群主的 username。
ownerAppKey: string, // 群主的 appKey。
maxMemberCount: number, // 最大成员数。
isNoDisturb: boolean, // 是否免打扰。
isBlocked: boolean // 是否屏蔽群消息。
}
Conversation: {
/**
* 会话对象标题。
* 如果为群聊:
* - 未设置群名称:自动使用群成员中前五个人的名称拼接成 title。
* - 设置了群名称,则显示群名称。
* 如果为单聊:如果用户有昵称,显示昵称。否则显示 username。
*/
title: string,
latestMessage: Message, // 最近的一条消息对象。
unreadCount: number, // 未读消息数。
conversationType: 'single' / 'group',
target: UserInfo / GroupInfo // 聊天对象信息。
}
Message
TextMessage: {
id: string, // 消息 id。
type: 'text', // 消息类型。
from: UserInfo, // 消息发送者对象。
target: UserInfo / GroupInfo, // 消息接收者对象。可能是用户或群组。
createTime: number, // 发送消息时间。
text: string, // 消息内容。
extras: object // 附带的键值对对象。
}
ImageMessage: {
id: string,
type: 'image',
from: UserInfo,
target: UserInfo / GroupInfo,
extras: object,
thumbPath: string // 图片的缩略图路径。要下载原图需要调用 `downloadOriginalImage` 方法。
}
VoiceMessage: {
id: string,
type: 'image',
from: UserInfo,
target: UserInfo / GroupInfo,
extras: object,
path: string, // 语音文件路径。
duration: number // 语音时长
}
LocationMessage: {
id: string,
type: 'voice',
from: UserInfo,
target: UserInfo / GroupInfo,
extras: object,
address: string, // 详细地址。
longitude: number, // 经度。
latitude: number, // 纬度。
scale:number // 地图缩放比例。
}
FileMessage: {
id: string,
type: 'file',
from: UserInfo,
target: UserInfo / GroupInfo,
extras: object,
fileName: string // 文件名。要下载完整文件需要调用 `downloadFile` 方法。
}
CustomMessage: {
id: string,
type: 'file',
from: UserInfo,
target: UserInfo / GroupInfo,
extras: object,
customObject: object // 自定义键值对对象。
}
Event: {
type: 'event',
eventType: string, // 'group_member_added' / 'group_member_removed' / 'group_member_exit'
usernames: Array // 该事件涉及到的用户 username 数组。
}