[fix] XliveHeartBeat

This commit is contained in:
Lkeme 2021-04-26 18:20:26 +08:00
parent 4792167bff
commit a3196bb053

View File

@ -60,7 +60,7 @@ trait XliveHeartBeat
static::resetVar(true); static::resetVar(true);
static::$_current_room_id = $room_id; static::$_current_room_id = $room_id;
} }
// 加载房间信息 // 获取房间信息
if (empty(static::$_room_info)) { if (empty(static::$_room_info)) {
$r_data = Live::webGetRoomInfo($room_id); $r_data = Live::webGetRoomInfo($room_id);
if ($r_data['code'] != 0) { if ($r_data['code'] != 0) {
@ -68,7 +68,10 @@ trait XliveHeartBeat
return static::$_default; return static::$_default;
} }
static::$_room_info = $r_data; static::$_room_info = $r_data;
$rdata = $r_data['data']; }
// 加载房间信息
if (static::$_room_info && static::$_data["id"][2] == 0){
$rdata = static::$_room_info['data'];
$parent_area_id = $rdata['room_info']['parent_area_id']; $parent_area_id = $rdata['room_info']['parent_area_id'];
$area_id = $rdata['room_info']['area_id']; $area_id = $rdata['room_info']['area_id'];
# 短位转长位 # 短位转长位
@ -83,7 +86,7 @@ trait XliveHeartBeat
// 失败心跳 // 失败心跳
if (static::$_retry) { if (static::$_retry) {
// 重试次数 > 1 , 不全部清除 // 重试次数 > 1 , 不全部清除
static::resetVar(); static::resetVar(true);
static::$_retry -= 1; static::$_retry -= 1;
} else { } else {
// 重试次数 < 1 , 全部清除 // 重试次数 < 1 , 全部清除
@ -103,7 +106,7 @@ trait XliveHeartBeat
if ($max_time <= static::$_count_time) { if ($max_time <= static::$_count_time) {
//成功在id为{room_id}的直播间发送第{ii}次心跳 //成功在id为{room_id}的直播间发送第{ii}次心跳
} }
$minute = round(static::$_count_time / 60); $minute = round(static::$_count_time / 60) - 1;
Log::info("已在直播间 $room_id 连续观看了 $minute 分钟"); Log::info("已在直播间 $room_id 连续观看了 $minute 分钟");
return $r_data['heartbeat_interval']; return $r_data['heartbeat_interval'];
} }
@ -125,7 +128,11 @@ trait XliveHeartBeat
static::$_data['ts'] = time() * 1000; static::$_data['ts'] = time() * 1000;
static::$_data['s'] = static::encParamS(static::$_data, static::$_secret_rule); static::$_data['s'] = static::encParamS(static::$_data, static::$_secret_rule);
if (!static::$_data['s']) { if (!static::$_data['s']) {
return [404, '心跳加密错误', '心跳加密错误']; return [
'code' => 404,
'message' => '心跳加密错误',
'heartbeat_interval' => static::$_default
];
} }
$r_data = static::xHeartBeat(static::$_data['id']); $r_data = static::xHeartBeat(static::$_data['id']);
} }
@ -229,9 +236,9 @@ trait XliveHeartBeat
// Log::info("S加密成功 {$de_raw['s']}"); // Log::info("S加密成功 {$de_raw['s']}");
return $de_raw['s']; return $de_raw['s'];
} }
Log::warning("S加密失败 加密服务器暂时错误,请检查更换"); Log::warning("参数S加密失败: 加密服务器暂时错误,请检查更换");
} else { } else {
Log::warning("S加密失败 {$de_raw['message']}"); Log::warning("参数S加密失败: {$de_raw['message']}");
} }
return false; return false;
} }