{"id":21518163,"url":"https://github.com/ucloud/urtc-im-web","last_synced_at":"2026-02-06T20:31:15.980Z","repository":{"id":81010010,"uuid":"230402568","full_name":"ucloud/urtc-im-web","owner":"ucloud","description":null,"archived":false,"fork":false,"pushed_at":"2020-01-13T09:12:30.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-07-28T21:22:22.081Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ucloud.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-27T08:20:48.000Z","updated_at":"2020-01-13T09:12:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2772538-f802-46ee-b4c9-957d3299d8bd","html_url":"https://github.com/ucloud/urtc-im-web","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ucloud/urtc-im-web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Furtc-im-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Furtc-im-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Furtc-im-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Furtc-im-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ucloud","download_url":"https://codeload.github.com/ucloud/urtc-im-web/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ucloud%2Furtc-im-web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29175202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T20:14:21.878Z","status":"ssl_error","status_checked_at":"2026-02-06T20:14:21.443Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T00:50:22.459Z","updated_at":"2026-02-06T20:31:15.967Z","avatar_url":"https://github.com/ucloud.png","language":null,"readme":"# im-sdk-web\n\n* [Client 类](#client)\n* [version 属性](#version)\n* [setServers 方法](#setservers)\n\n---\n\u003ca name='client'\u003e\u003c/a\u003e\n## 安装\n```\nnpm install urtc-im \n```\n\nor\n\n```\n\u003cscript src= \"http://urtcsdk.cn-bj.ufileos.com/UCloudIMSdk_web.js\"\u003e\u003c/script\u003e\n```\n\n## 一、Client 类\n\nClient 类包含以下方法：\n\n* [构建函数 - 创建客户端](#client-constructor)\n* [joinRoom 方法 - 加入房间](#client-joinroom)\n* [close 方法 - 离开房间](#client-close)\n* [sendMsg 方法 - 发消息](#client-sendmsg)\n* [sendGlobal 方法 - 发广播](#client-sendglobal)\n* [authCall 方法 - 设置房间连麦权限](#client-authcall)\n* [getUser 方法 - 获取当前用户信息](#client-getuser)\n* [getAdminUsers 方法 - 获取 admin 列表](#client-adminusers)\n* [getDefaultUsers 方法 - 获取 default 列表](#client-defaultusers)\n* [getWhiteboard 方法 - 获取白板 uuid 以及 token](#client-getwhiteboard)\n* [on 方法 - 绑定事件处理函数](#client-on)\n* [off 方法 - 解绑事件处理函数](#client-off)\n* [sendNotice  方法 - 发送公告](#client-sendnotice)\n* [sendCustomMsg  方法 - 发送自定义消息](#client-sendcustommsg)\n* [sendCustomPeerMsg  方法 - 发送点对点自定义消息](#client-sendcustommsg)\n* [applyCall  方法 - 发起连麦请求](#client-applycall)\n* [replyCall  方法 - 应答连麦请求](#client-replycall)\n* [getRoomInfo  方法 - 房间信息](#client-getRoomInfo)\n* [getHistoryChat 方法 - 聊天记录](#client-getHistoryChat)\n* [banRoom 方法 - 禁言](#client-banRoom)\n\u003c!-- * [getUsers 方法 - 获取房间全部用户 (admin 以及 default)](#client-getusers) --\u003e\n\n\u003ca name=\"client-constructor\"\u003e\u003c/a\u003e\n\n### 1. 构建函数\n\n用于创建一个 URTC Client 对象，示例代码：\n\n```\nimport urtc_im from '../@sdk';\nlet {Client,setServers } = urtc_im;\nnew Client(AppId);\n```\n\n#### 参数说明\n\n- AppId: string 类型，必传，可从 UCloud 控制台查看\n\n\u003ca name=\"client-joinroom\"\u003e\u003c/a\u003e\n\n### 2.joinRoom 方法\n\n加入房间，示例代码：\n\n```\nclient.joinRoom(RoomId, UserId, UserType, UserName, onSuccess, onFailure)\n```\n\n#### 参数说明\n\n- RoomId: string 类型，必传，可从 UCloud 控制台查看\n- UserId: string 类型，必传，用户 ID\n- UserType: string 类型 (admin 或者 default)，必传，用户角色  \n- onSuccess: function 类型，选传，方法调用成功时执行的回调函数，函数说明如下\n```\nfunction onSuccess(data，roomInfo) {}\ndata 为用户信息对象和房间信息\n{\n    roomInfo,\n    adminList,\n    defaultList,\n}\n```\n- onFailure: 选传，函数类型，方法调用失败时执行的回调函数。\n```\nfunction(Err) {}\n```\nErr 为错误信息\n\n\u003ca name =\"client-close\"\u003e\u003c/a\u003e\n\n### 3 close 方法 \n离开房间，关闭 IM，示例代码：\n```\nclient.sendMsg(\n    '测试',\n    function(data){\n        console.log(data)\n    },\n    function(err){\n        console.log(err)\n    }\n)\n```\n\n\u003ca name =\"client-sendmsg\"\u003e\u003c/a\u003e\n\n### 4 sendMsg 方法\n发送聊天消息，示例代码：\n```\nclient.sendMsg(\n    msg,\n    onSuccess,\n    onError,\n)\n```\n#### 参数说明\n\n- msg: string 类型，必传，聊天文字\n- onSuccess: function 类型，选传，方法调用成功时执行的回调函数，函数说明如下\n```\nfunction onSuccess(data) {}\n```\n- onFailure: 选传，函数类型，方法调用失败时执行的回调函数。\n\n\u003ca name =\"client-sendglobal\"\u003e\u003c/a\u003e\n\n### 5 sendGlobal 方法\n推送广播，示例代码：\n\n#### 参数说明\n参考 [sendMsg](#client-sendmsg)\n\n\u003ca name =\"client-authcall\"\u003e\u003c/a\u003e\n\n### 6 authCall 方法\n推送广播，示例代码：\n```\nclient.authCall(\n    flag,\n    onSuccess,\n    onError,\n)\n```\n#### 参数说明\n- flag,  string 类型 （open or close）, 开始 or 关闭房间连麦的权限，管理员角色设置\n- onSuccess,onError 参考 [sendMsg](#client-sendmsg)\n\n\u003ca name =\"client-getuser\"\u003e\u003c/a\u003e\n\n### 7 getUser 方法\n当前用户信息，示例代码：\n```\nconst result = client.getUser()\n```\n#### 返回值说明\n\n- result: User 类型，类型说明如下\n\n\u003ca name='user'\u003e\u003c/a\u003e\n\nUser:\n\n```\n{\n  UserId: string ,  // 为用户 ID\n  UserType: string, // 用户类型\n  UserName: string, // 用户名称\n}\n```\n\n\u003ca name =\"client-getusers\"\u003e\u003c/a\u003e\n\n\u003c!-- ### 8 getUsers 方法\n获取房间所有用户信息，示例代码：\n```\nconst result = client.getUsers()\n```\n#### 返回值说明\n\n- result: Object 类型，类型说明如下\n\n```\n{\n  AdminUsers: Array\u003cuser\u003e,\n  defaultUsers: Array\u003cuser\u003e,\n}\n``` --\u003e\n\n\u003ca name =\"client-adminusers\"\u003e\u003c/a\u003e\n\n### 8 getAdminUsers 方法\n获取房间 admin 用户，示例代码：\n```\nconst result = client.getAdminUsers()\n```\n#### 返回值说明\n\n- result: Array\u003cuser\u003e 类型\n\n\u003ca name =\"client-defaultusers\"\u003e\u003c/a\u003e\n\n### 9 getDefaultUsers 方法\n获取房间 default 用户，示例代码：\n```\nconst result = client.getDefaultUsers()\n```\n#### 返回值说明\n\n- result: Array\u003cuser\u003e 类型 \n\n\u003ca name =\"client-getwhiteboard\"\u003e\u003c/a\u003e\n\n### 10 getWhiteboard 方法\n获取房间白板信息\n```\nconst result = client.getWhiteboard();\n```\n#### 返回值说明\n\n- result: Array\u003cuser\u003e 类型，类型说明如下\n```\n{\n    uuid: string,  加入白板 id\n    token: string, 加入白板 token\n} \n```\n\n\u003ca name=\"client-on\"\u003e\u003c/a\u003e\n\n### 11 on 方法\n\n给事件绑定监听函数，示例代码：\n\n```\nclient.on(EventType, Listener(data))\n```\n\n#### 参数说明\n\n- EventType: string 类型， 必传，目前有  | \"Msg\" 收到消息\n| \"Ban\" 禁言\n| \"Id\" 白板 ID 推送\n| \"Broadcast\" 广播\n| \"Users\" 用户加入  data object 新加入用户信息数组，object.AdminUsers 管理员列表 \u0026 object.defaultUsers 普通用户列表\n| \"Bulletin\" 公告\n| \"CallAuth\" 连麦权限\n| \"CallApply\" 发起上麦申请\n| \"CallReply\" 上麦回复\n| \"CustomContent\" 自定义消息\n| \"CustomContentPeers\"; 点对点自定义消息 这些事件可绑定监听函数\n- Listener: function 类型，事件监听函数\n\n\u003ca name=\"client-off\"\u003e\u003c/a\u003e\n\n### 12 off 方法\n\n解除绑定事件的监听函数，示例代码：\n\n```\nclient.off(EventType, Listener)\n```\n\n#### 参数说明\n\n- EventType: 参见 on 方法\n- Listener: 为调用 on 方法时绑定的监听函数\n\n\u003ca name=\"client-sendnotice\"\u003e\u003c/a\u003e\n\n### 13 sendNotice 方法\n\n发布公告（公告信息可在获取房间信息中获取），示例代码：\n\n```\nclient.off(EventType, Listener)\n```\n\n#### 参数说明\n\n- EventType: 参见 on 方法\n- Listener: 为调用 on 方法时绑定的监听函数\n\n\u003ca name=\"client-sendcustommsg\"\u003e\u003c/a\u003e\n\n### 14 sendCustomMsg 方法\n\n发布自定义消息（公告信息可在获取房间信息中获取），示例代码：\n\n```\nclient.sendCustomMsg(\n    type,\n    content,\n    onSuccess，\n    onError\n)\n```\n\n#### 参数说明\n\n- type:  string 类型，自定义 type 值\n- content: string 类型，自定义消息主体\n\n\u003ca name=\"client-sendcustompeermsg\"\u003e\u003c/a\u003e\n\n### 15 sendCustomPeerMsg 方法\n\n发布点对点自定义消息（公告信息可在获取房间信息中获取），示例代码：\n\n```\nclient.sendCustomPeerMsg(\n    userId,\n    type,\n    content,\n    onSuccess，\n    onError\n)\n```\n\n#### 参数说明\n- userId: string 类型， 接收方 id\n- type:  string 类型，自定义 type 值\n- content: string 类型，自定义消息主体\n\n\u003ca name=\"client-applycall\"\u003e\u003c/a\u003e\n\n### 16 applyCall 方法\n\n发起连麦请求，示例代码：\n\n```\nclient.applyCall(\n    userId,\n    flag,\n    onSuccess，\n    onError\n)\n```\n\n#### 参数说明\n- userId: string 类型， 接收方 id\n- flag:  string 类型，apply 申请 or cancel 取消\n- onSuccess(data) data: array, 当前房间在麦人数组信息\n\n\u003ca name=\"client-replycall\"\u003e\u003c/a\u003e\n\n### 17 replyCall 方法\n\n连麦回复请求，示例代码：\n\n```\nclient.replyCall(\n    userId,\n    flag,\n    onSuccess，\n    onError\n)\n```\n\n#### 参数说明\n- userId: string 类型， 接收方 id\n- flag:  string 类型，agree 同意 or refuse 拒绝\n\n\u003ca name=\"client-getRoomInfo\"\u003e\u003c/a\u003e\n\n### 18 getRoomInfo 方法\n\n获取房间信息，示例代码：\n```\nconst result = client.getRoomInfo()\n```\n#### 返回值说明\n\n- result: object 类型，类型说明如下\n\n```\n{\n    RoomId: string,     //房间 id\n    Bulletin: string,   //房间公告\n    CallOperation: string,  //房间连麦权限\n    applayList: string, //房间连麦列表\n}\n```\n\u003ca name=\"client-getHistoryChat\"\u003e\u003c/a\u003e\n\n### 19 getHistoryChat 方法\n\n获取房间信息，示例代码：\n```\nclient.getHistoryChat(\n    time,\n    onSuccess，\n    onError\n)\n```\n#### 参数说明\n- time: number 聊天开始时间戳（单位：s)\n\n\u003ca name='client-banRoom'\u003e\u003c/a\u003e\n\n### 20 banRoom 方法\n\n禁言功能，管理员可用：\n```\nclient.banRoom(\n    BanType,\n    userId,\n    onSuccess，\n    onError\n)\n```\n#### 参数说明\n- banType type 必填  ban or unban 开启或解除禁言\n- userId: string 必填 用户 ID，填写是指定用户禁言，填写 null 则为房间禁言\n\n\u003ca name='version'\u003e\u003c/a\u003e\n## 二、version 属性\n\nversion 属性用于显示当前 sdk 的版本\n\n---\n\n\u003ca name='setservers'\u003e\u003c/a\u003e\n\n## 三、setServers 方法\n\n可配置 URTC_IM 服务的域名\n\n```\nlet {Client,setServers } = urtc_im;\nsetServers({\n    api:'http://localhost:8080'\n});\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucloud%2Furtc-im-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fucloud%2Furtc-im-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fucloud%2Furtc-im-web/lists"}