enter($url); return self::outsuccess(['direct_uri' => $url],"redirect"); } if(session_helper::logined() == false) { if(session_helper::isapp()) { } else { if(wechat_helper::invite_bonus_tag()) { wechat_helper::clear_invite_bonus(); } $type_sn = account_helper::invite_bonus($idolid); if($type_sn == false) { return self::outerr(errcode::ErrBonus,"生成邀请红包失败."); } else { $ref_url = url_helper::bonus_open_url($type_sn); return self::outsuccess(['direct_uri' => $ref_url],"redirect"); } } } else { return $this->open_page($idolid,['from_type' => '来自二维码']); } } private function open_page($idolid,$output = []) { try { $member_id = session_helper::memberid(); $output['is_self'] = $idolid == $member_id ? true : false; $relation = new relation\mem_relation($member_id); $isfriend = $relation->is_friends($idolid); if(strpos($output['scene'],'applyer') === false) { $output['scene'] = $isfriend ? 'friends' : 'stranger'; } $minfo = new member_info($idolid); $output['member_info'] = $minfo->filter(); $output['is_friend'] = $isfriend; $output['member_info']['common_rooms'] = count(room_helper::common_rooms($idolid,$member_id)); return self::outsuccess($output,"member/index",'wap'); } catch (Exception $ex) { Log::record(__METHOD__ . " {$ex->getMessage()}",Log::ERR); return false; } } /** * 用户详情@app点击进入 一般为登录状态 * @群聊->群详情页面->点击头像 * @群聊/单聊->点击头像 */ public function detailOp() { if(!session_helper::logined()) { return self::outerr(errcode::ErrUnLogin); } $idolid = intval($_GET['member_id']); if($idolid <= 0) { return self::outerr(errcode::ErrParamter); } $from = $this->room_name($_GET['room_id']); return $this->open_page($idolid,['from_type' => $from]); } private function room_name($room_id) { if($room_id > 0) { $room = room_helper::room($room_id); if($room == false) { $from = "来自于群聊"; } else { $name = $room->name(); $name = util::ellipsis($name); $from = "来自于群聊 {$name}"; } } else { $from = '来自于聊天'; } return $from; } /** * 查看好友申请 * param msg_id int 消息记录id */ public function friend_applyOp() { if(!session_helper::logined()) { return self::outerr(errcode::ErrUnLogin); } $msg_id = $_GET['msg_id']; $item = room_helper::message($msg_id); if($item == false) { return self::outerr(errcode::ErrParamter); } $msg = json_decode($item['orgmsg'],true); $idolid = intval($msg['from']['userid']); if($idolid <= 0) { return self::outerr(errcode::ErrParamter); } if($msg['type'] == 'apply_friend') { return $this->open_page($idolid,['from_type' => "来自于好友申请",'scene' => 'friend_applyer','note' => $msg['note'],"msg_id"=>$msg_id]); } elseif($msg['type'] == 'apply_room') { $room = room_helper::room($msg['room_id']); return $this->open_page($idolid,['from_type' => "来自于入群申请",'scene' => 'room_applyer','note' => $msg['note'],"msg_id"=>$msg_id,"room_name"=>util::ellipsis($room->name())]); } else { return self::outerr(errcode::ErrParamter); } } /** * 群详情页面/申请加群页面 @扫码进入 */ /** * 群聊详情页面/单聊详情页面 一般为登录状态 * @群聊/单聊 右上角详情按钮 */ /** * 查看入群申请 * @return bool */ public function room_applyOp() { if(!session_helper::logined()) { return self::outerr(errcode::ErrUnLogin); } $msg_id = $_GET['msg_id']; $item = room_helper::message($msg_id); if($item == false) { return self::outerr(errcode::ErrParamter); } $msg = json_decode($item['orgmsg'],true); $idolid = intval($msg['from']['userid']); if($idolid <= 0) { return self::outerr(errcode::ErrParamter); } return $this->open_page($idolid,['from_type' => '来自于好友申请','scene' => 'applyer','note' => $msg['note']]); } }