rongCloudCS

来自于:AC模块工作室提供立即使用

概述

本模块封装了融云客服服务

注意:

使用 rongCloudCS 模块之前,请先 注册 融云的开发者帐号并申请创建 App,创建 App 后,可以在 开发者后台 获取 App Key 和 App Secret 用于开发。

接入客服前,需在融云开发者平台开启客服服务,并获取 客服 ID。

注意: Android支持最低版本4.1 编译此模块需要升级环境进行编译

调用接口前请在 config.xml 中设置内容如下:

<feature name="rongCloudCS">
    <param name="appKey" value="此处填写 App Key 值" />
</feature>

其中 value 的值请替换为您在融云开发者平台上申请的 App Key 值

模块接口

connect

连接融云 IM 服务器,进行后续各种方法操作前务必要先调用此方法

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

params

token:

  • 类型:字符串
  • 默认值:无
  • 描述:从服务端获取的用户身份令牌(Token)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:返回的登录成功或者失败的状态
  • 内部字段:
{
    userId: '9527' // 当前登录的用户 Id
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code: 31004    // 错误码
}

错误说明:

错误码 说明
31003 服务器不可用
31004 错误的令牌(Token),Token 解析失败,请重新向身份认证服务器获取 Token
31002 可能是错误的 App Key,或者 App Key 被服务器积极拒绝
33002 服务端数据库错误
31000 服务器超时
34001 Connection已经存在
-1000 (此错误只发生在 iOS)当已经 connect 成功后再次 connect 时会返回此错误

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.connect({
                       token: 'R8pdG3IUT5d/Algkxbd3X6E4ovwvabHEXU8xDrUJSvGZFOKGf4/ln48O3o+2zMX49HH7V4JRHohT0jA+e57fsHTZjBLVkJn+'
                   }, function(ret, err) {
                       if (ret) {
                           alert(ret.userId);
                        }else {
                            alert(err.code);
                    }
               });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

disconnect

断开连接

disconnect({params})

params

receivePush:

  • 类型:布尔
  • 默认值:true
  • 描述:(可选项)断开后是否接收 Push

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.disconnect({
                          receivePush: false
                        });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

showConversation

打开聊天界面

showConversation({params})

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

title:

  • 类型:字符串
  • 默认值:'客服'
  • 描述:(可选项)顶部导航栏标题

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.showConversation({
                        targetId: 'KEFU146001495753714',
                        title:'客服',
                    });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getLatestMessages

获取某一会话的最新消息记录

getLatestMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

count:

  • 类型:数字
  • 默认值:10
  • 描述:(可选项)要获取的消息数量

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:最新消息记录,按照时间顺序从新到旧排列。
  • 内部字段:
{
    result: [
        {
            content: {
                text: 'Hello world!',
                extra: ''
            }, // 消息内容
            extra: '', // 消息的附加信息,此信息只保存在本地
            messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
            targetId: '55', // 这里对应消息发送者的 userId
            objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
            sentStatus: 'SENDING', // 参见 发送出的消息状态
            senderUserId: '55', // 发送者 userId
            messageId: 608, // 本地消息 Id
            sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
            receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
        }
    ]
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getLatestMessages({
                             targetId: 'KEFU146001495753714'
                          }, function(ret) {
                              if (ret) {
                                  alert(ret.result);
                              }
                          });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getHistoryMessages

获取某一会话的历史消息记录

getHistoryMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

oldestMessageId:

  • 类型:数字
  • 默认值:无
  • 描述:最后一条消息的 Id,获取此消息之前的 count 条消息

count:

  • 类型:数字
  • 默认值:10
  • 描述:(可选项)要获取的消息数量

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:最新消息记录,按照时间顺序从新到旧排列。
  • 内部字段:
{
    result: [
        {
            content: {
                text: 'Hello world!',
                extra: ''
            }, // 消息内容
            extra: '', // 消息的附加信息,此信息只保存在本地
            messageDirection: 'SEND', // 消息方向:SEND 或者 RECEIVE
            targetId: '55', // 这里对应消息发送者的 userId
            objectName: 'RC:TxtMsg', // 消息类型,参见 http://docs.rongcloud.cn/android_message.html#_内置内容类消息
            sentStatus: 'SENDING', // 参见 发送出的消息状态
            senderUserId: '55', // 发送者 userId
            messageId: 608, // 本地消息 Id
            sentTime: 1418971531533, // 发送消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
            receivedTime: 0 // 收到消息的时间戳,从 1970 年 1 月 1 日 0 点 0 分 0 秒开始到现在的毫秒数
        }
    ]
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getHistoryMessages({
                      targetId: 'KEFU146001495753714',
                                  oldestMessageId:''
                  }, function(ret) {
                      if (ret) {
                          alert(ret.result);
                      }
                  });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

clearMessages

清空某一会话的所有聊天消息记录

clearMessages({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
{
    status: 'success' // 状态码:success / error
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.clearMessages({
                   targetId: 'KEFU146001495753714'
              }, function(ret) {
                   if (ret) {
                       alert(ret.status);
                   }
           });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getUnreadCount

获取未读消息数量

getUnreadCount({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
{
    result: 12 // 未读消息数
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getUnreadCount({
                      targetId: 'KEFU146001495753714'

                  }, function(ret) {
                      if (ret) {
                          alert(ret.result);
                      }
                  });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本

getAllUnreadCount

获取所有未读消息数量

getAllUnreadCount(callback(ret))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
{
    result: 12 // 未读消息数
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.getAllUnreadCount(function(ret) {
                               if (ret) {
                               alert(ret.result);
                               }
                           });

可用性

iOS系统

可提供的 1.0.0 及更高版本

clearMessagesUnreadStatus

清除某一会话的消息未读状态

clearMessagesUnreadStatus({params}, callback(ret))

params

targetId:

  • 类型:字符串
  • 默认值:无
  • 描述:客服 Id

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:操作结果
  • 内部字段:
{
    status: 'success' // 状态码:success / error
}

示例代码

var rongCloudCS = api.require('rongCloudCS');
rongCloudCS.clearMessagesUnreadStatus({
                        targetId: 'KEFU146001495753714'
                      }, function(ret) {
                          if (ret) {
                              alert(ret.status);
                          }
                      });

可用性

iOS系统,Android 4.1及以上系统

可提供的 1.0.0 及更高版本