diff --git a/application/api/model/Login.php b/application/api/model/Login.php index 56967a0..2445735 100644 --- a/application/api/model/Login.php +++ b/application/api/model/Login.php @@ -196,6 +196,7 @@ class Login extends Model $save_data['loginip'] = request()->server('HTTP_X_REAL_IP') ?: request()->server('HTTP_X_FORWARDED_FOR') ?: request()->ip(); $save_data['updatetime'] = time(); $save_data['prevtime'] = $user_info['logintime'];//上次登录时间 + $save_data['is_online'] = 1; $reslut = model('User')->update($save_data); if (!$reslut) { diff --git a/application/api/model/Room.php b/application/api/model/Room.php index 263b094..5ce5b10 100644 --- a/application/api/model/Room.php +++ b/application/api/model/Room.php @@ -2730,46 +2730,17 @@ class Room extends Model //用户在线状态 public function user_online_status($room_id,$user_id) { - if(!$room_id || !$user_id){ + if(!$user_id){ return ['code' => 0, 'msg' => '参数错误~', 'data' => null]; } $user = explode(',',$user_id); //获取腾讯的在线用户 - $user_id_array = null; - foreach ($user as $v) { - $user_id_array[] = 'u'.$v; - } - - $online_user = []; - $online_users = model('Tencent')->query_user_online_status($user_id_array); - if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){ - if($online_users['QueryResult']){ - foreach ($online_users['QueryResult'] as $v){ - if($v['Status'] == "Online"){ - //截取用户ID前面的 u 并获取用户ID - $user_id = substr($v['To_Account'],1); - $online_user[] = $user_id; - } - } - } - }else{ - return ['code' => 0, 'msg' => $online_users, 'data' => null]; - } - - $array = $online_user; - $data = null; - foreach ($user as &$v){ - if(!in_array($v,$array)){ - $data[] = [ - 'user_id' => $v, - 'is_online' => 0, - ]; - }else{ - $data[] = [ - 'user_id' => $v, - 'is_online' => 1, - ]; - } + $data = []; + foreach ($user as $v){ + $data[] = [ + 'user_id' => $v, + 'is_online' => db::name('user')->where('id',$v)->value('is_online'), + ]; } return ['code' => 1, 'msg' => '操作成功', 'data' => $data]; }