logic = new MediaListLogic(); parent::__construct(); } /** * https://api.com/MediaOAuth/callback/{channel} * state={cmid:1} * cmid 是广告app的表id */ public function callback(Request $request, string $channel): Response { $callback = $request->get(); $channel = ucfirst($channel); // 如 "toutiao" → "Toutiao"" $channelClass = "app\\adapter\\{$channel}Adapter"; // 适配器类名 $oathInfo = (new $channelClass)->OAuth($callback); // 写授权结果 (new $channelClass)->writeOAuthResult($oathInfo); // 写入广告账户列表 (new $channelClass)->getSubAccounts($oathInfo); // 刷新token (new $channelClass)->refreshToken($oathInfo); return $this->success(); } }