create([ 'id' => 1, 'username' => 'site-owner', ]); $roomOne = Room::create(['room_name' => '后台房间一']); $roomTwo = Room::create(['room_name' => '后台房间二']); // 同一用户重复出现在多个房间时,仪表盘应按全局去重后的在线人数展示。 Redis::hset("room:{$roomOne->id}:users", 'alice', json_encode(['username' => 'alice'], JSON_UNESCAPED_UNICODE)); Redis::setex("room:{$roomOne->id}:alive:alice", 90, 1); Redis::hset("room:{$roomTwo->id}:users", 'alice', json_encode(['username' => 'alice'], JSON_UNESCAPED_UNICODE)); Redis::setex("room:{$roomTwo->id}:alive:alice", 90, 1); Redis::hset("room:{$roomTwo->id}:users", 'bob', json_encode(['username' => 'bob'], JSON_UNESCAPED_UNICODE)); Redis::setex("room:{$roomTwo->id}:alive:bob", 90, 1); $response = $this->actingAs($siteOwner)->get(route('admin.dashboard')); $response->assertOk(); $response->assertSee('当前在线人数'); $response->assertSee('2'); } }