1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-27 21:10:24 +08:00
2021-01-02 14:36:07 +08:00

65 lines
1.3 KiB
PHP

<?php
namespace App\Traits;
use App\Models\Client as ClientModel;
use Phalcon\Di;
use Phalcon\Http\Request;
use WhichBrowser\Parser as BrowserParser;
trait Client
{
public function getClientIp()
{
/**
* @var Request $request
*/
$request = Di::getDefault()->get('request');
return $request->getClientAddress();
}
public function getClientType()
{
/**
* @var Request $request
*/
$request = Di::getDefault()->get('request');
$platform = $request->getHeader('X-Platform');
$types = array_flip(ClientModel::types());
if (!empty($platform) && isset($types[$platform])) {
return $types[$platform];
}
$userAgent = $request->getServer('HTTP_USER_AGENT');
$result = new BrowserParser($userAgent);
$clientType = ClientModel::TYPE_PC;
if ($result->isMobile()) {
$clientType = ClientModel::TYPE_H5;
}
return $clientType;
}
public function isMobileBrowser()
{
/**
* @var Request $request
*/
$request = Di::getDefault()->get('request');
$userAgent = $request->getServer('HTTP_USER_AGENT');
$result = new BrowserParser($userAgent);
return $result->isMobile();
}
}