Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
2025-12-06 00:16:26 +08:00
5 changed files with 24 additions and 26 deletions

View File

@@ -46,7 +46,7 @@ class Room extends BaseCom
public function user_room_history_list() public function user_room_history_list()
{ {
$page = input('page', 1); $page = input('page', 1);
$page_limit = input('page_limit', 15); $page_limit = input('page_limit', 30);
$reslut = model('UserData')->user_room_history_list($this->uid, $page, $page_limit); $reslut = model('UserData')->user_room_history_list($this->uid, $page, $page_limit);
return V($reslut['code'], $reslut['msg'], $reslut['data']); return V($reslut['code'], $reslut['msg'], $reslut['data']);
} }
@@ -114,6 +114,24 @@ class Room extends BaseCom
{ {
$room_id = input('room_id', 0); $room_id = input('room_id', 0);
$password = input('password', ''); $password = input('password', '');
//检测系统是否维护中
$is_maintenance = get_system_config_value('is_maintenance');
//获取内侧账号
$inside_uid = get_system_config_value('inside_uid');
if($inside_uid && $is_maintenance == 3){
//排除小房间
$room_type = db::name('vs_room')->where('id',$room_id)->value('type_id');
if($room_type != 6){
//先转为数组 不是内侧账号 返回301
$inside_uid = explode(',',$inside_uid);
//room id = 9 是武松打鼠的房间 暂定为内侧房间
if(in_array($this->uid,$inside_uid) && $room_id != 9){
return V(0, '不可访问');
}
}
}
$reslut = model('Room')->join_room($this->uid, $room_id, $password); $reslut = model('Room')->join_room($this->uid, $room_id, $password);
return V($reslut['code'], $reslut['msg'], $reslut['data']); return V($reslut['code'], $reslut['msg'], $reslut['data']);
} }

View File

@@ -908,29 +908,6 @@ class Room extends Model
$ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find(); $ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find();
$ttex['text'] = 'CP特效'; $ttex['text'] = 'CP特效';
model('api/Chat')->sendMsg(1080, $room_id, $ttex); model('api/Chat')->sendMsg(1080, $room_id, $ttex);
// 检查是否支持 pcntl 扩展
// if (function_exists('pcntl_fork')) {
// $pid = pcntl_fork();
//
// if ($pid == -1) {
// // 创建子进程失败,直接推送消息
// model('api/Chat')->sendMsg(1080, $room_id, $ttex);
// } elseif ($pid) {
// // 父进程,继续执行
// // 不等待子进程结束
// } else {
// // 子进程,延迟推送消息
// sleep(1);
// model('api/Chat')->sendMsg(1080, $room_id, $ttex);
// sleep(1);
// exit(0); // 子进程结束
// }
// } else {
// // 不支持 pcntl直接推送消息
// model('api/Chat')->sendMsg(1080, $room_id, $ttex);
// }
} }
} }
} }

View File

@@ -544,6 +544,7 @@ class User extends Model
public function add_user_visit_log($type,$from_uid,$to_uid){ public function add_user_visit_log($type,$from_uid,$to_uid){
$visit = db::name('user_visit_log')->where(['from_uid' => $from_uid,'to_id' => $to_uid,'type' => $type])->find(); $visit = db::name('user_visit_log')->where(['from_uid' => $from_uid,'to_id' => $to_uid,'type' => $type])->find();
if($visit){ if($visit){
db::name('user_visit_log')->where(['id' => $visit['id']])->update(['updatetime' => time()]);
return true; return true;
} }
$data = [ $data = [
@@ -551,6 +552,7 @@ class User extends Model
'from_uid' => $from_uid, 'from_uid' => $from_uid,
'to_id' => $to_uid, 'to_id' => $to_uid,
'createtime' => time(), 'createtime' => time(),
'updatetime' => time(),
]; ];
db::name('user_visit_log')->insert($data); db::name('user_visit_log')->insert($data);
return true; return true;

View File

@@ -433,7 +433,7 @@ class UserData extends Model
->where('a.type',2) ->where('a.type',2)
->where('b.type_id','<>',6) ->where('b.type_id','<>',6)
->where('b.room_status',1) ->where('b.room_status',1)
->order('a.id desc') ->order('a.updatetime desc')
->page($page,$page_limit) ->page($page,$page_limit)
->select(); ->select();
if($list){ if($list){

View File

@@ -45,11 +45,12 @@ class RoomPan
->find(); ->find();
if($is_online){//现在 在房间内 if($is_online){//现在 在房间内
if(time() - $value['updatetime'] >= 180){//三分钟没有心跳 if(time() - $value['updatetime'] >= 180){//三分钟没有心跳
db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]);
if($is_online['is_online'] == 2){//之前就是离开 if($is_online['is_online'] == 2){//之前就是离开
continue; continue;
}else{//之前就是在线则改为离开 }else{//之前就是在线则改为离开
db::name('vs_room_visitor')->where('id',$is_online['id'])->update(['is_online'=>2,'updatetime'=>time()]); db::name('vs_room_visitor')->where('id',$is_online['id'])->update(['is_online'=>2,'updatetime'=>time()]);
db::name('user')->where('id',$value['user_id'])->update(['is_online'=>2]);
$text['text'] = '离开'; $text['text'] = '离开';
$text['user_id'] = $value['user_id']; $text['user_id'] = $value['user_id'];
$text['type'] = 2; $text['type'] = 2;