|
@@ -72,6 +72,29 @@ class RouteService
|
|
|
public static function clearChannelConfig(){
|
|
public static function clearChannelConfig(){
|
|
|
self::$_ChannelConfig=null;
|
|
self::$_ChannelConfig=null;
|
|
|
}
|
|
}
|
|
|
|
|
+ public static function getRegionConfig()
|
|
|
|
|
+ {
|
|
|
|
|
+ $RegionID = $_REQUEST['regionid'] ?? '';
|
|
|
|
|
+ if (empty($RegionID) ) {
|
|
|
|
|
+ $origin = ($_SERVER['HTTP_ORIGIN'] ?? $_SERVER['HTTP_REFERER'] ??'');
|
|
|
|
|
+ if(!empty($origin)) {
|
|
|
|
|
+ $RegionID = explode('.', $origin)[str_starts_with($origin, 'www') ? 1 : 0];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(empty($RegionID)) {
|
|
|
|
|
+ $RegionID= env('DEFAULT_REGIONID','winus777');
|
|
|
|
|
+ }
|
|
|
|
|
+ $regionConfig = WebRegionConfig::query()->where('RegionID', $RegionID)->first();
|
|
|
|
|
+ if ($regionConfig) return $regionConfig;
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ public static function getThemeKey()
|
|
|
|
|
+ {
|
|
|
|
|
+ $regionConfig=self::getRegionConfig();
|
|
|
|
|
+ if($regionConfig)return $regionConfig->ThemeKey;
|
|
|
|
|
+ return env('DEFAULT_THEME_KEY','Theme1');
|
|
|
|
|
+ }
|
|
|
/**
|
|
/**
|
|
|
* @param Request|null $request
|
|
* @param Request|null $request
|
|
|
* @return WebChannelConfig|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|\LaravelIdea\Helper\App\Game\_IH_WebChannelConfig_QB|mixed|object|null
|
|
* @return WebChannelConfig|\Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|\LaravelIdea\Helper\App\Game\_IH_WebChannelConfig_QB|mixed|object|null
|
|
@@ -95,34 +118,24 @@ class RouteService
|
|
|
public static function getChannel(Request $request=null)
|
|
public static function getChannel(Request $request=null)
|
|
|
{
|
|
{
|
|
|
//从参数获取
|
|
//从参数获取
|
|
|
- if(!$request){
|
|
|
|
|
- $origin = $_SERVER['HTTP_ORIGIN'] ??$_SERVER['HTTP_REFERER']?? '*';
|
|
|
|
|
- if(isset($_REQUEST['c'])&&!empty($_REQUEST['c'])){
|
|
|
|
|
- $Channel=$_REQUEST['c'];
|
|
|
|
|
- $Channel=explode('/',$Channel)[0];
|
|
|
|
|
- }
|
|
|
|
|
- // 处理 pixel 参数(与 $request 分支保持一致)
|
|
|
|
|
- if((!isset($Channel) || !$Channel) && isset($_REQUEST['pixel']) && !empty($_REQUEST['pixel'])){
|
|
|
|
|
- $pixel = trim($_REQUEST['pixel']);
|
|
|
|
|
- if($pixel){
|
|
|
|
|
- $config = WebChannelConfig::where('PlatformID', $pixel)->first();
|
|
|
|
|
- if($config){
|
|
|
|
|
- $Channel = $config->Channel;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }else{
|
|
|
|
|
- $origin = $request->server('HTTP_ORIGIN') ?? $request->server('HTTP_REFERER') ?? '*';
|
|
|
|
|
- $Channel=$request->input('c','');
|
|
|
|
|
- $Channel=explode('/',$Channel)[0];
|
|
|
|
|
- $pixel = trim($request->input('pixel',''));
|
|
|
|
|
- if(!$Channel && $pixel){
|
|
|
|
|
|
|
+ $origin = $request
|
|
|
|
|
+ ? ($request->server('HTTP_ORIGIN') ?? $request->server('HTTP_REFERER') ?? '*')
|
|
|
|
|
+ : ($_SERVER['HTTP_ORIGIN'] ?? $_SERVER['HTTP_REFERER'] ?? '*');
|
|
|
|
|
+
|
|
|
|
|
+ $Channel = $request ? $request->input('c', '') : ($_REQUEST['c'] ?? '');
|
|
|
|
|
+ $Channel = explode('/', $Channel)[0];
|
|
|
|
|
+
|
|
|
|
|
+ // 如果没有 Channel,尝试从 pixel 获取
|
|
|
|
|
+ if (!$Channel) {
|
|
|
|
|
+ $pixel = trim($request ? $request->input('pixel', '') : ($_REQUEST['pixel'] ?? ''));
|
|
|
|
|
+ if ($pixel) {
|
|
|
$config = WebChannelConfig::where('PlatformID', $pixel)->first();
|
|
$config = WebChannelConfig::where('PlatformID', $pixel)->first();
|
|
|
- if($config){
|
|
|
|
|
|
|
+ if ($config) {
|
|
|
$Channel = $config->Channel;
|
|
$Channel = $config->Channel;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
//从用户获取
|
|
//从用户获取
|
|
|
if(GlobalUserInfo::$me){
|
|
if(GlobalUserInfo::$me){
|
|
|
$Channel=GlobalUserInfo::$me->Channel;
|
|
$Channel=GlobalUserInfo::$me->Channel;
|
|
@@ -133,26 +146,20 @@ class RouteService
|
|
|
$Channel = $link->Channel;
|
|
$Channel = $link->Channel;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ //默认值用region绑定
|
|
|
|
|
|
|
|
- //TODO 根据域名获取渠道
|
|
|
|
|
- //默认站点
|
|
|
|
|
- if(!isset($Channel)||!$Channel||$Channel==env('REGION_24680_DEFAULT_CHANNEL',100)) {
|
|
|
|
|
-
|
|
|
|
|
- $region = WebRegionConfig::where('DomainUrl', $origin)->first();
|
|
|
|
|
-
|
|
|
|
|
- if ($region) {
|
|
|
|
|
- $bindChannels = is_array($region->BindChannels) ? $region->BindChannels : [];
|
|
|
|
|
- if ($bindChannels) {
|
|
|
|
|
- $Channel = @$bindChannels[0];
|
|
|
|
|
|
|
+ if(empty($Channel)||$Channel==env('REGION_24680_DEFAULT_CHANNEL',100)) {
|
|
|
|
|
+ //根据域名获取渠道
|
|
|
|
|
+ $RegionID = $request ? $request->input('regionid', '') : ($_REQUEST['regionid'] ?? '');
|
|
|
|
|
+ if (empty($RegionID) && !empty($origin)) {
|
|
|
|
|
+ $RegionID = explode('.', $origin)[str_starts_with($origin, 'www') ? 1 : 0];
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!empty($RegionID)) {
|
|
|
|
|
+ $exist = WebChannelConfig::where('RegionID', $RegionID)->whereRaw('SpecialMode&' . SPECIAL_MODE_REGION_UNIQUE)->value('Channel');
|
|
|
|
|
+ if ($exist) {
|
|
|
|
|
+ $Channel = $exist;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-// if (strstr($origin, "24680.pro") || strstr($origin, "localhost")) {
|
|
|
|
|
-// $Channel = 100;
|
|
|
|
|
-// } else {
|
|
|
|
|
-// $Channel = env('REGION_24680_DEFAULT_CHANNEL',100);
|
|
|
|
|
-// }
|
|
|
|
|
}
|
|
}
|
|
|
return $Channel??env('REGION_24680_DEFAULT_CHANNEL',100);
|
|
return $Channel??env('REGION_24680_DEFAULT_CHANNEL',100);
|
|
|
}
|
|
}
|
|
@@ -163,7 +170,7 @@ class RouteService
|
|
|
// $Channel=$_REQUEST['c'];
|
|
// $Channel=$_REQUEST['c'];
|
|
|
// $Channel=explode('/',$Channel)[0];
|
|
// $Channel=explode('/',$Channel)[0];
|
|
|
// }
|
|
// }
|
|
|
- if (strstr($origin, "test")) {
|
|
|
|
|
|
|
+ if (strstr($origin, "test")||strstr($origin, "dev")) {
|
|
|
// $Channel = 44;
|
|
// $Channel = 44;
|
|
|
return $origin;
|
|
return $origin;
|
|
|
}
|
|
}
|