webman_ad/config/route.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;
});