This commit is contained in:
azw 2023-07-30 14:13:23 +08:00
parent 9017463ff0
commit 7b356dbcd5
2 changed files with 45 additions and 26 deletions

View File

@ -5,37 +5,17 @@
需要对web3service回调的做签名校验!!! 需要对web3service回调的做签名校验!!!
*/ */
class CallbackController extends BaseController { require_once('services/CallBack.php');
private $handlers = array( use services\CallBackService;
'mintNftHero' => 'MintNftHero' ,
'gameItemMallBuyOk' => 'GameItemMallBuyOk', class CallbackController extends BaseController {
'gameItemMarketBuyOk' => 'GameItemMarketBuyOk',
'MarketSellOrderOk' => 'MarketSellOrderOk',
'MarketBuyOrderOk' => 'MarketBuyOrderOk',
'MarketCancelOrderOk' => 'MarketCancelOrderOk',
'MarketPriceUpdateOrderOk' => 'MarketPriceUpdateOrderOk',
'inappPurchase' => 'InAppPurchase',
'outappPurchase' => 'OutAppPurchase',
);
public function dispatch() public function dispatch()
{ {
error_log("CallbackController Begin"); $cbService = new CallBackService();
$action = getReqVal('action', ''); $action = getReqVal('action', '');
if (key_exists($action, $this->handlers)) { $cbService->dispatch($action);
error_log("Callback:dispatch____". json_encode($_REQUEST));
$this->internalDispatch($this->handlers[$action]);
} else {
$this->_rspErr(500, 'not found');
}
}
private function internalDispatch($className)
{
require_once ('services/callback/' . $className . '.php');
$obj = eval("return new services\\" . $className . "();");
$obj->process();
} }
} }

View File

@ -0,0 +1,39 @@
<?php
namespace services;
class CallBackService extends BaseService {
private $handlers = array(
'mintNftHero' => 'MintNftHero' ,
'gameItemMallBuyOk' => 'GameItemMallBuyOk',
'gameItemMarketBuyOk' => 'GameItemMarketBuyOk',
'MarketSellOrderOk' => 'MarketSellOrderOk',
'MarketBuyOrderOk' => 'MarketBuyOrderOk',
'MarketCancelOrderOk' => 'MarketCancelOrderOk',
'MarketPriceUpdateOrderOk' => 'MarketPriceUpdateOrderOk',
'inappPurchase' => 'InAppPurchase',
'outappPurchase' => 'OutAppPurchase',
);
public function dispatch($action)
{
error_log("CallbackController Begin");
if (key_exists($action, $this->handlers)) {
error_log("Callback:dispatch____". json_encode($_REQUEST));
$this->internalDispatch($this->handlers[$action]);
} else {
myself()->_rspErr(500, 'not found');
die();
}
}
private function internalDispatch($className)
{
require_once ('services/callback/' . $className . '.php');
$obj = eval("return new services\\" . $className . "();");
$obj->process();
die();
}
}