index.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?php
  2. /**
  3. * cms首页
  4. *
  5. *
  6. *
  7. */
  8. defined('InShopNC') or exit('Access Invalid!');
  9. require_once(BASE_ROOT_PATH . '/helper/goods_helper.php');
  10. require_once(BASE_ROOT_PATH . '/helper/special_helper.php');
  11. require_once(BASE_ROOT_PATH . '/helper/index_tab.php');
  12. require_once(BASE_ROOT_PATH . '/helper/util_helper.php');
  13. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  14. require_once(BASE_ROOT_PATH . '/mobile/control/special.php');
  15. require_once(BASE_ROOT_PATH . '/helper/third_author/wxauthor.php');
  16. require_once(BASE_ROOT_PATH . '/helper/session_helper.php');
  17. require_once(BASE_ROOT_PATH . '/helper/url_helper.php');
  18. require_once(BASE_ROOT_PATH . '/helper/room/tpl_group_home.php');
  19. require_once(BASE_ROOT_PATH . '/helper/room/tpl_chatwo_home.php');
  20. class indexControl extends specialControl
  21. {
  22. const HomeSpecialID = 0;
  23. public function __construct()
  24. {
  25. parent::__construct();
  26. }
  27. public function tabsOp()
  28. {
  29. if(session_helper::client_type() == session_helper::device_mini) {
  30. $tabs = [];
  31. $tabs[] = ['special_id' => 1383,'name' => '推荐'];
  32. $tabs[] = ['special_id' => 1122,'name' => '品牌'];
  33. $tabs[] = ['special_id' => 1025,'name' => '护肤'];
  34. $tabs[] = ['special_id' => 1035,'name' => '彩妆'];
  35. $tabs[] = ['special_id' => 1036,'name' => '洗护'];
  36. $tabs[] = ['special_id' => 1019,'name' => '男士'];
  37. }
  38. else {
  39. $tabs = index_tab::instance()->tabs();
  40. }
  41. return self::outsuccess(array('tabs' => $tabs));
  42. }
  43. public function splashOp()
  44. {
  45. $sig = $_GET['sig'];
  46. $ret = $this->pub_special($this->splash_id());
  47. if(empty($ret['special_list'])) {
  48. return self::outsuccess(null);
  49. }
  50. $block = $ret['special_list'][0];
  51. if(empty($block) || empty($block['items'])) {
  52. return self::outsuccess(null);
  53. }
  54. $image = $block['items'][0]['image'];
  55. if(empty($sig) || $sig != md5($image)) {
  56. return self::outsuccess(array('sig' => md5($image),'url' => $image));
  57. } else {
  58. return self::outsuccess(null);
  59. }
  60. }
  61. private function splash_id()
  62. {
  63. global $config;
  64. $special_id = $config['splash_page']['special_id'];
  65. return $special_id;
  66. }
  67. public function inoherbOp()
  68. {
  69. return self::outsuccess(['direct_uri' => BASE_SITE_URL . '/hfive/inoherb/index.html?2'],"redirect");
  70. }
  71. /**
  72. * 会话详情页 talk_type:room/chatwo talk_id:room_id/user
  73. * 回话详情@ app打开
  74. * 群详情@ 微信扫码进入
  75. */
  76. public function room_indexOp()
  77. {
  78. $talk_type = trim($_GET['talk_type']);
  79. $talk_id = intval($_GET['talk_id']);
  80. $relay_id = intval($_GET['relay_id']);
  81. if($talk_id <= 0) {
  82. return self::outerr(errcode::ErrParamter);
  83. }
  84. $is_app = intval(session_helper::isapp());
  85. $from_wechat = util::from_wechat();
  86. $user = session_helper::memberid();
  87. $param = ["talk_type" => $talk_type, "talk_id" => $talk_id , "member_id" => $user,"room_name"=>"","room_avatar"=>"","relay_id"=>$relay_id,"is_app"=>$is_app];
  88. //app内打开请求授权登录
  89. if(($is_app || !$from_wechat) && $user<= 0)
  90. {
  91. if($talk_type == "room") {
  92. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_room');
  93. }elseif($talk_type == 'chatwo') {
  94. return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_chatwo');
  95. }else {
  96. }
  97. }
  98. //微信内打开使用授权判断
  99. if(session_helper::need_wechat_author()) {
  100. $author = new thrid_author\wxauthor();
  101. $url = url_helper::room_detail_url($talk_type,$talk_id,$relay_id);
  102. $url = $author->enter($url);
  103. return self::outsuccess(['direct_uri' => $url],"redirect");
  104. }
  105. if($talk_type == "room")
  106. {
  107. $room_id = $talk_id;
  108. try {
  109. $tpl = new room\tpl_group_home($user,$talk_id,$relay_id);
  110. $param["room_name"] = $tpl->get_room_info()->name();
  111. $param["room_avatar"] = $tpl->get_room_info()->avatar();
  112. return self::outsuccess(['tpl' => $tpl,"param" => $param],'talk/homepage_room');
  113. } catch (Exception $ex) {
  114. Log::record("member_talk.room_detail error: room_id={$room_id} user={$user}",Log::ERR);
  115. return self::outerr(errcode::ErrParamter);
  116. }
  117. }
  118. elseif($talk_type == 'chatwo')
  119. {
  120. $other = $talk_id;
  121. try {
  122. $tpl = new room\tpl_chatwo_home($user,$other);
  123. return self::outsuccess(['tpl' => $tpl,"param"=>$param],'talk/homepage_chatwo');
  124. } catch (Exception $ex) {
  125. Log::record("member_talk.room_detail error: other={$other} user={$user}",Log::ERR);
  126. return self::outerr(errcode::ErrParamter);
  127. }
  128. }
  129. else
  130. {
  131. return self::outerr(errcode::ErrParamter);
  132. }
  133. }
  134. }