261 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file is part of webman.
 | |
|  *
 | |
|  * Licensed under The MIT License
 | |
|  * For full copyright and license information, please see the MIT-LICENSE.txt
 | |
|  * Redistributions of files must retain the above copyright notice.
 | |
|  *
 | |
|  * @author    walkor<walkor@workerman.net>
 | |
|  * @copyright walkor<walkor@workerman.net>
 | |
|  * @link      http://www.workerman.net/
 | |
|  * @license   http://www.opensource.org/licenses/mit-license.php MIT License
 | |
|  */
 | |
| 
 | |
| //use app\controller\IndexController;
 | |
| use app\controller\AdController;
 | |
| use app\controller\BpsAdController;
 | |
| use app\controller\OAuthController;
 | |
| //use app\controller\NoticeController;
 | |
| use app\controller\CustomerController;
 | |
| use app\controller\GoogleAdsController;
 | |
| use support\Request;
 | |
| use Webman\Route;
 | |
| 
 | |
| 
 | |
| //Route::group('/googleads', function () {
 | |
| //    Route::group('/campaign', function () {
 | |
| //        Route::post('/create', 'GoogleAdsController@createCampaign');
 | |
| //    });
 | |
| //    Route::group('/campaign_budget', function () {
 | |
| //        Route::post('/create', 'GoogleAdsController@createCampaignBudget');
 | |
| //    });
 | |
| //});
 | |
| 
 | |
| //三平台合并后的路由2025-1-9
 | |
| Route::group('/marketing', function () {
 | |
|     Route::group('/v18', function () {
 | |
|         Route::group('/ad', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listAds']);
 | |
|             Route::post('/export', [BpsAdController::class, 'exportAdsToExcel']);
 | |
| //            Route::group('/status', function () {
 | |
| //                Route::post('/update', [BpsAdController::class, 'updateAdStatus']);
 | |
| ////                Route::post('/get', [AdController::class, 'getAdStatus']);
 | |
| //            });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
| 
 | |
|         Route::group('/campaign', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listCampaigns']);
 | |
|             Route::post('/export', [BpsAdController::class, 'exportCampaignsToExcel']);
 | |
| //            Route::group('/status', function () {
 | |
| //                Route::post('/update', [BpsAdController::class, 'updateCampaignStatus']);
 | |
| //                Route::post('/get', [BpsAdController::class, 'getCampaignStatus']);
 | |
| //        });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/adset', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listAdsets']);
 | |
|             Route::post('/export', [BpsAdController::class, 'exportAdsetsToExcel']);
 | |
| //            Route::group('/status', function () {
 | |
| //                Route::post('/update', [BpsAdController::class, 'updateGroupStatus']);
 | |
| ////                Route::post('/get', [BpsAdController::class, 'getGroupStatus']);
 | |
| //            });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/account', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listAccounts']);
 | |
|             Route::post('/export', [BpsAdController::class, 'exportAccountsToExcel']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/badge', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listAdBadges']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/creative', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listCreatives']);
 | |
|             Route::post('/export', [BpsAdController::class, 'exportCreativesToExcel']);
 | |
|             Route::post('/chart', [BpsAdController::class, 'listCharts']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/dashboard', function () {
 | |
|             Route::post('/ad_card', [BpsAdController::class, 'listCards']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/landing', function () {
 | |
|             Route::post('/list', [BpsAdController::class, 'listLandingUrls']);
 | |
| //            Route::post('/export', [BpsAdController::class, 'exportLandingUrlsToExcel']);
 | |
| //            Route::post('/chart', [BpsAdController::class, 'listCharts']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthThirdCheck::class,
 | |
|         ]);
 | |
|         Route::group('/notice', function () {
 | |
|             Route::post('/aggregate', [BpsAdController::class, 'aggregateAd']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|         ]);
 | |
|         Route::group('/customer', function () {
 | |
|             Route::get('/handle_binding', [CustomerController::class, 'handleBindingNew']); //绑定接口
 | |
|             Route::post('/bind', [CustomerController::class, 'bind']); //绑定接口
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|         ]);
 | |
|     });
 | |
| });
 | |
| 
 | |
| //未合并前使用的google广告路由
 | |
| Route::group('/googleads', function () {
 | |
| 
 | |
|     Route::group('/v18', function () {
 | |
|         Route::group('/ad', function () {
 | |
|             Route::post('/list', [AdController::class, 'listAds']);
 | |
|             Route::post('/export', [AdController::class, 'exportAdsToExcel']);
 | |
|             Route::group('/status', function () {
 | |
|                 Route::post('/update', [AdController::class, 'updateAdStatus']);
 | |
| //                Route::post('/get', [AdController::class, 'getAdStatus']);
 | |
|             });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthCheck::class,
 | |
|         ]);
 | |
| 
 | |
|         Route::group('/campaign', function () {
 | |
|             Route::post('/list', [AdController::class, 'listCampaigns']);
 | |
|             Route::post('/export', [AdController::class, 'exportCampaignsToExcel']);
 | |
|             Route::group('/status', function () {
 | |
|                 Route::post('/update', [AdController::class, 'updateCampaignStatus']);
 | |
| //                Route::post('/get', [AdController::class, 'getCampaignStatus']);
 | |
|             });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthCheck::class,
 | |
|         ]);
 | |
|         Route::group('/adgroup', function () {
 | |
|             Route::post('/list', [AdController::class, 'listGroups']);
 | |
|             Route::post('/export', [AdController::class, 'exportGroupsToExcel']);
 | |
|             Route::group('/status', function () {
 | |
|                 Route::post('/update', [AdController::class, 'updateGroupStatus']);
 | |
| //                Route::post('/get', [AdController::class, 'getGroupStatus']);
 | |
|             });
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthCheck::class,
 | |
|         ]);
 | |
|         Route::group('/asset', function () {
 | |
|             Route::post('/list', [AdController::class, 'listAssets']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthCheck::class,
 | |
|         ]);
 | |
|         Route::group('/customer', function () {
 | |
|             Route::post('/list', [CustomerController::class, 'getCustomerList']); //调试用
 | |
|             Route::post('/list_resource', [CustomerController::class, 'accessibleCustomers']);  //调试用
 | |
|             Route::post('/list_tree', [CustomerController::class, 'accountHierarchy']);  //调试用
 | |
|             Route::post('/access_role', [CustomerController::class, 'accountAccess']);
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|             app\middleware\OauthCheck::class,
 | |
|         ]);
 | |
| 
 | |
|         Route::group('/auth', function () {
 | |
|             Route::get('/code', [OAuthController::class, 'getAuthCode']);
 | |
|             Route::post('/callback', [OAuthController::class, 'handleCallback']); // 授权回调
 | |
| //            Route::post('/auth_callback', [OAuthController::class, 'handleCallbackNew']); //对接育才的授权回调
 | |
|             Route::post('/refresh_token_get', [OAuthController::class, 'getRefreshToken']);
 | |
|             Route::post('/refresh_token_use', [OAuthController::class, 'useRefreshToken']);
 | |
|             Route::post('/refresh_token_test', [OAuthController::class, 'testRefreshToken']);
 | |
|             Route::post('/refresh_token_revoke', [OAuthController::class, 'revokeRefreshToken']);
 | |
|             Route::post('/list_third_status', [OAuthController::class, 'listThirdUserInfos']); //作废2025-2-13
 | |
|         })->middleware([
 | |
|             app\middleware\JwtLocal::class,
 | |
|         ]);
 | |
|     });
 | |
| 
 | |
| 
 | |
|     Route::group('/campaign', function () {
 | |
|         Route::post('/create', [GoogleAdsController::class, 'createCampaign']);
 | |
|     });
 | |
|     Route::group('/campaign', function () {
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listCampaigns']);
 | |
| //        Route::post('/list', [GoogleAdsController::class, 'listCampaignsNext']);
 | |
|     });
 | |
|     Route::group('/campaign', function () {
 | |
|         Route::post('/update', [GoogleAdsController::class, 'updateCampaign']);
 | |
|     });
 | |
|     Route::group('/campaign', function () {
 | |
|         Route::post('/delete', [GoogleAdsController::class, 'deleteCampaign']);
 | |
|     });
 | |
|     Route::group('/campaign_budget', function () {
 | |
|         Route::post('/create', [GoogleAdsController::class, 'createCampaignBudget']);
 | |
|     });
 | |
|     Route::group('/group', function () {
 | |
|         Route::post('/create', [GoogleAdsController::class, 'createGroup']);
 | |
|     });
 | |
|     Route::group('/group', function () {
 | |
|         Route::post('/update', [GoogleAdsController::class, 'updateGroup']);
 | |
|     });
 | |
|     Route::group('/group', function () {
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listGroups']);
 | |
|     });
 | |
|     Route::group('/asset', function () {
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listAssets']);
 | |
|     });
 | |
|     Route::group('/asset_relation', function () {
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listAssetRelations']);
 | |
|     });
 | |
|     Route::group('/ad', function () {
 | |
|         Route::post('/update', [GoogleAdsController::class, 'updateAd']);
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listAds']);
 | |
|         Route::group('/responsive_search', function () {
 | |
|             Route::post('/list', [GoogleAdsController::class, 'listResponsiveSearchAds']);
 | |
|             Route::post('/update', [GoogleAdsController::class, 'updateResponsiveSearchAd']);
 | |
|         });
 | |
|         Route::group('/fields', function () {
 | |
|             Route::post('/list', [GoogleAdsController::class, 'listGoogleAdsFields']);
 | |
|         });
 | |
|     });
 | |
| 
 | |
|     Route::group('/account_link', function () {
 | |
|         Route::post('/create', [GoogleAdsController::class, 'createLinkManagerToClient']);
 | |
|     });
 | |
| 
 | |
|     Route::group('/datedata', function () {
 | |
|         Route::post('/list', [GoogleAdsController::class, 'listDateDatas']);
 | |
|     });
 | |
| });
 | |
| 
 | |
| Route::fallback(function (Request $request) {
 | |
|     $response = strtoupper($request->method()) === 'OPTIONS' ? response('', 204) : response('', 404);
 | |
|     $response->withHeaders([
 | |
|         'Access-Control-Allow-Credentials' => 'true',
 | |
|         'Access-Control-Allow-Origin' => "*",
 | |
|         'Access-Control-Allow-Methods' => '*',
 | |
|         'Access-Control-Allow-Headers' => 'Authorization, Content-Length, X-CSRF-Token,X-Request-Id, Accept, Origin, Host, Connection, Accept-Encoding, Accept-Language, Keep-Alive, User-Agent, Content-Type',
 | |
|     ]);
 | |
|     return $response;
 | |
| });
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | 
