refactor: ipd平台访问重定向为mobile view改为可配置
This commit is contained in:
@@ -178,3 +178,47 @@ if (!function_exists('date_format_i18n')) {
|
||||
return date($fmt, $timestamp);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('get_platform')) {
|
||||
/**
|
||||
* 获取平台
|
||||
* @return string
|
||||
*/
|
||||
function get_platform(): string
|
||||
{
|
||||
$detect = new \Detection\MobileDetect();
|
||||
$platform = 'pc';
|
||||
|
||||
if ($detect->isMobile() || $detect->isTablet()) {
|
||||
$platform = 'mobile';
|
||||
} else {
|
||||
// 在非移动端环境,根据配置规则判断是否要显示移动端
|
||||
$view_cfg = $view_cfg = [
|
||||
'rule' => env('VIEW_TPL.RULE', 'query'),
|
||||
'query' => [
|
||||
'name' => env('VIEW_TPL.RULE_QUERY_NAME', 'mtpl'),
|
||||
'value' => env('VIEW_TPL.RULE_QUERY_VALUE', '1'),
|
||||
],
|
||||
'domain' => [
|
||||
'scheme' => env('VIEW_TPL.RULE_DOMAIN_SCHEME', ['http']),
|
||||
'host' => env('VIEW_TPL.RULE_DOMAIN_HOST'),
|
||||
],
|
||||
];
|
||||
if ($view_cfg['rule'] == 'query') {
|
||||
$name = $view_cfg['query']['name'];
|
||||
$value = $view_cfg['query']['value'];
|
||||
if (request()->get($name) == $value) {
|
||||
$platform = 'mobile';
|
||||
}
|
||||
} elseif ($view_cfg['rule'] == 'domain') {
|
||||
$scheme = $view_cfg['domain']['scheme'];
|
||||
$host = $view_cfg['domain']['host'];
|
||||
if (in_array(request()->scheme(), $scheme) && $host == request()->host()) {
|
||||
$platform = 'mobile';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $platform;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user