Qida Im

/ Title: qidaIM Description: qidaIM /

立即使用

登录、退出、监听

企业通讯录

消息、会话

好友

群组

带UI的页面

openSession openContact openMine closeView configureUI

附录

企达即时通讯云

全新的通信协议:全新的基于消息同步的私有协议,在不稳定网络环境下更稳定更省流量,确保消息投递的可靠、顺序以及实时性,并具有更高的安全性。同时提供了更好的扩展性,将支持更多的对接和设备同步场景。 全新的 SDK:全面重构,将核心通信模块做了更好的封装;简化了接口,结构更清晰,集成更容易;提升了登录速度和弱网络环境下的可靠性。

模块概览

封装了企达即时通讯云SDK,具有功能性和UI接口,实现敏捷开发。

使用此模块之前必须先配置 config 文件,ios配置方法如下:

  • 名称:qidaIM
  • 参数:
  • 配置示例:
  <feature name="qidaIM">
    <param name="serverIp" value="" />
    <param name="serverPort" value="" />
    <param name="mapKey" value="" />
    <param name="umKey" value="" />
    <param name="wxKey" value="" />
    <param name="wxSecret" value="" />
    <param name="redirectURL" value="" />
  </feature>
  • 字段描述:

    serverIp:ip地址

    serverPort:端口号

    mapKey:高德地图APIkey

    umKey:友盟appkey

    wxKey:微信平台的appKey

    wxSecret:微信平台的appSecret

    redirectURL:分享url

Android 方法配置如下

<!-- 百度地图 -->
<meta-data name="com.baidu.lbsapi.API_KEY" value="" />
<!-- 华为推送 -->
<meta-data name="com.huawei.hms.client.appid" value=""/> 
<!-- 高德地图 -->
<meta-data name="com.amap.api.v2.apikey" value=""/>

login

登录

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

params

username:

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

password:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 描述:登录结果
  • 内部字段:
{
    status: true           //布尔类型;是否登录成功,true|false
}

err:

  • 类型:JSON 对象
  • 描述:登录结果
  • 内部字段:
{
    code: 1,           //数字类型;错误码
    msg: ''            //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.login({
   username: '',
   password: '',
},function(ret, err) {
    if (ret.status) {
        api.alert({ msg:'登录成功'});
    } else {
        api.alert({ msg:JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

logout

退出登录

退出登录分两种类型:主动退出登录和被动退出登录。

  • 主动退出登录:调用模块的退出接口;
  • 被动退出登录:1. 被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端);2. 被服务器踢下线;3.被另外一个客户端手动选择踢下线。可通过 addAccountListener 接口监听。

在被动退出时模块内部处理,不需要调用本接口。

logout(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true    //布尔类型;是否成功退出登录,true|false
}

err:

  • 类型:JSON 对象
  • 描述:退出登录失败结果
  • 内部字段:
{
    code: 1,           //数字类型;错误码
    msg: ''            //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.logout(function(ret, err) {
    if (ret.status) {
        api.alert({ msg:'登录成功'});
    } else {
        api.alert({ msg:JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

addAccountListener

账号事件的监听

addAccountListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'onLogin',      //字符串类型;监听的事件类型,取值范围如下:
                               //onLogin:登录步骤
                               //onKick:被踢
                               //onLoginOut:在UI页面点击退出登陆按钮主动退出
                   //onFetchGroup 获取群组 (该参数仅支持android)
                   //onFetchFriend 获取好友信息(该参数仅支持android)
                   //onLoadingDept 加载部门组织架构(该参数仅支持android)
                   //onLoadingUserInfo 加载用户信息(该参数仅支持android)
                   //onLostConnect 网络断开(该参数仅支持android)
                   //onComplete 登录完成(该参数仅支持android)
                   //onLoginOut 退出登录(该参数仅支持android)
                   //onForceOut 强制退出(该参数仅支持android)
    step:0,                    //登录步骤;eventType==onLogin时返回 (该参数仅支持ios)
                               //取值如下:
                               //1:连接服务器
                               //2:连接服务器成功
                               //3:连接服务器失败
                               //4:登录
                               //5:登录成功
                               //6:登录失败
                               //7:开始同步
                               //8:同步完成
                               //9:连接断开
                               //10:网络切换(这个并不是登录步骤的一种,但是UI有可能需要通过这个状态进行UI展现)
    reason:0                   //被踢下线的原因;eventType== onKick时返回 (该参数仅支持ios)
                               //取值如下:
                               //1:被另外一个客户端踢下线 (互斥客户端一端登录挤掉上一个登录中的客户端)
                               //2:被服务器踢下线
                               //3:被另外一个客户端手动选择踢下线  
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addAccountListener(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

addMessagesListener

添加消息相关监听(该接口仅支持ios)

addMessagesListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'onRecvMessages',      //字符串类型;监听的事件类型,取值范围如下:
                                      //onRecvMessages:收到消息
                                      //onRecvReceiptsMessage:收到消息回执
                                      //fetchMessageAttachment:收取消息附件
                                      //fetchMessageAttachmentComplete:收取消息附件完成
                                      //onRecvRevokeMessage:消息被撤回
                                      //onRecvConfirmedMessage:确认签收消息
                                      //willSendMessage:即将发送消息回调
                                      //sendMessageProgress:当前发送的消息
                                      //sendMessageDidComplete:发送消息完成回调

    onRecvMessages:{                  //eventType == onRecvMessages时返回此参数
      messages:[]                     //消息的json数组对象;消息详情参考附录:消息内容
     }, 
    onRecvReceiptsMessage:{           //eventType == onRecvReceiptsMessage时返回此参数
      message:{},                      //消息的json对象;消息详情参考附录:消息内容
    }, 
    fetchMessageAttachment:{          //eventType == fetchMessageAttachment时返回此参数
      message:{},                    //消息的json对象;消息详情参考附录:消息内容
      progress:0                      //数字类型;进度
    }, 
    fetchMessageAttachmentComplete:{  //eventType == fetchMessageAttachmentComplete时返回此参数
      messages:{},                    //消息的json对象;消息详情参考附录:消息内容
      error:{                         //json对象;错误消息,下载出错时返回,如果收取成功,error不返回
        code: 1,                      //数字类型;错误码
        msg: ''                       //字符串类型;错误信息
      }                                 
    },   
    onRecvRevokeMessage:{             //eventType == onRecvRevokeMessage时返回此参数
      fromUserId:'',                  //字符类型;撤回消息发起者
      messageFromUserId:'',           //字符类型;消息的发送者,表示撤回的这条消息是谁发的
      timestamp:0,                    //数字类型;撤回消息时间点,这里的时间点指的是被撤回的那条消息到底服务器的时间,而不是撤回指令到达服务器的时间点
      session:{},                     //会话的json对象;撤回消息所属会话;会话详情参考附录:会话信息
      message:{},                    //消息的json对象;撤回消息内容;消息详情参考附录:消息内容
    },  
    onRecvConfirmedMessage:{          //eventType == onRecvConfirmedMessage时返回此参数
      timestamp:0,                    //数字类型;签收消息时间点,这里的时间点指的是被撤回的那条消息到底服务器的时间,而不是撤回指令到达服务器的时间点
      session:{},                     //会话的json对象;签收消息所属会话;会话详情参考附录:会话信息
      message:{},                    //消息的json对象;签收消息内容;当撤回消息未被当前设备接收时,这个字段返回空;消息详情参考附录:消息内容
    },  
    willSendMessage:{                  //eventType == willSendMessage时返回此参数
      message:{}                     //消息的json对象;消息详情参考附录:消息内容
     },  
    sendMessageProgress:{          //eventType == sendMessageProgress时返回此参数
      message:{},                    //消息的json对象;消息详情参考附录:消息内容
      progress:0                      //数字类型;进度
    }, 
    sendMessageDidComplete:{  //eventType == sendMessageDidComplete时返回此参数
      message:{},                    //消息的json对象;消息详情参考附录:消息内容
      error:{                         //json对象;错误消息,出错时返回,如果成功,error不返回
        code: 1,                      //数字类型;错误码
        msg: ''                       //字符串类型;错误信息
      }                                 
    }             


}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addMessagesListener(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

iOS系统

可提供的1.0.0及更高版本

addMessagesListenerForAndroid

添加消息相关监听(该接口仅支持android)

addMessagesListenerForAndroid(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'onReceive',      //字符串类型;监听的事件类型,取值范围如下
                // onReceive 个人消息接收
                // onReceiveGMsg 群组消息接收
                // onMsgReaded 消息设置已读
                // onRevokeMessage 撤回消息返回
    msg:[],                     // JSON数组;消息数组
    userId:'',                  // 字符串类型,当eventType == onMsgReaded 会返回
    groupId:'',                 // 字符串类型,当eventType == onReceiveGMsg 会返回
    msgId:'',            // 字符串类型,当eventType == onRevokeMessage 会返回
    errorMsg:''            // 字符串类型,当eventType == onRevokeMessage 会返回
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addMessagesListenerForAndroid(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

Android系统

可提供的1.0.0及更高版本

addSessionListener

添加会话相关监听(仅支持ios)

addSessionListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'didAddRecentSession', //字符串类型;监听的事件类型,取值范围如下:
                                             //didAddRecentSession:增加某个会话的所有消息
                                             //didUpdateRecentSession:最近会话修改的回调
                                             //didRemoveRecentSession:删除最近会话的回调
                                             //messagesDeletedInSession:单个会话里所有消息被删除的回调                             
                                             //allMessagesDeleted:所有消息被删除的回调;此回掉不会返回任何其他信息                               
    session:{},                              //会话的json对象;eventType == messagesDeletedInSession时返回;会话详情参考附录:会话信息
    recentSession:{                          //最近会话的json对象;eventType == messagesDeletedInSession、allMessagesDeleted时不返回,其他返回;
       session:{},                           //会话的json对象;会话详情参考附录:会话信息
       lastMessage:{},                       //最后一条消息的json对象;消息详情参考附录:消息内容
       unreadCount:'',                       //数字类型;未读消息数
       localExt:{}                           //json对象;本地扩展
    },
    totalUnreadCount:0                       //数字类型;目前总未读数;eventType == messagesDeletedInSession、allMessagesDeleted时不返回,其他返回;
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addSessionListener(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

iOS系统

可提供的1.0.0及更高版本

addContactsListener

添加好友相关监听(仅支持ios)

addContactsListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'onAddContacts', //字符串类型;监听的事件类型,取值范围如下:
                                //onAddContacts:添加好友
                                //onAddContactsList:添加多个好友 
                                //onRemoveContacts:删除好友  

    user:{},                    //用户的json对象;eventType == onAddContacts、onRemoveContacts时返回;用户详情参考附录:用户信息
    users:[{}],                 //用户的json数组对象;eventType == onAddContactsList时返回;用户详情参考附录:用户信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addContactsListener(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

iOS系统

可提供的1.0.0及更高版本

addGroupListener

添加群组相关监听(仅支持ios)

addGroupListener(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    eventType: 'onGroupAdded',  //字符串类型;监听的事件类型,取值范围如下:
                                //onGroupAdded:群组增加
                                //onGroupUpdated:群组更新   
                                //onGroupRemoved:群组移除
                                //onGroupMemeberChanged:群组成员变动    
                                //onGroupOwnerDestoryMessage:群主销毁消息               
    group:{},                   //用户的json对象;用户详情参考附录:用户信息
    message:{}                  //消息的json对象;eventType == onGroupOwnerDestoryMessage时返回;消息详情参考附录:消息内容
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addGroupListener(function(ret) {
     api.alert({ msg:ret.eventType});
});

可用性

iOS系统

可提供的1.0.0及更高版本

getUserByUserID

根据人员id获取人员信息

getUserByUserID({params},callback(ret))

params

userId:

  • 类型:字符串
  • 描述:人员id

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   user:{},                    //用户的json对象;用户详情参考附录:用户信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getUserByUserID({
   userId:'123'
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getDeptByID

根据子ID获取部门

getDeptByID({params},callback(ret))

params

deptId:

  • 类型:字符串
  • 描述:部门ID

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   dept:{},                    //部门的json对象;部门详情参考附录:部门信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getDeptByID({
   deptId:'123'
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getUserOrgByUserID

获取用户所在组织 (仅支持ios)

getUserOrgByUserID({params},callback(ret))

params

userId:

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

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
   depts:[{}],                    //部门的json对象;部门详情参考附录:部门信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getUserOrgByUserID({
   userId:'123'
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统

可提供的1.0.0及更高版本

sendText

发送文本消息

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

text:

  • 类型:字符串
  • 描述:发送的消息

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendText({
    sessionId: '',
    chatType: 0,
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

sendImage

发送图片消息(仅支持ios,android可调用sendFile接口)

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

path:

  • 类型:字符串
  • 描述:要发送的图片的路径,要求本地路径(fs://、widget://)(android只支持fs)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendImage({
    sessionId: '',
    chatType: 'chat',
    path: 'widget://res/abc.png',
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

sendLocation

发送位置消息

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

title:

  • 类型:字符串
  • 描述:(可选项)标题

info:

  • 类型:字符串
  • 描述:(可选项)信息

latitude:

  • 类型:数字
  • 描述:纬度

longitude:

  • 类型:数字
  • 描述:经度

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendLocation({
    sessionId: '',
    chatType:0,
    latitude: ,
    longitude: ,
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

sendVoice

发送声音消息 (仅支持ios,android可调用sendFile接口)

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

path:

  • 类型:字符串
  • 描述:要发送的音频的路径,要求本地路径(fs://、widget://)(android只支持fs)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendVoice({
    sessionId: '',
    chatType:0,
    path: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

sendVideo

发送视频消息 (仅支持ios,android可调用sendFile接口)

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

path:

  • 类型:字符串
  • 描述:要发送的视频的路径,要求本地路径(fs://、widget://)(android只支持fs)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendVideo({
    sessionId: '',
    chatType:0,
    path: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

sendFile

发送文件消息

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

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

path:

  • 类型:字符串
  • 描述:要发送的文件的路径,要求本地路径(fs://、widget://)(android只支持fs)

type:

  • 类型:数字类型
  • 描述:文件类型
  • 默认:0
  • 取值:
    • 0 文件
    • 1 语音
    • 2 视频
    • 3 语音
    • 4 图片

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否发送成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.sendFile({
    sessionId: '',
    chatType:0,
    path: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

deleteAllmessagesInSession

删除某个会话的所有消息

deleteAllmessagesInSession({params}))

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.deleteAllmessagesInSession({
    sessionId: '',
    chatType:0,
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

markAllMessagesReadInSession

设置一个会话里所有消息置为已读 (仅支持ios)

markAllMessagesReadInSession({params}))

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.markAllMessagesReadInSession({
    sessionId: '',
    chatType:0,
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

getSessionMessages

得到会话所有消息

getSessionMessages({params},callback(ret))

params

sessionId:

  • 类型:字符串
  • 描述:会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号

chatType:

  • 类型:数字
  • 描述:(可选项)要发送消息的会话类型
  • 默认:0
  • 取值范围:
    • 0:单聊会话
    • 1:群组会话
    • 2:群发会话
    • 3:应用会话
    • 4:系统通知

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    messages:[]            //消息的json数组对象;消息详情参考附录:消息内容

}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getSessionMessages({
    sessionId: '',
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getRecentSessionList

获取最近会话列表 (仅支持ios)

getRecentSessionList(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    recentSessions:[{                          //最近会话的json数组对象;
       session:{},                           //会话的json对象;会话详情参考附录:会话信息
       lastMessage:{},                       //最后一条消息的json对象;消息详情参考附录:消息内容
       unreadCount:'',                       //数字类型;未读消息数
       localExt:{}                           //json对象;本地扩展
    }],

}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getRecentSessionList(function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

getRecentSessionListForAndroid

获取最近会话列表 (仅支持android)

getRecentSessionList(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    conversations:[{
        id:'',
         name:'',
        subname:'',
        icon:'',
          time:'',
            type:'',
            isTop:'',
            extData:'',
           extData1:''
    }],
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getRecentSessionListForAndroid(function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

Android系统

可提供的 1.0.0 及更高版本

getContactsListCompletion

从服务端获取联系人列表 (仅支持ios)

getContactsListCompletion(callback(ret,err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
    users:[{}],            //用户的json数组对象;用户详情参考附录:用户信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getContactsListCompletion(function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

addContactsWithUser

添加联系人 (仅支持ios)

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

params

userId:

  • 类型:字符串
  • 描述:联系人ID

nickname:

  • 类型:字符串
  • 描述:(可选项)被添加用户昵称

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.addContactsWithUser({
    userId: '',
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

modifyContantsNicknameWithUserID

修改联系人昵称 (仅支持ios)

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

params

userId:

  • 类型:字符串
  • 描述:联系人ID

nickname:

  • 类型:字符串
  • 描述:(可选项)被添加用户昵称

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.modifyContantsNicknameWithUserID({
    userId: '',
    nickname: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

deleteContactsWithUserID

删除联系人 (仅支持ios)

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

params

userId:

  • 类型:字符串
  • 描述:联系人ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.deleteContactsWithUserID({
    userId: '',
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统

可提供的 1.0.0 及更高版本

getGroupList

获取群组列表

getGroupList(callback(ret))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    groups:[{}],           //群组的json数组对象;群组详情参考附录:群组信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getGroupList(function(ret) {
    api.alert({ msg:JSON.stringify(ret)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

getGroupByGroupID

根据群组ID获取群组

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

params

groupId:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    group:{},           //群组的json对象;群组详情参考附录:群组信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.getGroupByGroupID({
    groupId: '',
},function(ret) {
    api.alert({ msg:JSON.stringify(ret)})
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

createGroup

创建群组

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

params

groupName:

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

userList:

  • 类型:数组
  • 描述:用户数组
  • 示例:['123','321']

pic:

  • 类型:字符串
  • 描述:(可选项)用户的ID数组

desc:

  • 类型:字符串
  • 描述:(可选项)群组描述

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
    group:{},           //群组的json对象;群组详情参考附录:群组信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.createGroup({
    groupName: '',
    userList :[]
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

inviteGroupMembersForGroupID

群组邀请

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

params

groupID:

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

userList:

  • 类型:数组
  • 描述:邀请用户列表
  • 示例:['123','321']

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.inviteGroupMembersForGroupID({
    groupID: '',
    userList :[]
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

quitGroupForGroupID

退出群组 (注意:android群主如果调用该方法会解散该群)

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

params

groupID:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.quitGroupForGroupID({
    groupID: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

removeGroupMembersForGroupID

群组踢人

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

params

groupID:

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

userList:

  • 类型:数组
  • 描述:用户列表
  • 示例:['123','321']

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.removeGroupMembersForGroupID({
    groupID: '',
    userList :[]
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

dissolveGroupForGroupID

解散群组 (该方法仅支持ios, android解散群组需要群主调用quitGroupForGroupID即可)

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

params

groupID:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.dissolveGroupForGroupID({
    groupID: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

modifyGroupNameForGroupID

修改群组名称

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

params

groupID:

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

groupName:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.modifyGroupNameForGroupID({
    groupID: '',
    groupName:''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

modifyGroupAvatarForGroupID

修改群组头像

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

params

groupID:

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

groupAvatar:

  • 类型:字符串
  • 描述:新的群组头像地址

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.modifyGroupAvatarForGroupID({
    groupID: '',
    groupAvatar:''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

modifyGroupIntroForGroupID

修改群组描述

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

params

groupID:

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

groupIntro:

  • 类型:字符串
  • 描述:新的群组描述

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.modifyGroupIntroForGroupID({
    groupID: '',
    groupIntro:''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

modifyGroupNicknameForGroupID

修改用户群昵称

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

params

groupID:

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

userID:

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

nickname:

  • 类型:字符串
  • 描述:用户昵称

callback(ret, err)

ret: Android无回调

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err: Android无回调

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.modifyGroupNicknameForGroupID({
    groupID: '',
    userID: '',
    nickname: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

transferGroupOwnerForGroupID

转让群主

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

params

groupID:

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

userID:

  • 类型:字符串
  • 描述:要转让的用户ID

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.transferGroupOwnerForGroupID({
    groupID: '',
    userID: ''
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

setGroupManagerForGroupID

设置/取消群管理员

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

params

groupID:

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

userID:

  • 类型:字符串
  • 描述:要设置/取消的用户ID

isAdministrator:

  • 类型:布尔
  • 描述:(可选项)是否是管理员
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.setGroupManagerForGroupID({
    groupID: '',
    userID: '',
    isAdministrator:true
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

setGroupMsgShieldForGroupID

设置群消息屏蔽

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

params

groupID:

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

isShield:

  • 类型:布尔
  • 描述:(可选项)是否屏蔽
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.setGroupMsgShieldForGroupID({
    groupID: '',
    isShield:true
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

setGroupShutupForGroupID

设置群禁言(只允许群组或者全管理员发消息,暂仅支持ios)

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

params

groupID:

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

isShutup:

  • 类型:布尔
  • 描述:(可选项)是否禁言
  • 默认:true

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否成功,true|false
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    code:   ,         //数字类型;错误码
    msg: ''           //字符串类型;错误信息
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.setGroupShutupForGroupID({
    groupID: '',
    isShutup:true
},function(ret,err) {
    if(ret.status)
    api.alert({ msg:JSON.stringify(ret)});
    else
    api.alert({ msg:JSON.stringify(err)});
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

openSession

打开会话页面

openSession()

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.openSession();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

openContact

打开联系人页面

openContact()

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.openContact();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

openMine

打开我的页面

openMine()

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.openMine();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

closeView

关闭打开的UI页面

closeView()

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.closeView();

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

configureUI

配置UI页面

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

params

navigationBar:

  • 类型:JSON 对象
  • 描述:导航条样式配置
  • 内部字段:
{

    titleColor: '#fff',       //字符串类型;标题文字颜色;默认:#fff
    bgColor: '#2A569B'        //字符串类型;导航条背景色;默认:#2A569B
}

示例代码

var qidaIM = api.require('qidaIM');
qidaIM.configureUI({
    navigationBar:{
     titleColor: '#fff',
     bgColor: '#2A569B'
   }
});

可用性

iOS系统,Android系统

可提供的 1.0.0 及更高版本

附录

用户信息

  • 类型:JSON 对象
  • 描述:用户的相关信息
  • 内部字段:
{
    loginName: '',      //字符串类型;登录名
    pic:'',             //字符串类型;头像信息
    OPhone:'',          //字符串类型;办公电话
    mobile:'',          //字符串类型;移动电话
    email:'',           //字符串类型;电子邮件
    job:'',             //字符串类型;职位
    empcode:'',         //字符串类型;员工号
    note:'',            //字符串类型;签名
    sex:'',             //字符串类型;性别 0:未知 1:男  2:女
    userStatus:0,       //数字类型;用户状态 0-未激活;1-正常;2-禁用;3-删除
    status:0,           //数字类型;在线状态,取值范围如下:
                        //0:离线
                              //1:在线
                              //2:离开
                             //3:忙碌
                            //4:自动离开    
                            //5:请勿打扰
    nameSP:'',           //字符串类型;姓名简拼
    nameAP:'',           //字符串类型;姓名全拼
    birthday:'',         //字符串类型;生日
    roomNum:'',          //字符串类型;房间号
    shortNum:'',         //字符串类型;短号

    deptID:'',           //字符串类型;主部门ID
    deptName:'',         //字符串类型;主部门名称
    secLevel:'',         //字符串类型;用户等级
    address:'',          //字符串类型;地址
    lastOffLineTime:'',  //字符串类型;最近离线时间
    groupRole:'',        //字符串类型;在群组中的角色 群主/管理员/普通群成员
    nickname:'',         //字符串类型;在群组中的昵称
    isTop:true,          //布尔类型;好友中是否置顶
    extData:'',          //字符串类型;扩展属性数据
    extData1:'',         //字符串类型;扩展属性数据1              
    extData2:'',         //字符串类型;扩展属性数据2

}

部门信息

  • 类型:JSON 对象
  • 描述:部门的相关信息
  • 内部字段:
{
    companyID: '',     //字符串类型;部门ID
    parantID:'',       //字符串类型
    code:'',           //字符串类型
    deptPath:'',       //字符串类型
    createdate:''     //字符串类型
}

会话信息

  • 类型:JSON 对象
  • 描述:会话的相关信息
  • 内部字段:
{
    sessionId: '',     //字符串类型;会话ID,如果当前session为group, 则sessionId为groupId,如果是P2P则为对方帐号
    ext:'',                //字符串类型;会话扩展属性
    chatType:0,            //数字类型;会话类型,取值范围如下:
                           //0:单聊会话
                                 //1:群组会话
                                 //2:群发会话
                                 //3:应用会话
                                //4:系统通知    
}

群组信息

  • 类型:JSON 对象
  • 描述:群组的相关信息
  • 内部字段:
{

    type:0,               //数字类型;群组类型,取值范围如下:
                          //0:个人群
                               //1:固定群
                                //2:部门群 
     ownerID:'',           //字符串类型;群主id
     ownerName:'',         //字符串类型;群主名
     pic:'',               //字符串类型;群头像
     userCount:6,          //数字类型;群规模
     memberCount:6,        //数字类型;群成员数
     visiterAce:6,         //数字类型;访问者权限
     createTime:'',        //字符串类型;创建日期
     updateTime:'',        //字符串类型;更新时间
     note:'',              //字符串类型;群公告
     desc:'',              //字符串类型; 群描述
     isTop: true,          //布尔类型;是否置顶
     nameSP:'',            //字符串类型;群名称简拼
     nameAP:'',            //字符串类型;群名称全拼
     isActivate:true,      //布尔类型;是否激活
     hideqdg:1,            //数字类型;屏蔽标识
     isShutup: true,       //布尔类型;是否禁言
     notifyType:1,         //数字类型;群消息屏蔽 1. 接收提醒 2.接收不提醒
     flag:6,               //数字类型;扩展字段                            

}

消息内容

  • 类型:JSON 对象
  • 描述:获取到的消息包含的内容及其相关信息
  • 内部字段:
{
    messageId: '',          //字符串类型;消息ID,唯一标识
    session:{},            //json对象;所属会话,详情参考附录:会话信息
    status:0 ,             //数字类型;消息发送状态,取值范围如下:
                           //0:默认状态
                                 //1:发送成功
                                 //2:发送失败
                                 //3:消息被已读
                                 //4:消息收到
                                //5:消息回执已发送
                                //6:消息回执发送失败
                                //7:消息被撤销
    senderId:'',            //字符串类型;消息发送者id 
    senderName:'',            //字符串类型;消息发送者名字
    ssid:'',            //字符串类型;senderssid
    title:'',            //字符串类型;消息标题
    contentType:'',       //字符串类型;消息内容类型(text/json 等)
    content:'',            //字符串类型;消息内容
    extData:'',            //字符串类型;额外消息数据
    localExtData:'',            //字符串类型;本地数据扩展
    msgExtType:'',            //字符串类型;消息扩展类型
    timestamp:0 ,             //数字类型;消息发送时间(纳秒级),本地存储消息可以通过修改时间戳来调整其在会话列表中的位置,发完服务器的消息时间戳将被服务器自动修正
    msgFlag:0 ,             //数字类型;消息信息标示
    deliveryState:0 ,        //数字类型;消息投递状态 仅针对发送的消息,取值范围如下:
                           //0:消息发送失败
                                 //1:消息发送中
                                 //2:消息发送成功     isOutgoingMsg:true,       //布尔类型;是否是往外发的消息
     isReceivedMsg:true,       //布尔类型;是否是收到的消息,由于有漫游消息的概念,所以自己发出的消息漫游下来后仍旧是"收到的消息",这个字段用于消息出错是时判断需要重发还是重收
     isPlayed:true,       //布尔类型;消息是否被播放过息
     isDeleted:true,       //布尔类型;消息是否标记为已删除
     isRemoteRead:true,       //布尔类型;对端是否已读,只有当当前消息为 P2P 消息且 isOutgoingMsg 为 YES 时这个字段才有效,需要对端调用过发送已读回执的接口
     isLocalRead:true,       //布尔类型;是否本地已读,标记未读消息使用
     attachmentDownloadState:0 ,        //数字类型;消息附件下载状态 仅针对收到的消息,取值范围如下:
                           //0:附件需要进行下载 (有附件但并没有下载过)
                                 //1:附件收取失败 (尝试下载过一次并失败)
                                 //2:附件下载中
                                 //3:附件下载成功/无附件     attachments:'',            //字符串类型;附件信息
     openTimestamp:0 ,            //数字类型;消息打开时间
     appcode:'',            //字符串类型;消息来源类型  应用类消息对应的应用类型     conversationId:'',          //字符串类型;会话Id(服务端使用)
     msgnum:0 ,            //数字类型;消息序号     senderMsgnum:0 ,            //数字类型;发送者的消息序号间
     msgCount:0 ,            //数字类型;模糊查询的消息数量
     body: {}                //JSON 对象;消息体(消息包含的内容),详情参考附录:消息体内容                                                                                      
 }

消息体内容

  • 类型:JSON 对象
  • 描述:消息体包含的内容及其相关信息
  • 内部字段:
{
    type: 0,               //数字类型;消息类型,取值范围如下:
                            //0:文本消息
                                 //1:富文本消息
                                 //2:图片消息
                                 //3:文件消息
                                //4:语音消息
                                //5:小视频    
                                //6:定位消息
                                //7:链接消息    
                                //8:签收消息    
                                //9:确认签收消息
                                //10:通知消息
                                //11:撤回消息
                                //12:音频通话
                                //13:视频通话
                                //14:自定义消息
                                //15:名片消息
                                //201:未知    
    ...: ...                //消息体除type外的其它内容,详情参考附录:消息体-图片、视频、位置、语音、文件
}

消息体-文本

  • 类型:JSON 对象
  • 描述:文本类型的消息体内容
  • 内部字段:
{
    type: 2, 
    guid: '',                 //字符串类型;图片guid
    fileName: '',             //字符串类型;文件展示名
    size:{                    //json对象,图片尺寸
      w:0,
      h:0
    },
    path: '',                 //字符串类型;图片本地路径
    fshost: '',               //字符串类型;文件的服务地址
    url: '',                  //字符串类型;图片远程路径
    fileLength: 6,            //数字类型;文件大小
}

消息体-图片

  • 类型:JSON 对象
  • 描述:图片类型的消息体内容
  • 内部字段:
{
    type: 2, 
    guid: '',                 //字符串类型;图片guid
    fileName: '',             //字符串类型;文件展示名
    size:{                    //json对象,图片尺寸
      w:0,
      h:0
    },
    path: '',                 //字符串类型;图片本地路径
    fshost: '',               //字符串类型;文件的服务地址
    url: '',                  //字符串类型;图片远程路径
    fileLength: 6,            //数字类型;文件大小
}

消息体-视频

  • 类型:JSON 对象
  • 描述:视频类型的消息体内容
  • 内部字段:
{
    type: 5, 
    guid: '',                 //字符串类型;视频guid
    fileName: '',             //字符串类型;文件展示名
    path: '',                 //字符串类型;视频本地路径
    fshost: '',               //字符串类型;文件的服务地址
    url: '',                  //字符串类型;视频远程路径
    fileLength: 6,            //数字类型;文件大小
}

消息体-位置

  • 类型:JSON 对象
  • 描述:位置类型的消息体内容
  • 内部字段:
{
    type: 6, 
    latitude: 39,              //数字类型;纬度
    longitude: 116,             //数字类型;经度
    title: '',                //字符串类型;标题
    info: '',                //字符串类型;地理位置描述

}

消息体-语音

  • 类型:JSON 对象
  • 描述:语音类型的消息体内容
  • 内部字段:
{
    type: 4, 
    fileName: '',             //字符串类型;文件展示名
    guid: '',                 //字符串类型;声音文件的 guid
    path: '',                 //字符串类型;语音的本地路径
    fshost: '',               //字符串类型;文件的服务地址
    url: '',                  //字符串类型;语音的远程路径
    duration: 6,             //数字类型;语音时长,单位为毫秒

}

消息体-文件

  • 类型:JSON 对象
  • 描述:文件类型的消息体内容
  • 内部字段:
{
    type: 3, 
    fileName: '',             //字符串类型;文件展示名
    fileId: '',                 //字符串类型;文件Id
    path: '',                 //字符串类型;文件的本地路径
    fshost: '',               //字符串类型;文件的服务地址
    url: '',                  //字符串类型;文件的远程路径
    md5: '',                  //字符串类型;文件MD5
    fileSize: 6,             //数字类型;文件大小
    status:0 ,             //数字类型;附件状态,取值范围如下:
                           //0:默认
                           //1:下载完成
                                 //2:下载失败
                                 //3:上传成功
                                 //4:上传失败
                                 //5:上传中
    fileType:0 ,            //数字类型;文件类型,取值范围如下:
                           //0:文件
                           //1:文件夹
                                 //2:图片
                                 //3:音频
                                 //4:视频
}