|
|
@@ -31,6 +31,8 @@ class WebChannelConfigController
|
|
|
64 => 'FIRSTPAY_OFF30 (首冲打开30%bonus)',
|
|
|
128 => 'DEBUG_EVENT (是否开启事件日志上报)',
|
|
|
256 => 'REGION_UNIQUE (是否开启区域独立模式)',
|
|
|
+ 512 => 'FB_JUMP_LATER (fb内浏览器弹出时机在绑定手机后)',
|
|
|
+ 1024 => 'FB_JUMP_LATER2 (fb内浏览器弹出在点击提现后)',
|
|
|
];
|
|
|
|
|
|
public function index(Request $request)
|
|
|
@@ -51,12 +53,30 @@ class WebChannelConfigController
|
|
|
|
|
|
$regions = WebRegionConfig::all();
|
|
|
$regionMap = [];
|
|
|
+ $regionUrlMap = [];
|
|
|
foreach ($regions as $region) {
|
|
|
+ $logoUrl = $region->DomainUrl . $region->LogoUrl;
|
|
|
+ $isSvg = !empty($region->LogoUrl) && strtolower(pathinfo($region->LogoUrl, PATHINFO_EXTENSION)) === 'svg';
|
|
|
+
|
|
|
$regionMap[$region->RegionID] = [
|
|
|
'color' => $this->groupColors[$region->GroupID] ?? '#000000',
|
|
|
- 'logo' => $region->DomainUrl . $region->LogoUrl,
|
|
|
- 'has_logo' => !empty($region->LogoUrl)
|
|
|
+ 'logo' => $logoUrl,
|
|
|
+ 'has_logo' => !empty($region->LogoUrl),
|
|
|
+ 'is_svg' => $isSvg
|
|
|
];
|
|
|
+ // 构建区域的 URL 映射
|
|
|
+ $regionUrlMap[$region->RegionID] = $region->DomainUrl;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 为每条记录计算网站地址
|
|
|
+ $channelUrls = [];
|
|
|
+ foreach ($list as $item) {
|
|
|
+ $url = '';
|
|
|
+ // 优先:如果 WebChannelConfig 绑定了 RegionID,直接使用该 Region 的 URL
|
|
|
+ if (!empty($item->RegionID) && isset($regionUrlMap[$item->RegionID])) {
|
|
|
+ $url = rtrim($regionUrlMap[$item->RegionID], '/') . '/?c=' . $item->Channel;
|
|
|
+ }
|
|
|
+ $channelUrls[$item->ID] = $url;
|
|
|
}
|
|
|
|
|
|
return view('admin.web_channel_config.index', [
|
|
|
@@ -64,6 +84,7 @@ class WebChannelConfigController
|
|
|
'channel' => $channel,
|
|
|
'packageName' => $packageName,
|
|
|
'regionMap' => $regionMap,
|
|
|
+ 'channelUrls' => $channelUrls,
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
@@ -116,8 +137,8 @@ class WebChannelConfigController
|
|
|
$data['LightApk'] = $data['LightApk'] ?? '';
|
|
|
$data['FullApk'] = $data['FullApk'] ?? '';
|
|
|
$data['PlatformID'] = $data['PlatformID'] ?? '';
|
|
|
- $data['RegionID'] = $data['RegionID'] ?? '';
|
|
|
$data['PlatformToken'] = $data['PlatformToken'] ?? '';
|
|
|
+ $data['RegionID'] = $data['RegionID'] ?? '';
|
|
|
|
|
|
$config = WebChannelConfig::create($data);
|
|
|
|
|
|
@@ -154,7 +175,7 @@ class WebChannelConfigController
|
|
|
{
|
|
|
$data = $request->all();
|
|
|
$info = WebChannelConfig::findOrFail($id);
|
|
|
-
|
|
|
+
|
|
|
$validator = Validator::make($data, [
|
|
|
'PackageName' => 'required|string|max:200',
|
|
|
]);
|
|
|
@@ -193,9 +214,9 @@ class WebChannelConfigController
|
|
|
$data['LightApk'] = $data['LightApk'] ?? '';
|
|
|
$data['FullApk'] = $data['FullApk'] ?? '';
|
|
|
$data['PlatformID'] = $data['PlatformID'] ?? '';
|
|
|
+ $data['PlatformToken'] = $data['PlatformToken'] ?? '';
|
|
|
$data['RegionID'] = $data['RegionID'] ?? '';
|
|
|
$data['PlatformName'] = $data['PlatformName'] ?? '';
|
|
|
- $data['PlatformToken'] = $data['PlatformToken'] ?? '';
|
|
|
|
|
|
$oldRegionID = $info->RegionID;
|
|
|
$oldChannel = $info->Channel;
|
|
|
@@ -268,4 +289,60 @@ class WebChannelConfigController
|
|
|
|
|
|
return apiReturnSuc();
|
|
|
}
|
|
|
+
|
|
|
+ public function remarks(Request $request, $id)
|
|
|
+ {
|
|
|
+ $remark = $request->input('remark', '');
|
|
|
+
|
|
|
+ // 查找 WebChannelConfig 记录
|
|
|
+ $config = WebChannelConfig::find($id);
|
|
|
+ if (!$config) {
|
|
|
+ return apiReturnFail('记录不存在');
|
|
|
+ }
|
|
|
+
|
|
|
+ $channel = $config->Channel;
|
|
|
+ $packageName = $config->PackageName;
|
|
|
+
|
|
|
+ // 更新 WebChannelConfig 的备注
|
|
|
+ if (WebChannelConfig::where('Channel', $channel)->exists()) {
|
|
|
+ WebChannelConfig::where('Channel', $channel)->update(['Remarks' => $remark]);
|
|
|
+ } else {
|
|
|
+ // 如果不存在,使用渠道100的配置作为模板创建新记录
|
|
|
+ $templateConfig = WebChannelConfig::where('Channel', 100)->first();
|
|
|
+ if ($templateConfig) {
|
|
|
+ $configArray = $templateConfig->toArray();
|
|
|
+ $configArray['Remarks'] = $remark;
|
|
|
+ $configArray['Channel'] = $channel;
|
|
|
+ $configArray['PackageName'] = $packageName;
|
|
|
+ unset($configArray['ID']);
|
|
|
+ WebChannelConfig::insert($configArray);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步更新 dcat-admin.channel 表
|
|
|
+ $dcatChannel = DB::connection('mysql')->table('dcat-admin.channel')->where('channel', $channel);
|
|
|
+ if ($dcatChannel->exists()) {
|
|
|
+ $dcatChannel->update(['channel_name' => $remark]);
|
|
|
+ } else {
|
|
|
+ DB::connection('mysql')->table('dcat-admin.channel')->insert([
|
|
|
+ 'channel' => $channel,
|
|
|
+ 'channel_name' => $remark,
|
|
|
+ 'package_name' => '',
|
|
|
+ 'remark' => ''
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 同步更新 dcat-admin.channel_ownership 表
|
|
|
+ $dcatChannelOwnership = DB::connection('mysql')->table('dcat-admin.channel_ownership')->where('channel', $channel);
|
|
|
+ if ($dcatChannelOwnership->exists()) {
|
|
|
+ $dcatChannelOwnership->update(['name' => $remark]);
|
|
|
+ } else {
|
|
|
+ DB::connection('mysql')->table('dcat-admin.channel_ownership')->insert([
|
|
|
+ 'channel' => $channel,
|
|
|
+ 'name' => $remark
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ return apiReturnSuc('备注更新成功');
|
|
|
+ }
|
|
|
}
|