UITencentIm 插件封装了腾讯云通信IM。云通信(Instant Messaging,IM)承载亿级 QQ 用户即时通讯技术,立志成为企业数字化转型的通信助手,为您提供全方位立体化的通信能力,让通信触达全球,智联万物。
注意:
UITencentIm 是针对对UI和功能需求不那么高的开发者推出的插件。如果你的项目对UI和功能要求很深,请在充分调研本插件是否满足需求后再决定使用。本插件提供的UI接口不满足需求,建议使用 tencentIm 插件,让前端去实现UI部分。UITencentIm 插件就是基于tencentIm提供的接口基础上扩展了UI相关的部分接口。请在项目启动前做好调研评估后再决定是否使用本插件。
注意:本插件 iOS 平台上最低适配系统版本为 iOS 8.0
<feature name="UITencentIm">
<param name="appid" value="1400213323" />
</feature>
appid:腾讯云通信控制平台获取。
登陆
login({params}, callback(ret))
identifier:
userSig:
ret:
{
status:, //布尔类型,是否成功
}
err:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.login({
identifier:'',
userSig:'',
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **logout**登出
logout({params}, callback(ret))
ret:
{
status:, //布尔类型,是否成功
}
err:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.logout({
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **configure**UI设置
configure({params})
navigationStyle:
{
bg:'#fff', //字符串类型;导航条背景色,支持rgb、rgba、#;默认:#fff
backImg:'' //字符串类型;导航条返回按钮图片路径
}
navigationTitle:
{
title: '', //字符串类型;聊天页面标题;默认:聊天用户ID
titleColor: '#000' //字符串类型;聊天页面标题文字颜色;默认:#000
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.configure({
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
# **chat**根据会话 ID 和类型创建并打开聊天页面
chat({params})
sessionId:
chatType:
var UITencentIm = api.require('UITencentIm');
UITencentIm.chat({
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
# **chatList**打开最近会话页面
chatList({params})
navigationTitle:
{
title: '', //字符串类型;最近会话页面标题;默认:会话
titleColor: '#000' //字符串类型;最近会话页面标题文字颜色;默认:#000
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.chatList({
});
iOS系统,Android系统
可提供的 1.0.0 及更高版本
# **getUsersInfo**获取用户资料。
getUsersInfo({params}, callback(ret))
users:
['','','',]
## callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
```js
{
status:, //布尔类型,是否成功
infos:[{ //json数组,用户资料
userID:'', //字符串类型;用户 ID
nickName:'', //字符串类型;用户昵称
gender:0, //数字类型;用户性别;0:未知性别,1:男性,2:女性
allowType:0, //数字类型;用户好友验证方式;0:同意任何用户加好友,1:需要验证,2:拒绝任何人加好友
}]
}
err:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.getUsersInfo({
users:[],
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **setSelfInfo**设置用户资料
setSelfInfo({params}, callback(ret))
selfSignature:
nickName:
faceURL:
gender:
allowType:
ret:
{
status:, //布尔类型,是否成功
}
err:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.setSelfInfo({
nickName:'',
faceURL:''
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# **addNewMessageListener**添加新消息监听
addNewMessageListener({params}, callback(ret))
ret:
{
status:, //布尔类型,是否成功
messages:[ //Json数组类型;消息,只是本地曾经没有过的消息
{
peer:'', //字符串类型;聊天标识
type:, //数字类型;聊天类型;1/单聊会话,2/群组会话,3/系统会话
msgId:‘’, //字符串类型;messageId 当消息生成时,就已经固定
uniqueId:, //数字类型;当消息发送成功以后才能固定下来
sender:'', //字符串类型;发送者
messageStatus:, //数字类型;消息状态;1/发送中,2/发送完成,3/发送失败,4/已删除,5/本地消息,6/已撤回,
timestamp:, //数字类型;发送时间,服务器生成时间
seq:, //数字类型;消息序列号
isRead:, //布尔类型;是否已读
elems:[ //Json数组类型;根据内部字段type 分为文字消息、图片消息等内容详细信息请查看附录;1/文本消息,4/图片消息,5/语音消息,6/自定义消息,7/文件消息,9/群组消息,10/表情消息,11/位置消息,12/系统消息,13/关系变更通知,15/视频消息
],
groupName:'', //字符串类型;群组名称,iOS不支持
},]
}
err:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
var UITencentIm = api.require('UITencentIm');
UITencentIm.addNewMessageListener({
}, function(ret, err) {
if (ret) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
# 附录{
type:, //数字类型;为1时为文本消息
text:'', //字符串类型;文本消息内容
}
{
type:, //数字类型;为4时为图片消息
level:'', //数字类型;图片质量
path:'', //字符串类型;图片地址
imageList:[{ //Json数组;图片参数
type:, //数字类型;图片类型,0/普通,1/缩略图,2/大图
url:'', //字符串类型;图片url
uuid:'', //字符串类型;图片uuid
size:, //小数类型;图片大小
height:, //小数类型;图片高
width:, //小数类型;图片宽
},],
}
{
type:, //数字类型;为10时为表情消息
index:, //数字类型;自定义消息inde
data:'', //字符串类型;自定义消息内容base64字符串
}
{
type:, //数字类型;为5时为语音消息
duration:, //小数类型;语音时间
dataSize:, //小数类型;语音大小
path:'', //字符串类型;语音路径
}
{
type:, //数字类型;为11时为位置消息
desc:'', //字符串类型;位置信息描述
longitude:, //小数类型;经度
latitude:, //小数类型;纬度
}
{
type:, //数字类型;为7时为文件消息
fileName:'', //字符串类型;文件名称
fileSize:, //小数类型;文件大小
path:'', //字符串类型;文件路径
}
{
type:, //数字类型;为6时为自定义消息
data:'', //字符串类型;自定义消息数据base64字符串
}
{
type:, //数字类型;为9时为群组消息
tipsType:, //数字类型;群组消息类型;1/加入群组,2/主动退出群组,3/被踢出群组,4/设置管理员,5/取消管理员,6/修改群资料,7/修改群成员信息,8/新建群(iOS不支持),9/删除群(iOS不支持)
opUser:'', //字符串类型;操作用户
groupName:'', //字符串类型;群组名称
groupId:'', //字符串类型
userList:[ //数组类型;被操作的用户
'','','',
]
}
{
type:, //数字类型;为12时为群组系统消息
sysType:, //数字类型;取值如下:
android群组通知消息类型:1/申请加群被同意,2/申请加群被拒绝,3/申请加群,4/取消管理员,5/创建群消息,6/群被解散,7/设置管理员,8/邀请加群,9/被管理员踢出群,10/主动退群,11/群已被回收,12/邀请入群请求,13/邀请加群被同意,14/邀请加群被拒绝;
iOS群组通知消息类型;1/申请加群请求(只有管理员会收到),2/申请加群被同意(只有申请人能够收到),3/申请加群被拒绝(只有申请人能够收到),4/被管理员踢出群(只有被踢的人能够收到),5/群被解散(全员能够收到),6/创建群消息(创建者能够收到),7/邀请入群通知(被邀请者能够收到),8/主动退群(主动退群者能够收到),9/设置管理员(被设置者接收),10/取消管理员(被取消者接收),11/群已被回收(全员接收),12/邀请入群请求(被邀请者接收),13/邀请加群被同意(只有发出邀请者会接收到),14/邀请加群被拒绝(只有发出邀请者会接收到),15/用户自定义通知(默认全员接收)
platform:'', //字符串类型;操作平台信息
groupId:'', //字符串类型;群id
opUser:'', //字符串类型;操作人
opReason:'', //字符串类型;操作理由
}
{
type:, //数字类型;为13时为关系变更消息
subType:, //数字类型;关系变更类型,1/增加好友消息,2/删除好友消息,3/增加好友申请,4/删除未决申请,5/黑名单增加,6/黑名单删除,7/未决已读上报,8/关系资料变更,9/推荐数据增加(仅支持iOS),10/推荐数据删除(仅支持iOS),11/已决增加(仅支持iOS),12/已决删除(仅支持iOS),13/推荐已读上报(仅支持iOS),14/已决已读上报(仅支持iOS)
requestAddFriendUserList:['',''], //数组类型;成为好友的用户列表,当subType为1时有效,iOS不支持
delRequestAddFriendUserList:['',''], //数组类型;删除好友的用户列表,subType为2时有效,iOS不支持
friendAddPendencyList:[ //数组类型;申请好友信息列表,subType为3时有效,iOS不支持
{fromUser:'', //字符串类型;添加好友操作者
addSource:'', //字符串类型;添加来源
fromUserNickName:'', //字符串类型;添加好友操作者昵称
addWording:''. //字符串类型;添加好友附言
},
],
delFriendAddPendencyList:['',], //数组类型;删除未决申请列表;subType为4时有效,iOS不支持
changeInfoList:['','',], //数组类型;资料变更好友列表;subType为8时有效,iOS不支持
addBlacklistUserList:['',], //数组类型;添加黑名单好友列表;subType为5时有效,iOS不支持
delBlacklistUserList:['',], //数组类型;删除黑名单列表;subType为6时有效,iOS不支持
userList:[{ //数组类型;被操作用户列表(仅iOS支持)
identifier:'', //字符类型;用户 identifier
nickname:'', //字符类型;用户昵称
wording:'', //字符类型;申请添加时有效,添加理由
source:'', //字符类型;申请时填写,添加来源
remark:'', //字符类型;备注,subType为8时有效
}],
pendencyReportTimestamp, //数字类型,未决已读上报时间戳,subType为7时有效
recommendReportTimestamp, //数字类型,推荐已读上报时间戳,subType为13时有效
decideReportTimestamp, //数字类型,已决已读上报时间戳,subType为14时有效
}