HomeController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * HomeController.php UTF-8
  4. * 首页
  5. *
  6. * @date : 2018/9/13 10:24
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : wuyonghong <wyh@huosdk.com>
  10. * @version : HuoMp 1.0
  11. */
  12. namespace box\api\controller;
  13. use box\common\controller\V2ApiBaseController;
  14. use huo\controller\game\GameCache;
  15. use huo\model\game\CategoryModel;
  16. use huo\model\slide\SlideItemModel;
  17. use huolib\constant\CategoryConst;
  18. use huolib\constant\GameConst;
  19. use huolib\constant\SlideConst;
  20. use huolib\status\CommonStatus;
  21. use huomp\logic\game\GameMiniCateListLogic;
  22. class HomeController extends V2ApiBaseController {
  23. /**
  24. * 盒子启动闪屏图926
  25. * http://doc.huosdk.com/159?page_id=4732
  26. * 【域名】/mp/startup
  27. */
  28. public function startup() {
  29. $_game_rq = $this->setGameData();
  30. $_app_id = $_game_rq->getHAppId();
  31. $_rdata = [
  32. 'splash_image' => '',
  33. 'mini_app_id' => '',
  34. 'url' => '',
  35. ];
  36. $_ads = (new SlideItemModel())->getAdByCode(SlideConst::SLIDE_MP_SPLASH_IMAGE.$_app_id);
  37. if (!empty($_ads[0])) {
  38. $_ads = $_ads[0];
  39. $_rdata['splash_image'] = get_val($_ads, 'image', '');
  40. $_rdata['mini_app_id'] = get_val($_ads, 'mini_app_id', '');
  41. if (!empty($_ads['game_id'])) {
  42. $_app_info = GameCache::ins()->getInfoByAppId($_ads['game_id']);
  43. $_rdata['url'] = empty($_app_info['gv'][0]['package_url']) ? '' : $_app_info['gv'][0]['package_url'];
  44. }
  45. }
  46. $_code = CommonStatus::NO_ERROR;
  47. $this->success(CommonStatus::getMsg($_code), $_rdata, $_code);
  48. }
  49. /**
  50. * 玩游戏首页912
  51. * http://doc.1tsdk.com/159?page_id=4636
  52. * 【域名】/play/index
  53. */
  54. public function playIndex() {
  55. $_cates = (new CategoryModel())->getCatesByType(CategoryConst::CATE_TYPE_HOME_4);
  56. if (empty($_cates)) {
  57. $_code = CommonStatus::NO_ERROR;
  58. $this->success(CommonStatus::getMsg($_code), $_code);
  59. }
  60. $_cnt = 0;
  61. $_list = [];
  62. $_data = [];
  63. $_gmc_logic = new GameMiniCateListLogic();
  64. $_si_model = new SlideItemModel();
  65. foreach ($_cates as $_key => $_val) {
  66. $_data['type_id'] = $_val['type_id'];
  67. $_data['type_name'] = $_val['type_name'];
  68. $_data['item_cnt'] = $_val['item_cnt'];
  69. $_data['image'] = $_val['image'];
  70. $_param = ['status' => GameConst::GAME_STATUS_ON,
  71. 'classify' => GameConst::GAME_MP,
  72. 'cate_id' => $_val['type_id'],
  73. 'item_cnt' => $_val['item_cnt'],
  74. 'mem_id' => $this->mem_id
  75. ];
  76. $_page = '1,'.$_data['item_cnt'];
  77. $_game_list = $_gmc_logic->getCateGameList($_param, $_page);
  78. if (empty($_game_list) || empty($_game_list['count'])) {
  79. continue;
  80. }
  81. $_data['game_cnt'] = $_game_list['count'];
  82. $_data['gamelist'] = $_game_list['list'];
  83. $_ads = $_si_model->getAdsByCode(CategoryConst::CATE_TYPE_HOME_SLIDE.$_val['type_id']);
  84. $_data['ads'] = !empty($_ads) ? $_ads[0] : [];
  85. $_list[] = $_data;
  86. $_cnt++;
  87. }
  88. $_mptopper_slides = $_si_model->getAdsByCode(SlideConst::SLIDE_MP_TOPPER);
  89. $_top_ads = [
  90. 'count' => count($_mptopper_slides),
  91. 'list' => $_mptopper_slides
  92. ];
  93. $_rdata = ['count' => $_cnt, 'list' => $_list, 'topads' => $_top_ads];
  94. $_code = CommonStatus::NO_ERROR;
  95. $this->success(CommonStatus::getMsg($_code), $_rdata, $_code);
  96. }
  97. }