Backend additions: - UserConnectService, ScanConnectService: connection logging - ToBetCommonService, ToBetBaccaratService: bet rejection/success logging - ResetBoot, ResetNumberTab, ResetBaccarat, ResetDt: reset event logging - handle/Index: log_report controller method (fixes route for dealer端) - index/Log: log_report controller for player端 (no auth required) Frontend: - error-report.js: fix report URL to /index/log_report (matches handle controller) Total: 21 backend files with 60 Logger calls across 5 categories
46 lines
1.8 KiB
PHP
46 lines
1.8 KiB
PHP
<?php
|
|
|
|
|
|
namespace app\services\connect;
|
|
|
|
|
|
use app\models\user\User;
|
|
use app\utils\Logger;
|
|
use freedom\utils\SocketSession;
|
|
use think\Request;
|
|
|
|
/**
|
|
* TODO 会员登录服务
|
|
* Class UserConnectService
|
|
* @package app\services\connect
|
|
*/
|
|
class UserConnectService
|
|
{
|
|
/**
|
|
* TODO 控制台登录处理
|
|
* @param Request $event
|
|
* @return void
|
|
*/
|
|
public static function doUserConnect(Request $event){
|
|
$ws = app('\think\swoole\WebSocket');
|
|
$userId = intval($event->get('userid'));
|
|
$loginToken = trim($event->get('login_token'));
|
|
$username = trim($event->get('account'));
|
|
if(isset($username) && isset($loginToken) && isset($userId) && $userId > 0){
|
|
$userInfo = User::get(['id' => $userId, 'status' => 1, 'is_delete' => 0]);
|
|
if($userInfo && $userInfo['login_token'] == $loginToken && $username == $userInfo['username']){
|
|
SocketSession::saveSocketSession(['user_id' => $userId, 'username' => $username],'user');
|
|
$ws->emit('onlineLogin',['status' => true, 'money' => $userInfo['money']]);
|
|
Logger::info(Logger::CAT_CONNECT, 'user_login_success', ['user_id' => $userId, 'username' => $username]);
|
|
}else{
|
|
$ws->emit('onlineLogin',['status' => false, 'money' => 0, 'msg' => 'link_server_fail']);
|
|
$ws->close();
|
|
Logger::warn(Logger::CAT_CONNECT, 'user_login_auth_fail', ['user_id' => $userId, 'username' => $username, 'reason' => 'token_or_user_mismatch']);
|
|
}
|
|
}else{
|
|
$ws->emit('onlineLogin',['status' => false, 'money' => 0, 'msg' => 'link_server_fail']);
|
|
$ws->close();
|
|
Logger::warn(Logger::CAT_CONNECT, 'user_login_param_missing', ['user_id' => $userId, 'username' => $username ?? '']);
|
|
}
|
|
}
|
|
} |