259 lines
11 KiB
PHP
259 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']);
|
|
});
|
|
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;
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|