发送消息完成

This commit is contained in:
luyuan 2020-11-25 16:32:48 +08:00
parent 85d4224227
commit bfb7e632f6
Signed by: theluyuan
GPG Key ID: A7972FD973317FF3
3 changed files with 143 additions and 45 deletions

View File

@ -275,6 +275,19 @@ function addMemberView(id) {
memberElm.attr('id', id); memberElm.attr('id', id);
memberElm.find('div.member-id').html(id); memberElm.find('div.member-id').html(id);
memberElm.css('display', 'flex'); memberElm.css('display', 'flex');
memberElm.find("#video-btn").click((el)=>{
console.log(el)
console.log($(el.target).attr("src"))
console.log("video" + id);
})
memberElm.find("#mic-btn").click((el)=>{
console.log($(el.target).attr("src"))
console.log("mic" + id);
})
memberElm.find("#video-btn").removeAttr("id")
memberElm.find("#mic-btn").removeAttr("id")
console.log("移除")
memberElm.appendTo($('#member-list')); memberElm.appendTo($('#member-list'));
} }

View File

@ -3,16 +3,39 @@ let options = {
}; };
let tim = TIM.create(options); let tim = TIM.create(options);
tim.setLogLevel(0); tim.setLogLevel(0);
// 监听事件,例如: function formatDateTime (inputTime) {
tim.on(TIM.EVENT.SDK_READY, function(event) { var date = new Date(inputTime);
// 收到离线消息和会话列表同步完毕通知,接入侧可以调用 sendMessage 等需要鉴权的接口 var y = date.getFullYear();
// event.name - TIM.EVENT.SDK_READY var m = date.getMonth() + 1;
}); m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
return h + ':' + minute + ':' + second;
}
tim.on(TIM.EVENT.MESSAGE_RECEIVED, function(event) { tim.on(TIM.EVENT.MESSAGE_RECEIVED, function(event) {
// 收到推送的单聊、群聊、群提示、群系统通知的新消息,可通过遍历 event.data 获取消息列表数据并渲染到页面 // 收到推送的单聊、群聊、群提示、群系统通知的新消息,可通过遍历 event.data 获取消息列表数据并渲染到页面
// event.name - TIM.EVENT.MESSAGE_RECEIVED // event.name - TIM.EVENT.MESSAGE_RECEIVED
// event.data - 存储 Message 对象的数组 - [Message] // event.data - 存储 Message 对象的数组 - [Message]
console.log(event.data)
for(let i in event.data){
if(!event.data[i].payload.text){
break;
}
const list = $("#liaotianliebiao")
const html = ` <div>
<p>${formatDateTime(event.data[i].time)}</p>
<p><span>${event.data[i].nick}:</span>${event.data[i].payload.text}</p>
</div>`
list.append(html)
}
}); });
tim.on(TIM.EVENT.MESSAGE_REVOKED, function(event) { tim.on(TIM.EVENT.MESSAGE_REVOKED, function(event) {
@ -81,8 +104,104 @@ tim.on(TIM.EVENT.SDK_READY, function(event) {
// \- TIM.TYPES.NET_STATE_DISCONNECTED - 未接入网络。接入侧可根据此状态提示“当前网络不可用”。SDK 仍会继续重试若用户网络恢复SDK 会自动同步消息 // \- TIM.TYPES.NET_STATE_DISCONNECTED - 未接入网络。接入侧可根据此状态提示“当前网络不可用”。SDK 仍会继续重试若用户网络恢复SDK 会自动同步消息
}); });
genTestUserSig(window.mid).then((res)=>{ genTestUserSig(window.mid).then((res)=>{
tim.login({userID: window.mid, userSig: res.data}); tim.login({userID: window.mid, userSig: res.data}).then(function(imResponse) {
console.log(imResponse.data); // 登录成功
if (imResponse.data.repeatLogin === true) {
// 标识账号已登录本次登录操作为重复登录。v2.5.1 起支持
console.log(imResponse.data.errorInfo);
}
}).catch(function(imError) {
console.warn('login error:', imError); // 登录失败的相关信息
});
}) })
tim.on(TIM.EVENT.SDK_READY, function (){
tim.updateMyProfile({
nick: '我的昵称'
});
const promise = tim.createGroup({
type: TIM.TYPES.GRP_AVCHATROOM,
name: 'live',
groupID: window.roomid
});
promise.then(function(imResponse) { // 创建成功
console.log(imResponse.data.group); // 创建的群的资料
tim.joinGroup({
groupID: window.roomid,
type: TIM.TYPES.GRP_AVCHATROOM
}).then((res)=>{
switch (res.data.status) {
case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL: // 等待管理员同意
break;
case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
console.log(res.data.group); // 加入的群组资料
break;
case TIM.TYPES.JOIN_STATUS_ALREADY_IN_GROUP: // 已经在群中
break;
default:
break;
}
}).catch((err)=>{
console.log(err)
})
}).catch(function(imError) {
console.warn('createGroup error:', imError); // 创建群组失败的相关信息
tim.joinGroup({
groupID: window.roomid,
type: TIM.TYPES.GRP_AVCHATROOM
}).then((res)=>{
switch (res.data.status) {
case TIM.TYPES.JOIN_STATUS_WAIT_APPROVAL: // 等待管理员同意
break;
case TIM.TYPES.JOIN_STATUS_SUCCESS: // 加群成功
console.log(res.data.group); // 加入的群组资料
break;
case TIM.TYPES.JOIN_STATUS_ALREADY_IN_GROUP: // 已经在群中
break;
default:
break;
}
}).catch((err)=>{
console.log(err)
})
});
function sendtext(text){
const m = tim.createTextMessage({
to: window.roomid,
conversationType: TIM.TYPES.CONV_GROUP,
payload: {
text: text
}
})
const promise = tim.sendMessage(m);
promise.then(function(imResponse) {
// 发送成功
console.log(imResponse);
const list = $("#liaotianliebiao")
const html = ` <div>
<p>${formatDateTime(imResponse.data.message.time)}</p>
<p><span>${imResponse.data.message.nick}:</span>${imResponse.data.message.payload.text}</p>
</div>`
console.log(html)
list.append(html)
}).catch(function(imError) {
// 发送失败
console.warn('sendMessage error:', imError);
});
}
$(()=>{
$("#fasongxiaoxi").click(()=>{
const text = $("#shurukuang").val()
console.log(text)
sendtext(text)
$("#shurukuang").val("")
})
})
});
// 开始登录 // 开始登录

View File

@ -376,47 +376,13 @@
</div> </div>
</div> </div>
<div class="liaotian"> <div class="liaotian">
<div class="wenzi"> <div class="wenzi" id="liaotianliebiao">
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
<div>
<p>00:00:00</p>
<p><span>andy:</span>asdhjfhujaksdhfjkasdjhhjasjhfhjkas</p>
</div>
</div> </div>
<div class="fasongkuang"> <div class="fasongkuang">
<input type="text" placeholder="直播说点什么吧" > <input type="text" id="shurukuang" placeholder="直播说点什么吧" >
<div class="fasonganniu"> <div class="fasonganniu" id="fasongxiaoxi">
发送 发送
<img src="./img/fasong.png" alt=""> <img src="./img/fasong.png" alt="">
</div> </div>