ver_class); try { /** @var ISdkFactory $sdkObj */ $sdkFileClass = "App\\Http\\InterfaceClass\\SdkImpl\\{$channelClass}"; $sdkObj = new $sdkFileClass; if (!$sdkObj instanceof ISdkFactory) { throw new RuntimeException($channelClass . '不是ISdkFactory子类!'); } } catch (Exception $e) { $msg = '创建' . $channelClass . '类失败!'; throw new RuntimeException($msg); } return $sdkObj->login($verInfo,$gameInfo, $params); } /** * 支付 * @param $verInfo * @param $gameInfo * @param $params * @return array */ public function pay($verInfo, $gameInfo, $params): array { $channelClass = ucfirst($verInfo->ver_class); try { /** @var ISdkFactory $sdkObj */ $sdkFileClass = "App\\Http\\InterfaceClass\\SdkImpl\\{$channelClass}"; $sdkObj = new $sdkFileClass; if (!$sdkObj instanceof ISdkFactory) { throw new RuntimeException($channelClass . '不是ISdkFactory子类!'); } } catch (Exception $e) { $msg = '创建' . $channelClass . '类失败!'; throw new RuntimeException($msg); } return $sdkObj->pay($verInfo,$gameInfo, $params); } /** * 返回渠道订单号 * @param $verInfo * @param $gameInfo * @param $params * @return array */ public function createOrder($verInfo, $gameInfo, $params): string { $channelClass = ucfirst($verInfo->ver_class); try { /** @var ISdkFactory $sdkObj */ $sdkFileClass = "App\\Http\\InterfaceClass\\SdkImpl\\{$channelClass}"; $sdkObj = new $sdkFileClass; if (!$sdkObj instanceof ISdkFactory) { throw new RuntimeException($channelClass . '不是ISdkFactory子类!'); } } catch (Exception $e) { $msg = '创建' . $channelClass . '类失败!'; throw new RuntimeException($msg); } return $sdkObj->createOrder($verInfo,$gameInfo, $params); } }