OpenHarmony三方组件:RocketChat

Handpc
发布于 2023-3-16 11:23
浏览
0收藏

简介

RocketChat指的是一系列服务器方法和消息订阅的应用程序接口集合。使用本库第三方应用程序可以通过REST API控制和查询RocketChat服务器。本库专为聊天自动化而设计,使应用程序开发人员能够轻松地为其社区提供最佳解决方案和体验。

注意:RocketChat当前仅支持REST API,一旦OpenHarmony支持WebSocket,本库将开放基于WebSocket的Realtime API。

下载安装

npm install @ohos/rocketchat --save

OpenHarmony npm环境配置等更多内容,请参考​​如何安装OpenHarmony npm​

使用说明

import rocketchat from '@ohos/rocketchat';

功能1:创建维护rocketchat对象的 RestAPI,用于Http/Https通信。

const restAPI = new RestAPI("https://open.rocket.chat/api/v1/", USERNAME, PASSWORD);

// VARIABLES    var authToken =     null;
    var visitorToken =     null;
    var rid =     null;
    var agentId =     null;
    var userId =     null;
    var visitorId =     null;
    var visitorEmail =     null;
    var channelId =     null;


// Login using Credentials
restAPI.login().then(    function (data) {
authToken = data.data.authToken;
userId = data.data.userId;
that.showToast("Success");
}).catch(    function (error) {
that.showToast("Error :" + error);
});

// Use any of the methods implemented in the package.

接口说明

REST 接口

接口名

参数

说明

login

登录用户

loginWithAuthToken

authToken

使用以前颁发的AuthToken让用户登录。

pageVisited

pageData

发送访问者导航历史记录。

参数 pageData包含信息标记、rid和pageInfo。

visitorRegistration

visitor

注册一个新访客。

参数 visitor:对象包含访问者信息:姓名、电子邮件、令牌、电话和自定义字段。

setVisitorStatus

visitor

设置访问者状态。

参数 visitor:对象包含访问者信息:令牌和状态。

visitor

token

获取访问者。

参数 token:访问者令牌。

visitorDelete

token

删除访问者

参数 token:访问者令牌。

getBanners

获取已验证用户的用于显示的banners。

bannersEndPoint

id

获取已验证用户的用于显示的banners。

参数 id:banner 的id。

createChannel

name, members: Array,readOnly:boolean

创建一个新频道。

参数 name:新通道的名称,

参数 members:创建通道时要添加到通道中的用户。

参数 readOnly:设置通道是否为只读。

addLeaderChannel

leaderData

为当前频道中的用户提供领导者角色。

参数 leaderData:领导者信息。

addModeratorChannel

moderatorData

为频道中的用户提供管理员角色。

参数 管理员数据。

addOwnerChannel

ownerData

为频道中的用户提供所有者角色。

参数:所有者数据。

counterChannel

roomId, roomName

获取频道数量。

getUserAllMentionByChannel

roomId

获取某个频道中成员数量

filesChannel

roomId,roomName

返回频道中的文件列表。

参数 roomId:通道的Id。

参数 roomName:通道的名称。

historyChannel

roomId,optional参数 s

从频道中检索消息。

roomId:通道的Id。注意:字段latest & oldest应该以UTC格式传递。

optional参数 s :- latest:要检索的消息的时间范围的结束,oldest:要检索的消息的时间范围的开始,inclusive:是否应包括位于latest和oldest的消息,offset:要检索的消息列表的偏移量,count:要检索的消息的数量,unreads:是否应包括未读取的数量。

infoChannel

roomId,roomName

获取频道的信息。

参数 roomId:通道的Id。

参数 roomName:通道的名称。

inviteChannel

data

将用户添加到频道。

参数 data:用户数据。

joinChannel

roomId, joinCode

将自己加入频道。

参数 roomId:通道的Id。

参数 joinCode:房间的连接代码。

kickChannel

roomId, userId

从频道中删除用户。

参数 roomId:通道的Id。

参数 userId:用户的Id。

leaveChannel

roomId

从频道中删除主叫用户。

参数 roomId:房间的Id。

listChannel

从服务器检索所有频道。

joinListChannel

仅检索呼叫用户已加入的频道。

membersChannel

roomId,roomName

检索所有频道用户。

参数 roomId:频道的Id。

参数 roomName:频道的名称。

messageChannel

roomId,roomName

检索所有频道消息。

参数: roomId:频道的Id。

参数:roomName:频道的名称。

onlineChannel

roomId

列出一个频道的所有在线用户。

参数 roomId:房间的Id。

openChannel

roomId

开放频道

参数 roomId:房间的Id。

renameChannel

roomId, name

更改频道的名称。

rolesChannel

roomId,roomName

获取用户在通道中的角色。

参数 roomId:通道的Id。

参数 roomName:通道的名称

setCustomFieldsChannel

roomId, roomName, customField

设置频道的自定义字段。

参数 roomId:通道的Id。

参数 roomName:通道的名称。

参数 customField:为通道设置的自定义字段..

setJoinCodeChannel

roomId, joinCode

设置加入频道所需的频道代码。

参数 roomId:通道的Id。

参数 joinCode:房间的连接代码。

setPurposeChannel

roomId, purpose

设置频道的描述。

参数 roomId:通道的Id。

参数 purpose:通道的目的。

setTopicChannel

roomId, topic

设置频道的主题。

参数 roomId:通道的Id。

参数 topic:要设置的频道主题。

setTypeChannel

roomId, roomName, channelType

设置频道的房间类型。

参数 roomId:通道的Id。

参数 roomName:通道的名称。

参数 channelType:通道的类型。

archiveChannel

roomId

存档频道。

参数 roomId:房间的Id。

deleteChannel

roomId,roomName

删除一个频道。

参数 roomId:通道的Id。

参数 roomName:通道的名称。

groupAddLeader

groupID: string, userId: string

为当前组中的用户提供领导者角色。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupAddModerator

groupID: string, userId: string

向组中的用户授予管理员角色。

参数 groupID:组的ID,

参数 userId:用户的id。

groupArchive

groupID: string

存档一个私人组。

参数 groupID:组的ID。

groupUnArchive

groupID: string

取消私人组的存档。

参数 groupID:组的ID。

groupCreate

name: string, members: Array,readOnly: boolean

创建新的私人群组。

参数 name:新专用组的名称。

参数 members:创建组时要添加到组中的用户。

参数 readOnly:设置通道是否只读。

groupAddAll

groupID: string,activeUsersOnly:boolean

将服务器上的所有用户添加到专用组。

参数 groupID:组的ID。

参数 activeUsersOnly:仅添加活动用户。

groupDelete

roomId: string,roomName:string

移除私人频道。

参数 roomId:房间的Id。

参数 roomName:房间的名称。

groupInvite

groupID: string, userId: string

将用户添加到专用组。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupRename

name: string, groupID: string

更改私人通话组的名称。

参数 name:专用组的名称。

参数 groupID:组的ID。

groupAddOwner

groupID: string,userId:string

向组中的用户授予所有者角色。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupRemoveOwner

groupID: string,userId:string

删除组中用户的所有者角色。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupRemoveModerator

groupID: string,userId:string

删除当前组中用户的管理员角色。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupSetPurpose

groupID: string, groupPurpose: string

设置私人组的描述。

参数 groupID:组的ID。

参数 groupPurpose:组的目的。

groupSetDescription

groupID: string, groupDescription: string

设置私人组的描述。

参数 groupID:组的ID。

参数 groupDescription:组的描述。

groupOpen

groupID: string

将私人组重新添加到组列表中。

参数 groupID:组的ID。

groupClose

groupID: string

从组列表中删除私人组。

参数 groupID:组的ID。

groupKick

groupID: string, userId:string

从私人组中删除用户。

参数 groupID:组的ID。

参数 userId:用户的Id。

groupLeave

groupID: string

从私人通话组中删除主叫用户。

参数 groupID:组的ID。

groupSetReadOnly

groupID: string, readOnly: boolean

设置房间是否为只读。

参数 groupID:组的ID。

参数 readOnly:组是否为只读的布尔值。

groupSetTopic

groupID: string, groupTopic: string

设置私人群组的主题。

参数 groupID:组的ID。

参数 groupTopic:组的主题。

groupSetType

groupID: string, groupType: string

设置该组的房间类型。

参数 groupID:组的ID。

参数 groupType:组的类型。

groupInfo

roomId, roomName

检索有关私人组的信息。

参数 roomId:房间的Id。

参数 roomName:房间的名称。

groupList

列出来电者所属的私人群组。

groupHistory

roomId,optional参数 s

从专用组中检索消息。

参数 roomId:组的Id。注意:字段latest & oldest应该以UTC格式传递。

参数 optional参数 s :- latest:要检索的消息的时间范围的结束时间,oldest:要检索的消息的时间范围的开始时间,inclusive:是否应包括位于latest和oldest的消息,offset:要检索的列表消息的偏移量,count:要检索的消息的数量,unreads:是否应包括未读取的数量。

groupIntegrations

roomId

获取某个房间所有组。

参数 roomId:房间的Id。

logout

注销客户端

loggedIn

获取登录的布尔状态

closeChannel

roomId

从用户的频道列表中删除频道。

参数 roomId:房间的Id。

addAllChannel

roomId

把RocketChat服务器的所有用户添加到频道。

参数 roomId:房间的Id。

removeLeaderChannel

roomId, userId

删除用户在当前频道中的Leader角色。

参数 roomId:通道的Id。

参数 userId:用户的Id。

removeModeratorChannel

roomId, userId

删除组中用户的管理员角色。

参数 roomId:通道的Id。

参数 userId:用户的Id。

removeOwnerChannel

roomId, userId

删除用户在频道中的owner角色。

参数 roomId:通道的Id。

参数 userId:用户的Id。

setDefaultChannel

roomId, isDefault

设置默认频道。

参数 roomId:房间的Id。

参数 isDefault:是否设置频道为默认。

setReadOnlyChannel

roomId, readOnly

设置频道是否为只读。

参数 roomId:通道的Id。

参数 readOnly:房间是否只读的布尔值。

unArchiveChannel

roomId

取消频道存档。

参数 roomId:房间的Id。

userCreate

data

创建新用户。需要管理员权限。

参数 data:用户数据。

usersInfo

user_id, userName

检索有关用户

参数 user_id:用户id。

参数 userName:用户名。

usersPresence

data

获取用户在线状态

usersList

data

获取系统中的所有用户及其信息。

setAvatar

avatarData

设置头像

userDelete

data

删除一个用户

settings

列出所有私有设置

getIntegrationChannel

roomId

获取某个房间的所有频道

postMessageChat

postMessageData

发送新的聊天消息

updateMessageChat

roomId, msgId, msg

更新现有聊天消息

deleteMessageChat

roomId, msgId, asUser

删除现有聊天消息

me

获取登录后的用户信息

兼容性

支持OpenHarmony API version 9 及以上版本

目录结构

|---- RocketChat
|     |---- entry  # 示例代码文件夹
|     |---- rocketchat  # rocketchat 库文件夹
|           |---- index.ets  # rocketchat对外接口
|     |---- README.MD  # 安装使用方法

贡献代码

使用过程中发现任何问题都可以提​​Issue​​​ 给我们,当然,我们也非常欢迎你给我们提​​PR​​。

开源协议

本项目基于 ​​Apache License 2.0​​,请自由地享受和参与开源。


文章转载自:​​https://gitee.com/openharmony-tpc/RocketChat​


RocketChat-master.zip 72.47K 0次下载
收藏
回复
举报
回复
    相关推荐