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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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个字节,并且需要添加“AddSource_Type_”前缀

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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# **applyJoinGroup**

申请入群

  1. 私有群:不能由用户主动申请入群。
  2. 公开群、聊天室:可以主动申请进入。
  3. 直播大群:可以任意加入群组。
  4. 如果群组设置为需要审核,调用doGroupPendency接口同意或者拒绝入群
  5. 如果群主设置为任何人可加入,则直接入群成功。

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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: 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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

# **getUsersInfo**

获取用户资料。

getUsersInfo({params}, callback(ret))

params

users:

  • 类型:数组类型

  • 描述:用户 identifier 列表

  • 内部字段:

    ['','','',]
    

    callback(ret)

    ret:

    • 类型:JSON 对象
    • 内部字段:
{
    status:,                       //布尔类型,是否成功
       infos:[{     //json数组,用户资料
         userID:'', //字符串类型;用户 ID
         nickName:'', //字符串类型;用户昵称
         gender:0,   //数字类型;用户性别;0:未知性别,1:男性,2:女性
         allowType:0,   //数字类型;用户好友验证方式;0:同意任何用户加好友,1:需要验证,2:拒绝任何人加好友(仅iOS支持)
         allowTypeAndroid:'', //字符串类型,用户好友验证方式
       }]
}

err:

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

示例代码

var UITencentImPublic = api.require('UITencentImPublic');
UITencentImPublic.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))

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) {
        api.alert({msg: JSON.stringify(ret)});
    } else {
        api.alert({msg: JSON.stringify(err)});
    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

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