按高能榜当领舞

master
yin5th 2021-11-30 13:46:55 +08:00
parent e6f14e7cc5
commit b6464a4a7c
2 changed files with 28 additions and 16 deletions

View File

@ -153,7 +153,7 @@ function exitEv(id){
$(`${id}`).remove(); $(`${id}`).remove();
} }
// 进入广场 // 进入广场
function peopleObj(name,uid,say,action,active_time){ function peopleObj(name,uid,say,action,active_time, is_admin){
let yspHtml = ''; let yspHtml = '';
let yspData = [ let yspData = [
{ {
@ -166,15 +166,17 @@ function peopleObj(name,uid,say,action,active_time){
peopleImg:`people-img0${Math.floor(Math.random()*6+1)}`,//人物图片 peopleImg:`people-img0${Math.floor(Math.random()*6+1)}`,//人物图片
ying_guang:`stick-0${Math.floor(Math.random()*5+1)}`,//荧光棒 ying_guang:`stick-0${Math.floor(Math.random()*5+1)}`,//荧光棒
dancin:action, dancin:action,
active_time: active_time active_time: active_time,
is_admin: is_admin
} }
] ]
$.each(yspData, function (commentIndex, comment) { $.each(yspData, function (commentIndex, comment) {
let bigStick = comment.is_admin == 1 ? 'stick-swing-big-tow' : ''
yspHtml += ` yspHtml += `
<div id="${comment.uid}" data-time="${comment.active_time}" class="dance-people data${peopleId}" style="top: ${comment.top}; left: ${comment.left};"> <div id="${comment.uid}" data-time="${comment.active_time}" class="dance-people data${peopleId}" style="top: ${comment.top}; left: ${comment.left};">
<div class="speak ">${comment.say}</div> <div class="speak ">${comment.say}</div>
<div class="people-img ${comment.peopleImg} ${comment.dancin}"> <div class="people-img ${comment.peopleImg} ${comment.dancin}">
<div class="stick stick-swing stick-swing-big-tow ${comment.ying_guang}"></div> <div class="stick stick-swing ${bigStick} ${comment.ying_guang}"></div>
<div class="people-name ">${comment.name}</div> <div class="people-name ">${comment.name}</div>
</div> </div>
</div>` </div>`
@ -233,7 +235,7 @@ $(function(){
setInterval(function () { setInterval(function () {
delExpireDiv() delExpireDiv()
}, 60000) }, 60000)
//烟花 //烟花
// setInterval(()=>{ // setInterval(()=>{
// setTimeout(function() { // setTimeout(function() {

View File

@ -147,10 +147,15 @@ function receiveMessage(event)
let dataList = JSON.parse(event.data) let dataList = JSON.parse(event.data)
let data = dataList.dm let data = dataList.dm
// 舰长
let adminList = dataList.admin
// 高能榜top3
let highList = dataList.high
// 目前硬编码大航海列表 // 目前硬编码大航海列表
// let adminList = dataList.admin //
adminList = ['流域_墨绿绿']; // let highList = ['流域_墨绿绿'];
// adminList = ['内有猛犬小心']; // highList = ['内有猛犬小心'];
if (data.length <= 0) { if (data.length <= 0) {
return false return false
@ -161,29 +166,29 @@ function receiveMessage(event)
return false return false
} }
// 大航海列表 // 高能榜列表
if (adminList.length > 0) { if (highList.length > 0) {
// 获取当前领舞人 // 获取当前领舞人
let currentLeader = getLeader() let currentLeader = getLeader()
let now = (new Date).getTime()/1000 let now = (new Date).getTime()/1000
if (currentLeader['name'] === '') { if (currentLeader['name'] === '') {
setLeader(adminList[0], leaderTime) setLeader(highList[0], leaderTime)
} else { } else {
//领舞人存在 检查过期时间 //领舞人存在 检查过期时间
if (currentLeader['time'] === 0 || currentLeader['time'] < now) { if (currentLeader['time'] === 0 || currentLeader['time'] < now) {
// 切换领舞 // 切换领舞
// 当前领舞人 // 当前领舞人
let leaderIndex = adminList.indexOf(currentLeader['name']) let leaderIndex = highList.indexOf(currentLeader['name'])
let newLeader let newLeader
if (leaderIndex == -1) { if (leaderIndex == -1) {
newLeader = adminList[0] newLeader = highList[0]
} else { } else {
let newIndex = leaderIndex + 1 let newIndex = leaderIndex + 1
if (newIndex >= adminList.length) { if (newIndex >= highList.length) {
newIndex = 0 newIndex = 0
} }
newLeader = adminList[newIndex] newLeader = highList[newIndex]
} }
setLeader(newLeader, leaderTime) setLeader(newLeader, leaderTime)
@ -212,9 +217,10 @@ function receiveMessage(event)
let eventName = getEvent(data.danmaku) let eventName = getEvent(data.danmaku)
let isLeader = data.uname == leaderInfo ? 1 : 0 let isLeader = data.uname == leaderInfo ? 1 : 0
let isAdmin = adminList.indexOf(data.uname) == -1 ? 0 : 1
let dm = {text: data.danmaku, uid: data.uid, uname: data.uname, let dm = {text: data.danmaku, uid: data.uid, uname: data.uname,
event: eventName, event: eventName,
is_new: isNew, is_admin: 0, is_leader: isLeader,active_time: data.ts} is_new: isNew, is_admin: isAdmin, is_leader: isLeader,active_time: data.ts}
let leader = { let leader = {
uid: 0, uname: leaderInfo, text: '', event: '' uid: 0, uname: leaderInfo, text: '', event: ''
} }
@ -230,7 +236,7 @@ function receiveMessage(event)
// 新用户 // 新用户
if(dm.is_new==1){ if(dm.is_new==1){
// if(dm.uname!=leader.uname){//如果弹幕的人的名字不等于领舞者的名字,就创建一个人物 // if(dm.uname!=leader.uname){//如果弹幕的人的名字不等于领舞者的名字,就创建一个人物
peopleObj(dm.uname,dm.uid,dm.text,dm.event,dm.active_time); peopleObj(dm.uname,dm.uid,dm.text,dm.event,dm.active_time,dm.is_admin);
// } // }
} else { } else {
// 老用户 // 老用户
@ -238,6 +244,10 @@ function receiveMessage(event)
//更新最近时间 //更新最近时间
$(`#${dm.uid}`).attr('data-time', dm.active_time); $(`#${dm.uid}`).attr('data-time', dm.active_time);
$(`#${dm.uid} .speak`).removeClass("dn"); $(`#${dm.uid} .speak`).removeClass("dn");
if (dm.is_admin == 1) {
// 舰长添加大宝剑
$(`#${dm.uid} .stick`).addClass("stick-swing-big-tow");
}
setTimeout(()=>{ setTimeout(()=>{
$(`#${dm.uid} .speak`).addClass("dn"); $(`#${dm.uid} .speak`).addClass("dn");
},3000) },3000)