* @version : H5IOS 1.0 */ namespace huosdk\h5ios\sdk\controller; use huolib\status\CommonStatus; use huosdk\h5ios\core\controller\ApplePay; use huosdk\h5ios\core\controller\Game; use huosdk\h5ios\core\model\GameModel; use huosdk\h5ios\core\status\OrderStatus; use huosdk\h5ios\core\tool\StrUtils; class H5IosController extends CommonController { public function _initialize() { parent::_initialize(); } /** * app启动(激活) * https://doc.huosdk.com/web/#/232?page_id=14279 * 【域名】/vb/sdk/init */ public function init() { $_game_rq = $this->setGameData(); $_channel_rq = $this->setChannelData(); $_app_id = $_game_rq->getHAppId(); if (empty($_app_id) && !is_integer($_app_id)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code).':app_id', [], $_code); } $_rs = (new Game())->getGameUrl($_app_id, $_channel_rq->getAgentId()); $this->returnData($_rs); } /** * 苹果验单 * https://doc.huosdk.com/web/#/232?page_id=14282 * 【域名】/vb/sdk/check */ public function check() { $_order_data = get_val($this->rq_data, 'order', []); $_game_rq = $this->setGameData(); $_device_rq = $this->setDeviceData(); if (empty($_order_data)) { $_code = OrderStatus::INVALID_PARAMS; $this->error(OrderStatus::getMsg($_code), [], $_code); } if (empty($_order_data['product_id']) || empty($_order_data['trans_id']) || empty($_order_data['receipt_data']) || !isset($_order_data['order_id']) || !isset($_order_data['sandbox'])) { $_code = OrderStatus::INVALID_PARAMS; $this->error(OrderStatus::getMsg($_code), [], $_code); } $_receipt_data = StrUtils::trimAll($_order_data['receipt_data']); $_apple_id = $_game_rq->getAppleId(); if (empty($_apple_id)) { $_apple_id = (new GameModel())->getAppleIdById($_game_rq->getHAppId()); if (!empty($_apple_id)) { $_game_rq->setAppleId($_apple_id); } } $_rs = (new ApplePay())->orderQuery( $_order_data['order_id'], $_order_data['trans_id'], $_receipt_data, $_order_data['sandbox'], $_device_rq->getMac(), $_apple_id ); $this->returnData($_rs); } }