From 3e66125e3ec5907a5ce235bb55dd5f3c586d1802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=8D=8E=E6=B8=85?= <18691022700@163.com> Date: Tue, 9 Dec 2025 18:39:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E9=97=B4=E7=94=A8=E6=88=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Room.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 32b62207..fd5ac888 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -1822,7 +1822,7 @@ class Room extends Model ->where(['a.room_id' => $room_id,'a.is_onpit' => 0]) ->select(); if(!empty($onPitUser)){ - foreach ($onPitUser as $v) { + foreach ($onPitUser as &$v) { $v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标 $v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标 //判断是否是歌手 如果是 返回等级图标 @@ -1835,6 +1835,7 @@ class Room extends Model $v['role'] = $role['role']; $v['pit_number'] = $role['pit_number']; } + unset($v); // 释放引用 $lists['on_pit'] = $onPitUser; } } @@ -1844,11 +1845,19 @@ class Room extends Model $offPitUser = db::name('vs_room_visitor')->alias('a') ->join('user b', 'a.user_id = b.id') ->field('a.user_id,b.nickname,b.avatar,b.hide_status,a.is_onpit') - ->where(['a.room_id' => $room_id,'b.hide_status' => 0]) + ->where(['a.room_id' => $room_id]) ->page($page, $pg) ->select(); if(!empty($offPitUser)){ + // 过滤掉隐身用户并重新索引数组 + $filteredUsers = []; foreach ($offPitUser as $v) { + if($v['hide_status'] == 1){ + $count++; + // 跳过隐身用户 + continue; + } + $v['icon'][0] = model('UserData')->user_wealth_icon($v['user_id']);//财富图标 $v['icon'][1] = model('UserData')->user_charm_icon($v['user_id']);//魅力图标 //判断是否是歌手 如果是 返回等级图标 @@ -1856,12 +1865,15 @@ class Room extends Model if ($isSinnger) { $v['icon'][2] = db::name('vs_singer_level')->where(['level' => $isSinnger, 'deletetime' => 0])->value('image');//等级图标 } + //用户的角色 $role = $this->get_user_role($v['user_id'], $room_id); $v['role'] = $role['role']; $v['pit_number'] = $role['pit_number']; + + $filteredUsers[] = $v; } - $lists['off_pit'] = $offPitUser; + $lists['off_pit'] = $filteredUsers; } }