From c3c4ba24337cf549eecc864225ec5a988e4f2736 Mon Sep 17 00:00:00 2001 From: luyuan <1162963624@qq.com> Date: Fri, 20 Nov 2020 10:17:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E5=85=A5=E4=BA=86=E8=81=8A=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/iminit.js | 88 +++++++++++++++++++++++++++++++++++++++++++++ public/zhibo.html | 4 +++ 2 files changed, 92 insertions(+) create mode 100644 public/js/iminit.js diff --git a/public/js/iminit.js b/public/js/iminit.js new file mode 100644 index 0000000..e07711d --- /dev/null +++ b/public/js/iminit.js @@ -0,0 +1,88 @@ +let options = { + SDKAppID: 1400435767 // 接入时需要将0替换为您的即时通信 IM 应用的 SDKAppID +}; +let tim = TIM.create(options); +tim.setLogLevel(0); +// 监听事件,例如: +tim.on(TIM.EVENT.SDK_READY, function(event) { + // 收到离线消息和会话列表同步完毕通知,接入侧可以调用 sendMessage 等需要鉴权的接口 + // event.name - TIM.EVENT.SDK_READY + }); + + tim.on(TIM.EVENT.MESSAGE_RECEIVED, function(event) { + // 收到推送的单聊、群聊、群提示、群系统通知的新消息,可通过遍历 event.data 获取消息列表数据并渲染到页面 + // event.name - TIM.EVENT.MESSAGE_RECEIVED + // event.data - 存储 Message 对象的数组 - [Message] + }); + + tim.on(TIM.EVENT.MESSAGE_REVOKED, function(event) { + // 收到消息被撤回的通知 + // event.name - TIM.EVENT.MESSAGE_REVOKED + // event.data - 存储 Message 对象的数组 - [Message] - 每个 Message 对象的 isRevoked 属性值为 true + }); + + tim.on(TIM.EVENT.MESSAGE_READ_BY_PEER, function(event) { + // SDK 收到对端已读消息的通知,即已读回执。使用前需要将 SDK 版本升级至 v2.7.0 或以上。仅支持单聊会话。 + // event.name - TIM.EVENT.MESSAGE_READ_BY_PEER + // event.data - event.data - 存储 Message 对象的数组 - [Message] - 每个 Message 对象的 isPeerRead 属性值为 true + }); + + tim.on(TIM.EVENT.CONVERSATION_LIST_UPDATED, function(event) { + // 收到会话列表更新通知,可通过遍历 event.data 获取会话列表数据并渲染到页面 + // event.name - TIM.EVENT.CONVERSATION_LIST_UPDATED + // event.data - 存储 Conversation 对象的数组 - [Conversation] + }); + + tim.on(TIM.EVENT.GROUP_LIST_UPDATED, function(event) { + // 收到群组列表更新通知,可通过遍历 event.data 获取群组列表数据并渲染到页面 + // event.name - TIM.EVENT.GROUP_LIST_UPDATED + // event.data - 存储 Group 对象的数组 - [Group] + }); + + tim.on(TIM.EVENT.PROFILE_UPDATED, function(event) { + // 收到自己或好友的资料变更通知 + // event.name - TIM.EVENT.PROFILE_UPDATED + // event.data - 存储 Profile 对象的数组 - [Profile] + }); + + tim.on(TIM.EVENT.BLACKLIST_UPDATED, function(event) { + // 收到黑名单列表更新通知 + // event.name - TIM.EVENT.BLACKLIST_UPDATED + // event.data - 存储 userID 的数组 - [userID] + }); + + tim.on(TIM.EVENT.ERROR, function(event) { + // 收到 SDK 发生错误通知,可以获取错误码和错误信息 + // event.name - TIM.EVENT.ERROR + // event.data.code - 错误码 + // event.data.message - 错误信息 + }); + + tim.on(TIM.EVENT.SDK_NOT_READY, function(event) { + // 收到 SDK 进入 not ready 状态通知,此时 SDK 无法正常工作 + // event.name - TIM.EVENT.SDK_NOT_READY + }); + + tim.on(TIM.EVENT.KICKED_OUT, function(event) { + // 收到被踢下线通知 + // event.name - TIM.EVENT.KICKED_OUT + // event.data.type - 被踢下线的原因,例如: + // - TIM.TYPES.KICKED_OUT_MULT_ACCOUNT 多实例登录被踢 + // - TIM.TYPES.KICKED_OUT_MULT_DEVICE 多终端登录被踢 + // - TIM.TYPES.KICKED_OUT_USERSIG_EXPIRED 签名过期被踢 (v2.4.0起支持)。 + }); + + tim.on(TIM.EVENT.NET_STATE_CHANGE, function(event) { + // 网络状态发生改变(v2.5.0 起支持)。 + // event.name - TIM.EVENT.NET_STATE_CHANGE + // event.data.state 当前网络状态,枚举值及说明如下: + // \- TIM.TYPES.NET_STATE_CONNECTED - 已接入网络 + // \- TIM.TYPES.NET_STATE_CONNECTING - 连接中。很可能遇到网络抖动,SDK 在重试。接入侧可根据此状态提示“当前网络不稳定”或“连接中” + // \- TIM.TYPES.NET_STATE_DISCONNECTED - 未接入网络。接入侧可根据此状态提示“当前网络不可用”。SDK 仍会继续重试,若用户网络恢复,SDK 会自动同步消息 + }); + genTestUserSig(window.mid).then((res)=>{ + tim.login({userID: window.mid, userSig: res.data}); + + }) + + // 开始登录 \ No newline at end of file diff --git a/public/zhibo.html b/public/zhibo.html index 6734814..dc9e266 100644 --- a/public/zhibo.html +++ b/public/zhibo.html @@ -446,6 +446,8 @@ window.roomid = urldata.roomid window.mid = urldata.memberid + + @@ -464,6 +466,8 @@ + +