imChat

初始化和连接

概述

imChat 封装了用友即时通信功能的SDK。

使用 imChat 模块之前,请先配合服务器获取相关参数。并将对应参数配置到 config.xml 文件。

IOS 配置如下:

<feature name="imChat">
    <param name="appID" value="ykj_private"/>
    <param name="etpID" value="yonyou"/>
    <param name="server" value="u8cim-daily.yyuap.com"/>
    <param name="restServer" value="u8cim-daily.yyuap.com"/>
    <param name="resourceUploadServer" value="u8cim-daily.yyuap.com"/>
    <param name="resourceDownloadServer" value="u8cim-daily.yyuap.com"/>
    <param name="serverPort" value="5222"/>
    <param name="serverSSLPort" value="5223"/>
    <param name="serverHttps" value="http"/>
    <param name="serverEnableSSL" value="false"/>
</feature>
  • appID:应用ID
  • etpID:租户ID
  • server:长链接地址
  • restServer:短链接地址
  • resourceUploadServer:(可选项)资源上传服务地址
  • resourceDownloadServer:(可选项)资源下载服务地址
  • serverPort:服务器端口
  • serverSSLPort:SSL端口
  • serverHttps:(可选项)默认:http。https, http
  • serverEnableSSL:(可选项)是否开启SSL端口,默认:true

Android 配置如下:

    <meta-data
        name="com.yonyou.sns.im.appid"
        value="ykj_private" />
    <meta-data
        name="com.yonyou.sns.im.etpid"
        value="yonyou" />
    <meta-data
        name="IM_SERVER"
        value="u8cim-daily.yyuap.com" />
    <meta-data
        name="IM_SHORT_SERVER"
        value="u8cim-daily.yyuap.com" />
    <meta-data
        name="UPLOAD_FILE_SERVER"
        value="u8cim-daily.yyuap.com" />
    <meta-data
        name="DOWNLOAD_FILE_SERVER"
        value="u8cim-daily.yyuap.com" />
    <meta-data
        name="IM_SERVER_ENABLESSL"
        value="1" />
    <meta-data
        name="IM_SERVER_PORT"
        value="5222" />
    <meta-data
        name="IM_SSL_SERVER_PORT"
        value="5223" />
    <meta-data
        name="IM_RESET_SERVER_HTTPS"
        value="http" />

模块接口

loginIM

登录 IM

loginIM(params, callback(ret, err))

params

userId:

  • 类型:字符串
  • 描述:用户ID

paswword:

  • 类型:字符串
  • 描述:密码

imToken:

  • 类型:字符串
  • 描述:token

expiration:

  • 类型:字符串
  • 描述:token过期时间

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:成功的回调

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message: 	   // 错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.loginIM(function(ret, err) { 
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

logoutIM

退出登录

logoutIM(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:成功的回调

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message: 	   // 错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.logoutIM(function(ret, err) { 
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

openChat

打开聊天页面

openChat({params})

params

chatId:

  • 类型:字符串
  • 描述:聊天ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat|groupchat

messagePid:

  • 类型:字符串
  • 描述:(可选项)搜索时需要此参数

bundle:

  • 类型:字符串
  • 描述:头像跳转和设置跳转的数据类

{ avatar:'xxxx', //跳转时需要传chatId setting: 'xxxx' //跳转时需要传chatId和chatType }

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:成功的回调
  • 内部字段:
{
    data: 	   //  
    action:  // setting设置页面、forward转发、avatar头像
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message: 	   // 错误信息
}

示例代码

var imChat = api.require('imChat');
    imChat.openChat({
    chatId:'xxx',
    chatType: 'chat',
    messagePid: 'messagePidchat',
    bundle: {
        avatar: 'ttttt',
        setting: 'ssss'
    }
},function(ret,err){
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getUnreadMsgCount

获取消息未读书

getUnreadMsgCount(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    count:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.getUnreadMsgCount(function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getRecentMessage

获取消息列表

getRecentMessage(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    list:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.getRecentMessage(function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getReceiveMessage

获取更新消息

getReceiveMessage(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    list:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.getReceiveMessage(function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

doSearch

搜索人员、群组和消息

doSearch({params}, callback(ret, err))

params

text:

  • 类型:字符串
  • 描述:搜索内容

searchType:

  • 类型:字符串
  • 描述:搜索类型。类型为3时,超过三条数据只返回三条数据, loadMore:true
  • 取值范围:
    • 1: 消息搜索;
    • 2:群组搜索;
    • 3:消息+群组搜索;

chatId:

  • 类型:字符串
  • 描述:(可选项)消息ID。 (在此消息内搜索聊天内容)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    data:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.doSearch({
    text:'123',
    searchType:3,
    chatId:''
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

createChatGroup

创建群聊

createChatGroup({params}, callback(ret, err))

params

groupName:

  • 类型:字符串
  • 描述:群组名称

userIds:

  • 类型:数组
  • 描述:群组人员(用户ID列表)

groupPhoto:

  • 类型:字符串
  • 描述:(可选项)群头像(base64格式)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    chatId:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.createChatGroup({
    groupName:'123',
    userIds:['123','312','3124'],
    groupPhoto:''
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getGroupMembers

获取全部群成员

getGroupMembers({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

limit:

  • 类型:数字
  • 描述:(可选项)指定个数(默认全部)
  • 默认:0

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    data:  //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.getGroupMembers({
    chatId:'123',
    limit:10
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

renameChatGroupName

修改群名称

renameChatGroupName({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

groupName:

  • 类型:字符串
  • 描述:群组名称

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.renameChatGroupName({
    chatId:'123',
    groupName:'sdfads'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

modifyChatGroupAnnounce

设置群公告

modifyChatGroupAnnounce({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

announce:

  • 类型:字符串
  • 描述:群组名称

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.modifyChatGroupAnnounce({
    chatId:'123',
    announce:'sdfads'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

inviteRosterIntoChatGroup

添加群成员

inviteRosterIntoChatGroup({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

userIds:

  • 类型:数组
  • 描述:人员(用户ID列表)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.inviteRosterIntoChatGroup({
    chatId:'123',
    userIds:['','','']
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

kickGroupMember

删除群成员

kickGroupMember({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

userIds:

  • 类型:数组
  • 描述:人员(用户ID列表)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.kickGroupMember({
    chatId:'123',
    userIds:['','','']
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

leaveChatGroup

删除并退出群聊

leaveChatGroup({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat. leaveChatGroup({
    chatId:'123'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

changeChatGroupAdmin

转让群组

changeChatGroupAdmin({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

userId:

  • 类型:字符串
  • 描述:人员(用户ID)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.changeChatGroupAdmin({
    chatId:'123',
    userId:''
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

dismissChatGroup

解散群组

dismissChatGroup({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.dismissChatGroup({
    chatId:'123'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

updateStickTop

消息置顶

updateStickTop({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat、groupchat

stickTop:

  • 类型:布尔
  • 描述:是否置顶

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.updateStickTop({
    chatId:'123',
    chatType:'chat',
    stickTop:true
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

updateNoDisturb

消息免打扰

updateNoDisturb({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat、groupchat

noDisturb:

  • 类型:布尔
  • 描述:是否免打扰

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.updateNoDisturb({
    chatId:'123',
    chatType:'chat',
    noDisturb:true
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

deleteMessage

删除消息

deleteMessage({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat、groupchat

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.deleteMessage({
    chatId:'123',
    chatType:'chat'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

forwardMessage

转发消息

forwardMessage({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat、groupchat

messagePid:

  • 类型:字符串
  • 描述:消息ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    ...
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.forwardMessage({
    chatId:'123',
    chatType:'chat',
    messagePid:''
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getContactInfo

获取用户群组消息

getContactInfo({params}, callback(ret, err))

params

chatId:

  • 类型:字符串
  • 描述:群组ID

chatType:

  • 类型:字符串
  • 描述:单聊或群聊。chat、groupchat

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:回调
  • 内部字段:
{
    data     //
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    message:  ///错误信息
}

示例代码

var imChat = api.require('imChat');
imChat.getContactInfo({
    chatId:'123',
    chatType:'chat'
},function(ret, err) {
    api.alert({ msg: JSON.stringify(ret) });
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2