# RocketChat **Repository Path**: cbd_work/RocketChat ## Basic Information - **Project Name**: RocketChat - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2022-11-10 - **Last Updated**: 2022-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## RocketChat # 简介 RocketChat指的是一系列服务器方法和消息订阅的应用程序接口集合。使用本库第三方应用程序可以通过REST API控制和查询RocketChat服务器。本库专为聊天自动化而设计,使应用程序开发人员能够轻松地为其社区提供最佳解决方案和体验。 注意:RocketChat当前仅支持REST API,一旦OpenHarmony支持WebSocket,本库将开放基于WebSocket的Realtime API。 ## 下载安装 ```javascript npm install @ohos/rocketchat --save ``` OpenHarmony npm环境配置等更多内容,请参考[如何安装OpenHarmony npm](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md) # 使用说明 ``` import rocketchat from '@ohos/rocketchat'; ``` 功能1:创建维护rocketchat对象的 RestAPI,用于Http/Https通信。 ```typescript 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 及以上版本 ## 目录结构 ```javascript |---- RocketChat | |---- entry # 示例代码文件夹 | |---- rocketchat # rocketchat 库文件夹 | |---- index.ets # rocketchat对外接口 | |---- README.MD # 安装使用方法 ``` ## 贡献代码 使用过程中发现任何问题都可以提[Issue](https://gitee.com/openharmony-tpc/RocketChat/issues) 给我们,当然,我们也非常欢迎你给我们提[PR](https://gitee.com/openharmony-tpc/RocketChat/pulls)。 ## 开源协议 本项目基于 [Apache License 2.0](https://gitee.com/openharmony-tpc/RocketChat/blob/master/LICENSE),请自由地享受和参与开源。