| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <?php
- /**
- * 官网首页
- */
- namespace app\home\controller;
- use app\common\model\GameHome as Game;
- use app\common\model\GameInfo;
- use app\common\model\News;
- use app\common\model\Links;
- use app\common\model\SdkGameList;
- use think\Db;
- use think\Config;
- class Index extends Home
- {
- public function index()
- {
- $gameModel = new Game;
- $gameInfoModel = new GameInfo;
- $articleModel = new News;
- $linksModel = new Links;
- $sdGameModel = new SdkGameList;
- //获取热门游戏列表
- $hotGameList = $gameInfoModel->getGameInfoByLanmu(['g.lanmu'=>2]);
- //获取最新游戏列表
- $newGameList = $gameInfoModel->getGameInfoByLanmu(['g.lanmu'=>3]);
-
- //获取本周推荐列表
- $recommendGameList = $gameInfoModel->getGameInfoByLanmu(['g.lanmu'=>4]);
- //顶部推荐
- $topBannerList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>1])->order('sort asc,create_time asc')->limit(0,5)->select();
-
- //今日热点
- $todayHotList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>3])->order('sort asc,create_time asc')->limit(0,4)->select();
-
- //首页轮播
- $broadcastList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>11])->order('sort asc,create_time asc')->limit(0,5)->select();
- foreach ($broadcastList as &$ad) {
- $ad['url'] = preg_match("/^http(s)?:\\/\\/.+/",$ad['url']) ? $ad['url'] : 'http://' . $ad['url'];
- }
-
- //红字头条
- $redHeadline = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url')->where(['type'=>4])->order('sort asc,create_time asc')->find();
-
- //头条新闻
- $headlineNewsList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url')->where(['type'=>5])->order('sort asc,create_time asc')->limit(0,2)->select();
-
- //游戏评测
- $reviewGameList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>6])->order('sort asc,create_time asc')->limit(0,3)->select();
-
- //首页底部推荐位
- $footerList = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>8])->order('sort asc,create_time asc')->limit(0,2)->select();
- //首页广告弹窗
- $adPopups = Db::connect(config('database_slave'))->table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>12])->order('sort asc,create_time asc')->find();
-
- //新闻列表
- $articleList = $articleModel->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,jlink,type,create_time')->where(['type'=>['in','1,2,3,4,5'],'isdelete'=>0, 'position'=>['LIKE','%a%']])->order('create_time desc')->limit(0,10)->select();
-
- //游戏攻略
- $walkthroughList = $articleModel->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,jlink,type,image,create_time')->where(['type'=>['in','1,2,3,4,5'],'isdelete'=>0, 'position'=>['LIKE','%b%']])->order('create_time desc')->limit(0,20)->select();
-
- //获取游戏分类列表
- $gameTypeList = Db::connect(config('database_slave'))->table('cy_gametype')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->select();
-
- //友情链接
- $linksList = Db::connect(config('database_slave'))->table('cy_links')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->order('sort asc,create_time asc')->select();
-
- //获取各分类游戏列表
- $allGameList = [];
-
- //各分类游戏sdk包信息
- $sdkGameList = [];
-
- if ( !empty($gameTypeList) ) {
-
- $gameids = [];
-
- foreach ( $gameTypeList as $type ) {
-
- $gameList = $gameModel->alias('g')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))
- ->join('cy_gameinfo i', 'g.id=i.game_id', 'left')
- ->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')
- ->field('g.id,g.nickname,g.pinyin,i.mobileicon,sdk.filename')
- ->where(['g.type'=>$type['id'],'g.cooperation_status' => ['in','1,2'],'g.is_show' => 1])
- ->order('g.create_time desc')
- ->limit(0,18)->select();
- foreach ( $gameList as &$game ) {
- $game['mobileicon'] = STATIC_DOMAIN.$game['mobileicon'];
- $game['url'] = getGameUrl($game['id']);
- $game['download'] = getDownload($game);
- }
-
- $allGameList[] = $gameList;
-
- $gameids = array_unique(array_merge($gameids,arrayColumnByObject($gameList, 'id')));
- }
-
- $sdkGameList = Db::connect(config('database_slave'))->table('cy_sdkgamelist')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->where(['channel_id'=>MEMBER_DEFAULT_CHANNEL_ID,'gameid'=>['in',$gameids],'package_type'=>0])->column('filename','gameid');
-
- }
-
- $this->assign('hotGameList',$hotGameList);
- $this->assign('newGameList',$newGameList);
- $this->assign('recommendGameList',$recommendGameList);
- $this->assign('topBannerList',$topBannerList);
- $this->assign('todayHotList',$todayHotList);
- $this->assign('broadcastList',$broadcastList);
- $this->assign('redHeadline',$redHeadline);
- $this->assign('headlineNewsList',$headlineNewsList);
- $this->assign('articleList',$articleList);
- $this->assign('reviewGameList',$reviewGameList);
- $this->assign('walkthroughList',$walkthroughList);
- $this->assign('gameTypeList',$gameTypeList);
- $this->assign('allGameList',$allGameList);
- $this->assign('sdkGameList',$sdkGameList);
- $this->assign('linksList',$linksList);
- $this->assign('footerList',$footerList);
- $this->assign('adPopups',$adPopups);
- $seo['title'] = '祈盟文化_简单生活,快乐游戏';
- $seo['keywords'] = '好玩的手机游戏,手机游戏下载,热门手游,最新手游,手游排行榜,安卓游戏,祈盟文化游戏,祈盟文化';
- $seo['description'] = '祈盟文化手游平台为玩家提供免费手机游戏下载,最新、热门手机游戏排行以及海量免费的手游礼包。祈盟文化还提供最新鲜好玩的手机游戏资讯、最精彩的手游攻略、手游评测、手游视频等内容!';
- $this->assign('seo',$seo);
- return $this->fetch();
- }
- public function agreement()
- {
- return $this->fetch();
- }
- }
|