Index.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. <?php
  2. /**
  3. * 官网首页
  4. */
  5. namespace app\mobile\controller;
  6. use app\common\model\GameHome as Game;
  7. use app\common\model\GameInfo;
  8. use app\common\model\News;
  9. use app\common\model\Links;
  10. use app\common\model\SdkGameList;
  11. use think\Db;
  12. use think\Config;
  13. class Index extends Mobile
  14. {
  15. protected $serstatus = [
  16. 1 => '预告',
  17. 2 => '开服',
  18. 3 => '删档内测',
  19. 4 => '不删档内测',
  20. 5 => '公测'
  21. ];
  22. public function index()
  23. {
  24. $gameModel = new Game;
  25. $gameInfoModel = new GameInfo;
  26. //获取热门游戏列表
  27. $hotGameList = $gameInfoModel->getMobileGameInfoByLanmu(['g.lanmu'=>2],3);
  28. foreach ( $hotGameList as &$game ) {
  29. $game['mobileicon'] = "http://static.46yx.com/".$game['mobileicon'];
  30. $game['url'] = '';
  31. // $game['url'] = getMobileGameUrl($game['id']);
  32. if($game['platform']==1){
  33. $game['download'] = '';
  34. $game['ios_download'] = getIosDownload($game);
  35. }
  36. else{
  37. $game['download'] = getDownload($game);
  38. $game['ios_download'] = '';
  39. }
  40. $game['typename'] = getTypename($game['typename']);
  41. $game['subjectname'] = getSubjectname($game['subjectname']);
  42. }
  43. //获取最新游戏列表
  44. $newGameList = $gameInfoModel->getMobileGameInfoByLanmu(['g.lanmu'=>3],4);
  45. foreach ( $newGameList as &$game ) {
  46. $game['mobileicon'] = "http://static.46yx.com/".$game['mobileicon'];
  47. $game['url'] = '';
  48. // $game['url'] = getMobileGameUrl($game['id']);
  49. if($game['platform']==1){
  50. $game['download'] = '';
  51. $game['ios_download'] = getIosDownload($game);
  52. }
  53. else{
  54. $game['download'] = getDownload($game);
  55. $game['ios_download'] = '';
  56. }
  57. $game['typename'] = getTypename($game['typename']);
  58. $game['subjectname'] = getSubjectname($game['subjectname']);
  59. }
  60. //获取本周推荐列表
  61. $recommendGameList = $gameInfoModel->getMobileGameInfoByLanmu(['g.lanmu'=>4],8);
  62. foreach ( $recommendGameList as &$game ) {
  63. $game['mobileicon'] = getGameIcon($game['mobileicon']);
  64. $game['url'] = '';
  65. // $game['url'] = getMobileGameUrl($game['id']);
  66. if($game['platform']==1){
  67. $game['download'] = '';
  68. $game['ios_download'] = getIosDownload($game);
  69. }
  70. else{
  71. $game['download'] = getDownload($game);
  72. $game['ios_download'] = '';
  73. }
  74. $game['typename'] = getTypename($game['typename']);
  75. $game['subjectname'] = getSubjectname($game['subjectname']);
  76. }
  77. //手机顶部轮播
  78. $topBannerList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>21])->order('sort asc,create_time asc')->limit(0,5)->select();
  79. //排行版
  80. $rankGameList = $gameModel->cache(Config::get('QUERY_RESULT_CACHE_TIME'))
  81. ->alias('g')
  82. ->join('cy_gameinfo info', 'g.id=info.game_id','left')
  83. ->join('cy_gametype t', 'g.type = t.id','left')
  84. ->join('cy_gamesubject s', 'g.subject = s.id','left')
  85. ->join('cy_sdkgamelist sdk', 'g.id=sdk.gameid and sdk.package_type=0 and sdk.upload_status=1 and sdk.channel_id='.MEMBER_DEFAULT_CHANNEL_ID,'left')
  86. ->field('g.id,g.nickname,g.power,info.androidurl,info.platform,g.pinyin,info.mobileicon,g.type,g.subject,g.publicity,t.name as typename,s.name as subjectname,sdk.filename')
  87. ->where(['g.cooperation_status' => ['in','1,2'],'g.is_show' => 1])
  88. ->order('g.power desc')
  89. ->limit(0,10)
  90. ->select();
  91. // var_dump($rankGameList);
  92. foreach ( $rankGameList as $k=>&$game ) {
  93. $game['mobileicon'] = "http://static.46yx.com/".$game['mobileicon'];
  94. // $game['url'] = getMobileGameUrl($game['id']);
  95. $game['url'] = '';
  96. if($game['platform']==1){
  97. $game['download'] = '';
  98. // $game['ios_download'] = getIosDownload($game);
  99. $game['ios_download'] = '';
  100. }
  101. else{
  102. $game['download'] = '';
  103. // $game['download'] = getDownload($game);
  104. $game['ios_download'] = '';
  105. }
  106. $game['typename'] = getTypename($game['typename']);
  107. $game['subjectname'] = getSubjectname($game['subjectname']);
  108. $game['size'] = getSize($game);
  109. }
  110. // var_dump($rankGameList);
  111. //获取游戏分类列表
  112. $gameTypeList = Db::connect(config('database_slave'))->table('cy_gametype t')
  113. ->join('cy_game g', 't.id=g.type and g.cooperation_status in (1,2) and g.is_show=1','left')
  114. ->field('t.id,t.name,sum(case when g.id then 1 else 0 end) as cnt')
  115. // ->where(['g.cooperation_status' => ['in','1,2'],'g.is_show' => 1])
  116. ->cache(Config::get('QUERY_RESULT_CACHE_TIME'))
  117. ->group('t.id')
  118. ->select();
  119. foreach ( $gameTypeList as &$gameType ) {
  120. $gameType['typeicon'] = getGameTypeIcon(trim($gameType['name']));
  121. }
  122. $td = date("Y-m-d");
  123. $tm = date("Y-m-d",strtotime("+1 day"));
  124. $datTime = strtotime(date("Y-m-d 23:59:59",strtotime("+1 day")));
  125. $nowtime = NOW_TIMESTAMP;
  126. //开服信息
  127. $where = [
  128. 'a.type'=>0,
  129. 'a.isdelete'=>0,
  130. 'b.is_show' => 1,
  131. 'b.cooperation_status' => ['in',[0,1,2]]
  132. ];
  133. $kfList = model('ServerInfo')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->alias('a')
  134. ->join('cy_game b','b.id = a.gameid')
  135. ->join('cy_gameinfo info', 'b.id=info.game_id', 'left')
  136. ->join('cy_gamesubject s', 'b.subject=s.id', 'left')
  137. ->join('cy_gametype t', 'b.type=t.id', 'left')
  138. ->join('cy_sdkgamelist sdk', 'b.id=sdk.gameid and sdk.package_type=0 and sdk.upload_status=1 and sdk.channel_id='.MEMBER_DEFAULT_CHANNEL_ID,'left')
  139. ->field('a.*,info.mobileicon,b.nickname,b.pinyin,t.name as typename, s.name as subjectname,sdk.filename,info.androidurl,info.platform')
  140. ->where($where)
  141. ->where("( ( a.sertime > {$nowtime} and a.sercertype = 1 ) or a.sercertype = 2 )")
  142. ->order('a.sercertype asc,a.sertime asc')
  143. ->limit(6)
  144. ->select();
  145. foreach ($kfList as $k=>&$serverGame){
  146. $serverGame['subscribe'] = 1; // 预约游戏
  147. $serverGame['highlight'] = 0; // highlight显示
  148. $serverGame['mobileicon'] = "http://static.46yx.com/".$serverGame['mobileicon'];var_dump(1);die();
  149. // $serverGame['url'] = getMobileGameUrl($serverGame['gameid']);
  150. $serverGame['url'] = '';
  151. if($serverGame['platform']==1){
  152. $serverGame['ios_download'] = $serverGame['download'] = '';
  153. // $serverGame['ios_download'] = getIosDownload($serverGame);
  154. }
  155. else{
  156. // $serverGame['download'] = getDownload($serverGame);
  157. $serverGame['download'] = $serverGame['ios_download'] = '';
  158. }
  159. $serverGame['typename'] = getTypename($serverGame['typename']);
  160. $serverGame['subjectname'] = getSubjectname($serverGame['subjectname']);
  161. $serverGame['size'] = getSize($serverGame);
  162. $serverGame['libaonum'] = model('Gift')->where(['isdelete'=>0,'gameid'=>$serverGame['gameid'],'endtime'=>['gt',$nowtime]])->where('total > used')->count('id');
  163. if ($serverGame['sercertype'] == 1 && $td == date("Y-m-d",$serverGame['sertime']) ){
  164. if( $serverGame['sertime'] <= $nowtime + 60*60){
  165. $serverGame['subscribe'] = 0;
  166. }
  167. $serverGame['showSertime'] = '今日'.date('H:i',$serverGame['sertime']);
  168. $serverGame['highlight'] = 1;
  169. }
  170. if ($serverGame['sercertype'] == 1 && $tm == date("Y-m-d",$serverGame['sertime']) ){
  171. $serverGame['showSertime'] = '明日'.date('H:i',$serverGame['sertime']);
  172. }
  173. if ($serverGame['sercertype'] == 1 && $datTime < $serverGame['sertime'] ){
  174. $serverGame['showSertime'] = date('m月d日',$serverGame['sertime']);
  175. }
  176. if ($serverGame['sercertype'] == 2){
  177. $serverGame['subscribe'] = 0;
  178. $serverGame['showSertime'] = '长期有效';
  179. }
  180. }
  181. //开测信息
  182. $where['a.type'] = 1;
  183. $kcList = model('ServerInfo')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->alias('a')
  184. ->join('cy_game b','b.id = a.gameid')
  185. ->join('cy_gameinfo info', 'b.id=info.game_id', 'left')
  186. ->join('cy_gamesubject s', 'b.subject=s.id', 'left')
  187. ->join('cy_gametype t', 'b.type=t.id', 'left')
  188. ->join('cy_sdkgamelist sdk', 'b.id=sdk.gameid and sdk.package_type=0 and sdk.upload_status=1 and sdk.channel_id='.MEMBER_DEFAULT_CHANNEL_ID,'left')
  189. ->field('a.*,info.mobileicon,b.nickname,b.pinyin,t.name as typename, s.name as subjectname,sdk.filename,info.androidurl,info.platform')
  190. ->where($where)
  191. ->where("( ( a.sertime > {$nowtime} and a.sercertype = 1 ) or a.sercertype = 2 )")
  192. ->order('a.sercertype asc,a.sertime asc')
  193. ->limit(6)
  194. ->select();
  195. foreach ($kcList as &$serverGame){
  196. $serverGame['subscribe'] = 1; // 预约游戏
  197. $serverGame['highlight'] = 0; // highlight显示
  198. $serverGame['mobileicon'] = "http://static.46yx.com/".$serverGame['mobileicon'];
  199. // $serverGame['url'] = getMobileGameUrl($serverGame['gameid']);
  200. $serverGame['url'] = '';
  201. if($serverGame['platform']==1){
  202. $serverGame['ios_download'] = $serverGame['download'] = '';
  203. // $serverGame['ios_download'] = getIosDownload($serverGame);
  204. }
  205. else{
  206. // $serverGame['download'] = getDownload($serverGame);
  207. $serverGame['download'] = $serverGame['ios_download'] = '';
  208. }
  209. $serverGame['typename'] = getTypename($serverGame['typename']);
  210. $serverGame['subjectname'] = getSubjectname($serverGame['subjectname']);
  211. $serverGame['size'] = getSize($serverGame);
  212. $serverGame['serstatusName'] = isset($this->serstatus[$serverGame['serstatus']]) ? $this->serstatus[$serverGame['serstatus']] : '';
  213. $serverGame['libaonum'] = model('Gift')->where(['isdelete'=>0,'gameid'=>$serverGame['gameid'],'endtime'=>['gt',$nowtime]])->where('total > used')->count('id');
  214. if ($serverGame['sercertype'] == 1 && $td == date("Y-m-d",$serverGame['sertime']) ){
  215. if( $serverGame['sertime'] <= $nowtime + 60*60){
  216. $serverGame['subscribe'] = 0;
  217. }
  218. $serverGame['showSertime'] = '今日'.date('H:i',$serverGame['sertime']);
  219. $serverGame['highlight'] = 1;
  220. }
  221. if ($serverGame['sercertype'] == 1 && $tm == date("Y-m-d",$serverGame['sertime']) ){
  222. $serverGame['showSertime'] = '明日'.date('H:i',$serverGame['sertime']);
  223. }
  224. if ($serverGame['sercertype'] == 1 && $datTime < $serverGame['sertime'] ){
  225. $serverGame['showSertime'] = date('m月d日 H:i',$serverGame['sertime']);
  226. }
  227. if ($serverGame['sercertype'] == 2){
  228. $serverGame['subscribe'] = 0;
  229. $serverGame['showSertime'] = '长期有效';
  230. }
  231. }
  232. // 热搜词
  233. $trendingSearch = Db::name('cy_keywords')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->where('type',1)->order('create_time desc')->value('title');
  234. // APP下载链接
  235. $app_link = model('Setting')->getSetting('APP_LINK');
  236. $this->assign('hotGameList',$hotGameList);
  237. $this->assign('newGameList',$newGameList);
  238. $this->assign('recommendGameList',$recommendGameList);
  239. $this->assign('topBannerList',$topBannerList);
  240. $this->assign('rankGameList',$rankGameList);
  241. $this->assign('gameTypeList',$gameTypeList);
  242. $this->assign('trendingSearch',$trendingSearch);
  243. $this->assign('kfList',$kfList);
  244. $this->assign('kcList',$kcList);
  245. $this->assign('app_link',$app_link);
  246. $seo['title'] = '麻花网络_简单生活,快乐游戏';
  247. $seo['keywords'] = '好玩的手机游戏,手机游戏下载,热门手游,最新手游,手游排行榜,安卓游戏,麻花网络游戏,麻花网络';
  248. $seo['description'] = '麻花网络手游平台为玩家提供免费手机游戏下载,最新、热门手机游戏排行以及海量免费的手游礼包。麻花网络还提供最新鲜好玩的手机游戏资讯、最精彩的手游攻略、手游评测、手游视频等内容!';
  249. $this->assign('seo',$seo);
  250. return $this->fetch();
  251. }
  252. public function agreement()
  253. {
  254. return $this->fetch();
  255. }
  256. }