Home.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. /**
  3. * 官网的公共控制器类
  4. *
  5. */
  6. namespace app\home\controller;
  7. use app\common\controller\Base;
  8. use think\Db;
  9. use think\Config;
  10. class Home extends Base
  11. {
  12. // 不验证权限的action
  13. protected $noCheckAuth = [];
  14. protected $current_node;
  15. // 登录返回上一页,需跳过的页面url
  16. /*protected $noPreviousPage = [WEBSITE_DOMAIN.'/login/',WEBSITE_DOMAIN.'/register/',WEBSITE_DOMAIN.'/forgotpwd.html',WEBSITE_DOMAIN.'/forgotpwd/check.html',WEBSITE_DOMAIN.'/forgotpwd/resetpwd.html'];*/
  17. protected $noPreviousPage = [];
  18. // 登录返回上一页,默认url
  19. protected $defaultPage = WEBSITE_DOMAIN;
  20. /**
  21. * 初始化操作
  22. */
  23. protected function _initialize()
  24. {
  25. $this->noPreviousPage = [WEBSITE_DOMAIN.'/login/',WEBSITE_DOMAIN.'/register/',WEBSITE_DOMAIN.'/forgotpwd.html',WEBSITE_DOMAIN.'/forgotpwd/check.html',WEBSITE_DOMAIN.'/forgotpwd/resetpwd.html',WEBSITE_DOMAIN.'/csc/resetpwdresult.html',WEBSITE_DOMAIN.'/csc/resetpwdresult/suc/1.html'];
  26. $seo['title'] = '祈盟文化_简单生活,快乐游戏';
  27. $seo['keywords'] = '好玩的手机游戏,手机游戏下载,热门手游,最新手游,手游排行榜,安卓游戏,祈盟文化游戏,祈盟文化';
  28. $seo['description'] = '祈盟文化手游平台为玩家提供免费手机游戏下载,最新、热门手机游戏排行以及海量免费的手游礼包。祈盟文化还提供最新鲜好玩的手机游戏资讯、最精彩的手游攻略、手游评测、手游视频等内容!';
  29. // 获取在线客服时间
  30. $kf_time = model('Setting')->getSetting('CUSTOMER_SERVICE_TIME');
  31. // 获取底部关于我们列表
  32. $aboutList = model('Aboutus')->getAboutList();
  33. // 客服QQ列表
  34. $kefuList = model('Kefu')->getKefuList();
  35. // 底部悬浮框
  36. $footPopupList = Db::table('cy_ad')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->field('id,title,url,image')->where(['type'=>13])->order('sort asc,create_time asc')->find();
  37. if ( !empty($footPopupList)) {
  38. $footPopupList['url'] = preg_match("/^http(s)?:\\/\\/.+/",$footPopupList['url']) ? $footPopupList['url'] : 'http://' . $footPopupList['url'];
  39. }
  40. // 祈盟文化app下载链接
  41. $link = model('Setting')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->where('name','APP_LINK')->value('value');
  42. // 热搜词
  43. $trendingSearch = Db::name('cy_keywords')->cache(Config::get('QUERY_RESULT_CACHE_TIME'))->where('type',1)->order('create_time desc')->value('title');
  44. // 用户昵称
  45. $userinfo = '';
  46. if (session('front_userid')){
  47. $userinfo = model('members')->field('nickname,avatar,username,id,amount')->where('id',session('front_userid'))->find();
  48. }
  49. $this->assign('seo',$seo);
  50. $this->assign('kf_time',$kf_time);
  51. $this->assign('aboutList',$aboutList);
  52. $this->assign('kefuList',$kefuList);
  53. $this->assign('footPopupList',$footPopupList);
  54. $this->assign('link',$link);
  55. $this->assign('trendingSearch',$trendingSearch);
  56. $this->assign('userinfo',$userinfo);
  57. }
  58. /**
  59. * 判断用户是否登录,未登录跳转登录页面
  60. */
  61. protected function _isLogin(){
  62. if (!session('?front_userid')){
  63. $this->redirect('Home/member/login');
  64. exit;
  65. }
  66. }
  67. /**
  68. * 返回 json
  69. * @access protected
  70. * @param mixed $data 要返回的数据
  71. * @param int $code 返回的 code
  72. * @param mixed $msg 提示信息
  73. * @return void
  74. * @throws HttpResponseException
  75. */
  76. public function jsonResult($data, $code = 0, $msg = '')
  77. {
  78. $this->result($data, $code, $msg, 'json');
  79. }
  80. /**
  81. * 获取上一页的URL (有过滤)
  82. * @param bool $toUrl url是否转完整地址
  83. * @return string
  84. */
  85. public function getPrePageUrl(){
  86. $pre_page = session('HTTP_REFERER_URL');
  87. if (!$pre_page || session('has404')){
  88. session('has404',null);
  89. return $this->defaultPage;
  90. }
  91. return $pre_page;
  92. }
  93. protected function setPreUrl(){
  94. if (session('front_userid')) return false;
  95. $url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
  96. if (!empty($url) && !in_array($url,$this->noPreviousPage)) {
  97. session('HTTP_REFERER_URL' , $url);
  98. return true;
  99. }
  100. return false;
  101. }
  102. /**
  103. * 验证手机号是否正确
  104. *
  105. * @author honfei
  106. * @param number $mobile
  107. */
  108. function isMobile($mobile) {
  109. if (!is_numeric($mobile)) {
  110. return false;
  111. }
  112. return preg_match('#^1[\d]{10}$#', $mobile) ? true : false;
  113. }
  114. /**
  115. * 正则表达式验证email格式
  116. *
  117. * @param string $str 所要验证的邮箱地址
  118. * @return boolean
  119. */
  120. function isEmail($str) {
  121. if (!$str) {
  122. return false;
  123. }
  124. return preg_match('/^[a-z0-9]+([._-][a-z0-9]+)*@([0-9a-z]+\.[a-z]{2,14}(\.[a-z]{2})?)$/i', $str) ? true : false;
  125. }
  126. /**
  127. * 页面404输出
  128. */
  129. public function _abort404(){
  130. session('has404',true);
  131. abort(404);
  132. }
  133. /**
  134. * 更新用户信息缓存
  135. * @param $arr ['字段名'=> 值]
  136. */
  137. /*public function _updateUserInfo($arr = []){
  138. if (empty($arr)) return false;
  139. $info = session('front_info');
  140. foreach ($arr as $filed=>$value){
  141. $info[$filed] = $value;
  142. }
  143. session('front_info',$info);
  144. return true;
  145. }*/
  146. }