* @version : HuoMp 1.0 */ namespace box\api\controller; use box\common\controller\V2ApiBaseController; use huo\controller\game\GameCache; use huo\model\game\CategoryModel; use huo\model\slide\SlideItemModel; use huolib\constant\CategoryConst; use huolib\constant\GameConst; use huolib\constant\SlideConst; use huolib\status\CommonStatus; use huomp\logic\game\GameMiniCateListLogic; class HomeController extends V2ApiBaseController { /** * 盒子启动闪屏图926 * http://doc.huosdk.com/159?page_id=4732 * 【域名】/mp/startup */ public function startup() { $_game_rq = $this->setGameData(); $_app_id = $_game_rq->getHAppId(); $_rdata = [ 'splash_image' => '', 'mini_app_id' => '', 'url' => '', ]; $_ads = (new SlideItemModel())->getAdByCode(SlideConst::SLIDE_MP_SPLASH_IMAGE.$_app_id); if (!empty($_ads[0])) { $_ads = $_ads[0]; $_rdata['splash_image'] = get_val($_ads, 'image', ''); $_rdata['mini_app_id'] = get_val($_ads, 'mini_app_id', ''); if (!empty($_ads['game_id'])) { $_app_info = GameCache::ins()->getInfoByAppId($_ads['game_id']); $_rdata['url'] = empty($_app_info['gv'][0]['package_url']) ? '' : $_app_info['gv'][0]['package_url']; } } $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_rdata, $_code); } /** * 玩游戏首页912 * http://doc.1tsdk.com/159?page_id=4636 * 【域名】/play/index */ public function playIndex() { $_cates = (new CategoryModel())->getCatesByType(CategoryConst::CATE_TYPE_HOME_4); if (empty($_cates)) { $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_code); } $_cnt = 0; $_list = []; $_data = []; $_gmc_logic = new GameMiniCateListLogic(); $_si_model = new SlideItemModel(); foreach ($_cates as $_key => $_val) { $_data['type_id'] = $_val['type_id']; $_data['type_name'] = $_val['type_name']; $_data['item_cnt'] = $_val['item_cnt']; $_data['image'] = $_val['image']; $_param = ['status' => GameConst::GAME_STATUS_ON, 'classify' => GameConst::GAME_MP, 'cate_id' => $_val['type_id'], 'item_cnt' => $_val['item_cnt'], 'mem_id' => $this->mem_id ]; $_page = '1,'.$_data['item_cnt']; $_game_list = $_gmc_logic->getCateGameList($_param, $_page); if (empty($_game_list) || empty($_game_list['count'])) { continue; } $_data['game_cnt'] = $_game_list['count']; $_data['gamelist'] = $_game_list['list']; $_ads = $_si_model->getAdsByCode(CategoryConst::CATE_TYPE_HOME_SLIDE.$_val['type_id']); $_data['ads'] = !empty($_ads) ? $_ads[0] : []; $_list[] = $_data; $_cnt++; } $_mptopper_slides = $_si_model->getAdsByCode(SlideConst::SLIDE_MP_TOPPER); $_top_ads = [ 'count' => count($_mptopper_slides), 'list' => $_mptopper_slides ]; $_rdata = ['count' => $_cnt, 'list' => $_list, 'topads' => $_top_ads]; $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_rdata, $_code); } }