UITencentImPublic
模块概述
UITencentImPublic 模块封装了腾讯云通信IM。云通信(Instant Messaging,IM)承载亿级 QQ 用户即时通讯技术,立志成为企业数字化转型的通信助手,为您提供全方位立体化的通信能力,让通信触达全球,智联万物。
注意:
UITencentImPublic 是针对对UI和功能需求不那么高的开发者推出的模块。如果你的项目对UI和功能要求很深,请在充分调研本模块是否满足需求后再决定使用。本模块提供的UI接口不满足需求,建议使用 UITencentImPublic 模块,让前端去实现UI部分。UITencentImPublic 模块就是基于UITencentImPublic提供的接口基础上扩展了UI相关的部分接口。请在项目启动前做好调研评估后再决定是否使用本模块。
注意:本模块 iOS 平台上最低适配系统版本为 iOS 8.0
关于表情
需要注意的是 由于模块使用的 TUIKit SDK 里面的表情包都是有版权限制的,本模块不提供默认表情,请自行按照下方表情制作过程上传制作的表情资源,表情资源格式请自行去腾讯IM官方网站查看
iOS表情配置
- 下载 UITencentImPublicAppendix 模块 zip 包并解压,把制作的表情资源放在 target 目录下。然后重新压缩为 zip 包文件上传自定义模块,云编译时勾选该模块。
- 调用configure接口传入表情相关信息(第一个表情默认为emoji表情,按照资源格式传入即可,无需调用configure接口传入任何信息)
Android表情配置 (UITencentImPublicAppendix内表情为展示配置格式使用,项目使用需要与腾讯联系获取使用权限)
- 下载 UITencentImPublicAppendix 模块 zip 包并解压,
- 解压UITencentImPublicAppendix\sourc\faces.jar
- 将表情文件夹放入UITencentImPublicAppendix\source\assets,重新打包为faces.jar
- UITencentImPublicAppendix 打为zip包以自定义模块形式与UITencentImPublic模块一起编译,
- 代码在configure接口设置
使用此模块之前必须先配置 config 文件,配置方法如下:
- 名称:UITencentImPublic
- 参数:appid
- 配置示例:
<feature name="UITencentImPublic">
<param name="appid" value="1400213323" />
</feature>
字段描述:
appid:腾讯云通信控制平台获取。
模块接口
login
登陆
login({params}, callback(ret))
params
identifier:
- 类型:字符串类型
- 描述:用户帐号
userSig:
- 类型:字符串类型
- 描述:用户帐号签名,由私钥加密获得
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.login({
identifier:'',
userSig:'',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
logout
登出
logout({params}, callback(ret))
params
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.logout({
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
configure
UI设置
configure({params})
params
navigationStyle:
- 类型:JSON 对象
- 描述:导航条样式配置
- 内部字段:
{
bg:'#fff', //字符串类型;导航条背景色,支持rgb、rgba、#;默认:#fff
backImg:'' //字符串类型;导航条返回按钮图片路径
}
navigationTitle:
- 类型:JSON 对象
- 描述:导航条样式配置
- 内部字段:
{
title: '', //字符串类型;聊天页面标题;默认:聊天用户ID
titleColor: '#000' //字符串类型;聊天页面标题文字颜色;默认:#000
}
faces:
- 类型:json数组
- 描述:(可选项)表情分组
- 内部字段:
[{
face: '4350', //字符串类型;表情分组名字
prefix: 'yz', //字符串类型;表情前缀
count: 17, //数字类型;表情个数
rowCount: 2, //数字类型;表情组总行数;默认:2
itemCount: 5, //数字类型;每行所包含的表情数;默认:5
iconPath:'4350/yz01.png', //字符串类型;表情组icon(仅android支持)
},
]
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.configure({
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
chat
根据会话 ID 和类型创建并打开聊天页面
chat({params})
params
sessionId:
- 类型:字符串
- 描述:会话ID
chatType:
- 类型:数字类型
- 描述:(可选项)会话类型
- 默认:0
- 取值范围:
- 0:单聊
- 1:群组
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.chat({
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
chatList
打开最近会话页面
chatList({params})
params
navigationTitle:
- 类型:JSON 对象
- 描述:导航条样式配置
- 内部字段:
{
title: '', //字符串类型;最近会话页面标题;默认:会话
titleColor: '#000' //字符串类型;最近会话页面标题文字颜色;默认:#000
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.chatList({
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
contactsList
打开好友列表页面
contactsList({params})
params
navigationTitle:
- 类型:JSON 对象
- 描述:导航条样式配置
- 内部字段:
{
title: '', //字符串类型;好友列表页面标题;默认:通讯录
titleColor: '#000' //字符串类型;好友列表页面标题文字颜色;默认:#000
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.contactsList({
});
可用性
iOS系统,Android系统
可提供的 1.0.0 及更高版本
closePage
关闭页面
closePage()
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.closePage();
可用性
iOS、Android系统
可提供的1.0.0及更高版本
addAvatarListener
聊天页面内头像点击事件监听
addAvatarListener(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
identifier:'' //字符串类型;消息发送者ID
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.addAvatarListener(function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
addFriend
添加好友
addFriend ({params}, callback(ret))
params
identifier:
- 类型:字符串类型
- 描述:好友账号
remake:
- 类型:字符串类型
- 描述:备注,最大96字节
addWording:
- 类型:字符串类型
- 描述:请求说明,最大120字节
addSource:
- 类型:字符串类型
- 描述:添加来源,来源不能超过8个字节,并且需要添加“AddSourceType”前缀
addType:
- 类型:数字类型
- 描述:(可选项)好友类型;1:单向好友,2:双向好友
- 默认:2
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
resultCode:, //数字类型;添加好友回执 取值范围:0/添加成功,30001/请求参数错误,30010/自己好友数已达上限,30014/对方好友数已达上限,30515/被加好友在自己黑名单,30516/被加好友设置为禁止加好友,30525/已被被添加好友添加黑名单,30539/等待好友同意
identifier:'', //字符串类型;添加账号
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.addFriend ({
identifier:'',
remake:'',
addWording:'',
addSource:''
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteFriends
删除好友
deleteFriends ({params}, callback(ret))
params
identifiers:
- 类型:数组类型
- 描述:要删除的好友账号
- 内部字段:
['','','',]
deleteType:
- 类型:数字类型
- 描述:(可选项)好友类型;1:单向好友,2:双向好友
- 默认:2
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
result:[ //Json数组类型;删除返回结果
{ resultCode:, //数字类型;添加好友回执 取值范围:0/删除成功,30001/请求参数错误,30010/自己好友数已达上限,30014/对方好友数已达上限,30515/被删好友在自己黑名单,30516/被删好友设置为禁止加好友,30525/已被被添加好友添加黑名单,30539/等待好友同意
identifier:'', //字符串类型;账号
},
],
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.deleteFriends({
identifiers:['222']
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
acceptFriend
同意好友申请
acceptFriend ({params}, callback(ret))
params
identifier:
- 类型:字符串类型
- 描述:申请好友的账号
acceptType:
- 类型:数字类型
- 描述:(可选项)好友类型;0:接受加好友(建立单向好友),1:接受加好友并加对方为好友(建立双向好友))
- 默认:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
resultCode:, //数字类型;回执 取值范围:0/操作成功,30001/请求参数错误,30010/自己好友数已达上限,30014/对方好友数已达上限,30515/被加好友在自己黑名单,30516/被加好友设置为禁止加好友,30525/已被被添加好友添加黑名单,30539/等待好友同意
identifier:'', //字符串类型;添加账号
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.acceptFriend({
identifier:''
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
refuseFriend
拒绝好友申请
refuseFriend ({params}, callback(ret))
params
identifier:
- 类型:字符串类型
- 描述:申请好友的账号
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
resultCode:, //数字类型;回执 取值范围:0/操作成功,30001/请求参数错误,30010/自己好友数已达上限,30014/对方好友数已达上限,30515/被加好友在自己黑名单,30516/被加好友设置为禁止加好友,30525/已被被添加好友添加黑名单,30539/等待好友同意
identifier:'', //字符串类型;添加账号
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.refuseFriend({
identifier:''
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getFriendApplicationList
获取好友申请列表
getFriendApplicationList(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
unReadCount:, //数字类型;未读数量
pendencyList:[{ //Json数组;信息列表
identifier:'', //字符串类型;用户id
addTime:, //数字类型;添加时间
addSoure:'', //字符串类型;来源
addWording:'', //字符串类型;加好友附言
nickName:'', //字符串类型;昵称
pendencyGetType:, //数字类型;未决请求类型,1/别人发给我的,2/我发给别人的,3/别人发给我的 和 我发给别人的。仅拉取时有效
}]
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.getFriendApplicationList(function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteFriendApplication
删除好友申请
deleteFriendApplication ({params}, callback(ret))
params
identifier:
- 类型:字符串类型
- 描述:好友的账号
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.deleteFriendApplication ({
identifier:,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFriendApplicationRead
设置好友申请已读
setFriendApplicationRead(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: '', //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.setFriendApplicationRead(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
createGroup
创建群组
createGroup({params}, callback(ret))
params
groupType:
- 类型:字符串类型
- 描述:群组类型
- 取值范围:私有群(Private)、公开群(Public)、 聊天室(ChatRoom)、音视频聊天室(AVChatRoom)和在线成员广播大群(BChatRoom)
groupName:
- 类型:字符串类型
- 描述:群组名称
groupId:
- 类型:字符串类型
- 描述:(可选项)群id
notification:
- 类型:字符串类型
- 描述:(可选项)群公告
introduction:
- 类型:字符串类型
- 描述:(可选项)群简介
faceUrl:
- 类型:字符串类型
- 描述:(可选项)群头像url,仅支持网络链接
maxMemberNum:
- 类型:数字类型
- 描述:(可选项)最大成员数
groupAddOpt:
- 类型:数字类型
- 描述:添加群条件
- 取值范围:0/禁止添加,1/群主邀请,2/任何人都可以添加
- 默认值:2
members:
- 类型:Json数组类型
- 描述:(可选项)初始成员,iOS不支持
- 内部字段:
['', //字符串类型,成员账号 '', '' ]
membersInfos:
- 类型:Json数组类型
- 描述:(可选项)初始成员,android不支持
- 内部字段:
[{'成员账号':'成员角色'}] 成员角色取值如下: 0:群成员 1:群管理员 2:群主
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
groupId:'', //字符串类型;群id
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.createGroup({
groupName:'',
groupType:,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
applyJoinGroup
申请入群
- 私有群:不能由用户主动申请入群。
- 公开群、聊天室:可以主动申请进入。
- 直播大群:可以任意加入群组。
- 如果群组设置为需要审核,调用doGroupPendency接口同意或者拒绝入群
- 如果群主设置为任何人可加入,则直接入群成功。
applyJoinGroup({params}, callback(ret))
params
groupId:
- 类型:字符串类型
- 描述:群id
reason:
- 类型:字符串类型
- 描述:入群原因
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否申请成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.applyJoinGroup({
groupId:'',
reason:'',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
quitGroup
退出群组,私有群:全员可退出群组。公开群、聊天室和直播大群:群主不能退出。
quitGroup({params}, callback(ret))
params
groupId:
- 类型:字符串类型
- 描述:群id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.quitGroup({
groupId:'',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
deleteGroup
解散群组, 对于私有群:任何人都无法解散群组。 对于公开群、聊天室和直播大群:群主可以解散群组。
deleteGroup({params}, callback(ret))
params
groupId:
- 类型:字符串类型
- 描述:群id
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.deleteGroup({
groupId:'',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
getUsersInfo
获取用户资料。
getUsersInfo({params}, callback(ret))
params
users:
类型:数组类型
描述:用户 identifier 列表
内部字段:
['','','',]
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
err:{ status:, //布尔类型,是否成功 infos:[{ //json数组,用户资料 userID:'', //字符串类型;用户 ID nickName:'', //字符串类型;用户昵称 gender:0, //数字类型;用户性别;0:未知性别,1:男性,2:女性 allowType:0, //数字类型;用户好友验证方式;0:同意任何用户加好友,1:需要验证,2:拒绝任何人加好友(仅iOS支持) allowTypeAndroid:'', //字符串类型,用户好友验证方式 }] }
类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.getUsersInfo({
users:[],
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setSelfInfo
设置用户资料
setSelfInfo({params}, callback(ret))
params
selfSignature:
- 类型:字符串类型
- 描述:(可选项)用户签名
nickName:
- 类型:字符串类型
- 描述:(可选项)用户昵称
faceURL:
- 类型:字符串类型
- 描述:(可选项)用户头像
gender:
- 类型:数字类型
- 描述:(可选项)用户性别;0:未知性别,1:男性,2:女性
- 默认:1
allowType:
- 类型:数字类型
- 描述:(可选项)用户好友验证方式;0:同意任何用户加好友,1:需要验证,2:拒绝任何人加好友
- 默认:0
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code:, //数字类型;错误码
msg: ‘’, //字符串类型;错误信息
}
示例代码
var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.setSelfInfo({
nickName:'',
faceURL:''
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本