高斯模糊图片
高斯模糊半径
高斯模糊标准差,不能小于 0
NOS 图片源链接
返回图片 url
聊天室创建者可以调用此接口关闭聊天室。调用后,所有在线成员会被强制踢出下线。对应的服务器接口为:
使用 disconnect 方法登出IM后,可以调用 connect 重新登录。调用 getInstance 后会自动建立长连接,无需调用 connect。
chatroom.disconnect({
done: function() {
chatroom.connect()
}
})
剪裁图片
高度
NOS 图片源链接
宽度
x 坐标, 必须需为整数
y 坐标, 必须需为整数
返回图片 url
获取短链接的鉴权 token
完整可访问的链接
断开 Chatroom 连接,并销毁 Chatroom 实例。销毁实例后,无法调用 connect 重新连接。
断开 Chatroom 连接,但不销毁 Chatroom 实例。调用该函数后,可以调用 connect 再次连接
获取聊天室的属性。对应的服务器接口为:
查询某个标签下的在线人数
获取聊天室成员列表
根据标签获取聊天室成员列表
获取聊天室成员信息。每次最多获取 20 个账户信息
获取聊天室历史消息。
limit, 默认 100
消息类型列表,默认全部消息类型
毫秒级时间戳。若不填写,或者填写的值为 0,其数值会受 reverse影响
根据标签获取聊天室历史消息。
开始时间
数量限制,默认 100
默认为 0。
标签 ['tag1', 'tag2', 'tag3']
结束时间
消息类型
回调
获取文件的短链接的鉴权 token
文件 url
完整可访问的链接
短链接转长链接
interlace 图片
NOS 图片源链接
返回图片 url
踢聊天室成员。
退出登录。
注:SDK 版本 v9.6.0 以下推荐先调用 logout 再调用 disconnect/destroy 来保证退出。v9.6.0 及以上不需要调用这个 API,disconnect/destroy 断开前会自动调用。
设置聊天室黑名单
待设置的账号
扩展字段, 如果填了, 那么其它聊天室成员收到的 聊天室通知消息 的attach.custom
的值为此字段
true
表示添加, false
表示移除
结果回调函数
聊天室共有以下6类身份:
待设置的账号
扩展字段, 如果填了, 那么其它聊天室成员收到的 聊天室通知消息 的attach.custom
的值为此字段
true
表示添加, false
表示移除
等级,默认0
结果回调函数
设置聊天室禁言名单
待设置的账号
扩展字段, 如果填了, 那么其它聊天室成员收到的 聊天室通知消息 的attach.custom
的值为此字段
true
表示添加, false
表示移除
结果回调函数
设置成员为聊天室成员身份。设置后,聊天室内成员收到通知消息,其 attach.type 为以下之一:
聊天室共有以下6类身份:
待设置的账号
扩展字段, 如果填了, 那么其它聊天室成员收到的 聊天室通知消息 的attach.custom
的值为此字段
待设置的身份,如果不是以下身份则默认设置为普通成员
'manager'
(管理员)'common'
(普通成员)'black'
(拉黑)'mute'
(禁言)true
表示添加, false
表示移除
结果回调函数
聊天室共有以下6类身份:
待设置的账号
扩展字段, 如果填了, 那么其它聊天室成员收到的 聊天室通知消息 的attach.custom
的值为此字段
true
表示添加, false
表示移除
结果回调函数
获取聊天室队列中第一个元素。返回数据在回调函数的第三个参数中
元素的UniqKey,长度限制128字节
元素内容,长度限制4096字节
上传并且预览文件。开发者在拿到文件对象之后, 可以调用发送文件消息来发送文件消息。
处理图片
此方法接收一组图片操作, 按操作顺序依次处理图片, 可选的操作包括:
每个操作所需的参数请参考上面的各个方法, 除了上面方法列出来的参数之外, 每个操作需要提供操作类型, 分别是
// 裁剪后旋转
var url = 'http://nim.nos.netease.com/MTAxMTAwMg==/bmltYV8xNDc5OTNfMTQ0MzE0NTgyNDI0M184YjFkYTMwMS02NjcxLTRiYjktYTUwZC04ZTVlZjZlNzZjMzA=';
nim.processImage({
url: url,
ops: [
{
type: 'crop',
x: 100,
y: 0,
width: 250,
height: 250,
},
{
type: 'thumbnail',
mode: 'cover',
width: 80,
height: 80
}
],
done: processImageDone
});
function processImageDone(error, obj) {
console.log('处理图片' + (!error?'成功':'失败'), error, obj);
}
操作序列. 按操作顺序依次处理图片, 具体格式参照前面几个和 image 相关的处理接口
类似这样的效果
[ { type: 'crop', x: 100, y: 0, width: 250, height: 250, }, { type: 'thumbnail', mode: 'cover', width: 80, height: 80 } ]
返回图片 url
修改图片质量
图片质量, 必须为整数, 取值范围为 0-100
NOS 图片源链接
返回图片 url
批量更新聊天室队列。若 needNotify 为 true,所有在线用户收到如下通知消息。如果 needNotify 为 false,则无用户收到更新
批量更新元素的key-value对,key/value分别是elementKey和elementValue(elementKey限制128字节,elementValue限制4096字节),一次最多更新100个
是否需要发送广播通知,可选参数,不传默认false,当设置为 true 时,所有聊天室成员会收到类型为 'updateQueue' 聊天室通知消息。
通知中的自定义字段,长度限制2048
结果回调函数
清除聊天室队列。只有聊天室固定成员有权限清空队列。清空后,所有在线用户收到如下通知消息:
获取聊天室队列列表
新加(更新)队列元素。如果elementKey已存在,更新元素,否则在队尾插入新元素。操作后,所有在线用户收到如下通知消息:
可选参数,队列元素所属账号,默认不传表示队列元素属于当前操作人,管理员可以指定队列元素归属于其他合法账号
新元素的UniqKey,长度限制128字节
新元素内容,长度限制4096字节
可选参数,不传默认false,当提交这个新元素的用户从聊天室掉线或退出的时候,是否需要删除这个元素。
结果回调函数
删除队列元素。操作后,所有在线用户收到如下通知消息:
需要取出的元素的UniqKey, 传空传表示取出第一个元素
结果回调函数
元素的UniqKey,长度限制128字节
元素内容,长度限制4096字节
旋转图片
旋转角度
NOS 图片源链接
返回图片 url
当 SDK 提供的能力无法满足您的业务需求时,调用该 API 进行个性化定制发送,例如石头剪刀布和投骰子功能。
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
chatroom.sendCustomMsg({
//接收方通过onmsgs接收消息
//然后如果msg.type === 'custom',接收方通过读取msg.content,然后调用业务代码
content: JSON.stringify({type: 1}),
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
调用该 API 可触发:
chatroom.sendFile({
type: 'image',
fileInput: 'domId',
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
chatroom.previewFile({
type: 'image',
fileInput: fileInput,
uploadprogress: function(obj) {
console.log('文件总大小: ' + obj.total + 'bytes');
console.log('已经上传的大小: ' + obj.loaded + 'bytes');
console.log('上传进度: ' + obj.percentage);
console.log('上传进度文本: ' + obj.percentageText);
},
done: function(error, file) {
console.log('上传image' + (!error?'成功':'失败'));
// show file to the user
if (!error) {
var msg = chatroom.sendFile({
file: file,
done: sendMsgDone
});
console.log('正在发送image消息, id=' + msg.idClient);
pushMsg(msg);
}
}
})
let message = chatrooom.sendFile({
type: 'image',
fileInput: 'domId',
done: function(err, obj) {
if (err) {
console.log('发送失败', err)
// 重发. 当上传文件失败时 obj 参数的 msg 附带消息体,其他情况的 obj 就是消息体。
setTimeout(function () {
resendMessage(obj.msg ? obj.msg : obj)
}, 3000)
} else {
console.log('发送消息成功,消息为: ', obj)
}
}
})
// 上传前已经能得到 idClient 做渲染
console.log(message.idClient)
// 重发
function resendMessage(oldMessage) {
nim.sendFile(Object.assign(oldMessage, {
type: 'image',
fileInput: 'domId',
resend: true, // 注意这个 resend 标记为 true,才能固定使用 oldMessage 里的 idClient
done: function(err, obj) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', obj)
}
}
}))
}
发送地理位置消息
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
chatroom.sendGeo({
//接收方通过onMsg接收消息
//然后如果msg.type === 'geo',接收方通过读取msg.geo,然后调用业务代码
geo: {
lng: 116.3833,
lat: 39.9167,
title: 'Beijing'
},
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
发送文本消息。
该接口直接返回的是 sending 状态的未完成的消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
chatroom.sendText({
text: 'hello',
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
发送提示消息。提示消息主要用于会话内的通知提醒,典型业务场景包括进入群组时出现的欢迎消息和会话过程中命中敏感词后的提示等。
该接口直接返回的是 sending 状态的未完成消息体,发送完毕的消息体需要传递 options.done 获得。
调用该 API 可触发:
chatroom.sendTipMsg({
//接收方通过onMsg接收消息
//然后如果msg.type === 'tip',接收方通过读取msg.tip,然后调用业务代码
tip: 'tip content',
done: function(err, msg) {
if (err) {
console.log('发送失败', err)
} else {
console.log('发送消息成功,消息为: ', msg)
}
}
})
去除图片元信息
生成图片的略缩图
剪裁坐标
x 坐标, 必须需为整数
y 坐标, 必须需为整数
缩略图的高度
NOS 图片源链接
缩略图的宽度
返回图片 url
更新聊天室的信息。对应的服务器接口为:
用户配置的对某些资料内容另外的反垃圾的业务ID
待更新的聊天室信息
聊天室公告
直播地址
扩展字段
聊天室名字
队列管理权限:0:所有人都有权限变更队列,1:只有主播管理员才能操作变更
对应的通知消息的扩展字段
是否需要下发对应的通知消息
结果回调函数
设置聊天室临时禁言。如果 needNotify === true,则聊天室内成员会收到 attach.type === addTempMute 的通知消息
帐号
对应的通知消息的扩展字段
禁言时长,单位秒,传0表示解除禁言
是否需要下发对应的通知消息
回调函数
更新坐标
更新自己在聊天室内的信息
根据标签设置聊天室成员临时禁言。如果 needNotify === true,则聊天室内成员会收到 attach.type === addTempMuteTag 的通知消息
对应的通知消息的扩展字段
禁言时长,单位秒,传0表示解除禁言
是否需要下发对应的通知消息
通知消息广播的目标标签,默认是options.tag
禁言的tag
回调函数
通知的扩展字段,推荐 JSON 格式字符串构建
此更新是否需要通知,默认 false。通知的范围由 notifyTargetTags(注意 notifyTargetTags 可以由聊天室初始化设置)
通知标签。是一个标签表达式,用于通知符合规则标签的聊天室成员,例如成员上下线,更新标签的通知。不填或空字符串代表允许通知所有聊天室成员
标签。可以设置多个,覆盖式更新,例子:["tag1", "tag2"];如果要删除,不传即可;若传空数组 就表示用户使用了标签功能,但是不属于任何标签。
结果回调函数
音频转文字。注意,该功能仅在 NIM 中可以使用。Chatroom尚未实现此功能。