123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- <?php
- /**
- * cms首页
- *
- *
- *
- */
- use bonus\activity_bonus;
- use mcard\user_mcards;
- defined('InShopNC') or exit('Access Invalid!');
- require_once(BASE_ROOT_PATH . '/mobile/control/special.php');
- require_once(BASE_HELPER_PATH . '/goods_helper.php');
- require_once(BASE_HELPER_PATH . '/special_helper.php');
- require_once(BASE_HELPER_PATH . '/index_tab.php');
- require_once(BASE_HELPER_PATH . '/util_helper.php');
- require_once(BASE_HELPER_PATH . '/third_author/wxauthor.php');
- require_once(BASE_HELPER_PATH . '/third_author/wxauthor.php');
- require_once(BASE_HELPER_PATH . '/session_helper.php');
- require_once(BASE_HELPER_PATH . '/url_helper.php');
- require_once(BASE_HELPER_PATH . '/room/tpl_group_home.php');
- require_once(BASE_HELPER_PATH . '/room/tpl_chatwo_home.php');
- require_once(BASE_HELPER_PATH . '/mcard/mcard.php');
- require_once(BASE_HELPER_PATH . '/mtopcard/mtopcard.php');
- require_once(BASE_HELPER_PATH . '/calc_helper.php');
- class indexControl extends specialControl
- {
- const HomeSpecialID = 0;
- public function __construct()
- {
- parent::__construct();
- }
- public function mini_indexOp()
- {
- global $config;
- $setting = $config['client_setting'];
- if(empty($setting)) {
- $_GET['special_id'] = 0;
- }
- else
- {
- $version = session_helper::version_code();
- $running = $setting['running'];
- $spid = $setting['home'];
- if($version > $running) {
- $_GET['special_id'] = $spid;
- }
- else {
- $_GET['special_id'] = 0;
- }
- }
- return parent::indexOp();
- }
- public function tabsOp()
- {
- $client_tpe = session_helper::client_type();
- if($client_tpe == session_helper::device_mini || $client_tpe == session_helper::device_wap) {
- $tabs = [];
- $tabs[] = ['special_id' => 1383,'name' => '推荐'];
- $tabs[] = ['special_id' => 1122,'name' => '品牌'];
- $tabs[] = ['special_id' => 1025,'name' => '护肤'];
- $tabs[] = ['special_id' => 1035,'name' => '彩妆'];
- $tabs[] = ['special_id' => 1036,'name' => '洗护'];
- $tabs[] = ['special_id' => 1019,'name' => '男士'];
- }
- else {
- $tabs = index_tab::instance()->tabs();
- }
- $daliy_bonus = activity_bonus::daliy_bonus_url();
- return self::outsuccess(['tabs' => $tabs,'daliy_bonus' =>$daliy_bonus]);
- }
- public function splashOp()
- {
- $sig = $_GET['sig'];
- $ret = $this->pub_special($this->splash_id());
- if(empty($ret['special_list'])) {
- return self::outsuccess(null);
- }
- $block = $ret['special_list'][0];
- if(empty($block) || empty($block['items'])) {
- return self::outsuccess(null);
- }
- $image = $block['items'][0]['image'];
- if(empty($sig) || $sig != md5($image)) {
- return self::outsuccess(['sig' => md5($image),'url' => $image]);
- } else {
- return self::outsuccess(null);
- }
- }
- private function splash_id()
- {
- global $config;
- $special_id = $config['splash_page']['special_id'];
- return $special_id;
- }
- public function inoherbOp()
- {
- return self::outsuccess(['direct_uri' => BASE_SITE_URL . '/hfive/inoherb/index.html?2'],"redirect");
- }
- /**
- * 会话详情页 talk_type:room/chatwo talk_id:room_id/user
- * 回话详情@ app打开
- * 群详情@ 微信扫码进入
- */
- public function room_indexOp()
- {
- $talk_type = trim($_GET['talk_type']);
- $talk_id = intval($_GET['talk_id']);
- $relay_id = intval($_GET['relay_id']);
- $open_talk = intval($_GET['open_talk']);
- if($talk_id <= 0) {
- return self::outerr(errcode::ErrParamter);
- }
- //微信内打开使用授权判断
- if(session_helper::need_wechat_author()) {
- $author = new thrid_author\wxauthor();
- $url = url_helper::room_detail_url($talk_type,$talk_id,$relay_id);
- $url = $author->enter($url);
- return self::outsuccess(['direct_uri' => $url],"redirect");
- }
- $is_app = intval(session_helper::isapp());
- $user = session_helper::memberid();
- $param = ["talk_type" => $talk_type, "talk_id" => $talk_id , "member_id" => $user,"room_name" => "","room_avatar" => "","relay_id" => $relay_id,
- "is_app" => $is_app,
- "open_talk" => $open_talk];
- if(!session_helper::logined())
- {
- if($talk_type == "room") {
- return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_room');
- } elseif($talk_type == 'chatwo') {
- return self::outsuccess(['tpl' => null,"param" => $param],'talk/homepage_chatwo');
- } else {
- return self::outerr(errcode::ErrParamter);
- }
- }
- if($talk_type == "room")
- {
- try {
- $room_id = $talk_id;
- $tpl = new room\tpl_group_home($user,$talk_id,$relay_id);
- $param["room_name"] = $tpl->get_room_info()->name();
- $param["room_avatar"] = $tpl->get_room_info()->avatar();
- return self::outsuccess(['tpl' => $tpl,"param" => $param],'talk/homepage_room');
- } catch (Exception $ex) {
- Log::record("member_talk.room_detail error: room_id={$room_id} user={$user}",Log::ERR);
- return self::outerr(errcode::ErrParamter);
- }
- }
- elseif($talk_type == 'chatwo')
- {
- try {
- $other = $talk_id;
- $tpl = new room\tpl_chatwo_home($user,$other);
- return self::outsuccess(['tpl' => $tpl,"param"=>$param],'talk/homepage_chatwo');
- } catch (Exception $ex) {
- Log::record("member_talk.room_detail error: other={$other} user={$user}",Log::ERR);
- return self::outerr(errcode::ErrParamter);
- }
- }
- else
- {
- return self::outerr(errcode::ErrParamter);
- }
- }
- ///获取充值卡的数据接口.
- public function card_goodsOp()
- {
- $page_type = $_GET['page_type']; //oil or phone page.
- if(empty($page_type)) {
- return self::outerr(errcode::ErrParamter);
- }
- $calctor = new CalcPrice(session_helper::memberid());
- $goods = $this->card_goods($page_type,$calctor);
- $ret = [];
- if(session_helper::memberid() > 0)
- {
- $card_list = mtopcard\priority_cards(session_helper::memberid(),$page_type);
- $ret['cards'] = mtopcard\topcard_format($card_list);
- }
- else {
- $ret['cards'] = [];
- }
- $ret['tips'] = $calctor->calc_tips();
- foreach ($goods as $item)
- {
- [$tip,$show_invite] = $calctor->inviter_tips($item['goods_id']);
- $ret['goods_inviter_tips'][] = [
- 'goods_id' => $item['goods_id'],
- 'tip' => $tip,
- 'show_invite' => $show_invite];
- }
- $ret['inviter_tips'] = empty($ret['goods_inviter_tips']) ? '' : $ret['goods_inviter_tips'][0]['tip'];
- $ret['goods'] = $goods;
- $ret['member_mobile'] = session_helper::mobile();
- $ret['special_id'] = $this->paysuccess_special();
- return self::outsuccess($ret);
- }
- private function paysuccess_special()
- {
- global $config;
- return $config['special_pay_success'];
- }
- private function card_goods($card_type,$calctor)
- {
- global $config;
- $card_commids = $config['card_commonid'];
- if(empty($card_commids)) {
- return [];
- }
- $commonid = intval($card_commids[$card_type]);
- Log::record("card_type = {$card_type} commonid={$commonid}",Log::DEBUG);
- if($commonid > 0)
- {
- $mod_goods = Model('goods');
- $goods_list = $mod_goods->getGoodsOnlineList(['goods_commonid' => $commonid]);
- $helper = new goods_helper(new bonus\normal_calc());
- $goods_list = $helper->summary($goods_list, $related_goods,[$calctor,'calc_vgoods_price']);
- $summarys = &$goods_list['summary'];
- usort($summarys,[__CLASS__,'comp_goods']);
- return $summarys;
- }
- else {
- return [];
- }
- }
- public static function comp_goods($left,$right)
- {
- $t_l = intval($left['goods_spec']);
- $t_r = intval($right['goods_spec']);
- if($t_l > $t_r) {
- return 1;
- }
- elseif($t_l == $t_r)
- {
- return 0;
- }
- else {
- return -1;
- }
- }
- }
|