post('user_id', 0); $type = request()->post('type', 'detail'); $info = MemberService::make()->getInfo($userId? $userId : $this->userId, $type,[], $this->userId); if($info){ return showJson(1010, true, $info); }else{ return showJson(2017, false, [],403); } } /** * 用户主页信息 * @return array */ public function homeInfo() { $userId = request()->post('id', 0); $info = MemberService::make()->getHomeInfo($userId, $this->userId); if($info){ return showJson(1010, true, $info); }else{ return showJson(1004, false, [],'403'); } } /** * 聊天用户信息 * @return array */ public function chatInfo() { $params = request()->all(); $token = isset($params['token'])? $params['token'] : ''; if(empty($token)){ return showJson(1066,false); } $tokenData = MemberService::make()->getChatToken($token, 2); $userId = isset($tokenData['user_id'])? $tokenData['user_id'] : 0; $userType = isset($tokenData['user_type']) && $tokenData['user_type']? $tokenData['user_type'] : 1; $cacheKey = "caches:members:chat_{$userId}_{$userType}"; $info = RedisService::get($cacheKey); if($info){ return $info; } if($userType == 1){ $info = MemberService::make()->getInfo($userId, 'chat',['id','username','nickname','gender','app_uuid','avatar']); }else if($userType == 2){ $info = MerchantModel::where(['user_id'=> $userId,'mark'=>1]) ->select(['user_id as id','name as nickname','mobile as username','logo as avatar']) ->first(); $info = $info? $info->toArray() :[]; }else if($userType == 3){ $info = AcceptorModel::from('acceptor as a') ->leftJoin('member as b','b.id','=','a.user_id') ->where(['a.user_id'=> $userId,'a.mark'=>1]) ->select(['a.user_id as id','a.name as nickname','b.username','b.avatar']) ->first(); $info = $info? $info->toArray() :[]; } if($info){ $info['avatar'] = $info['avatar']? get_image_url($info['avatar']) : get_image_url('/images/member/logo.png'); RedisService::set($cacheKey, $info, rand(5,10)); } return showJson(1010,true, $info); } /** * 关注 * @return array|mixed */ public function follow() { $params = request()->post(); if(!$result = MemberCollectService::make()->follow($this->userId, $params)){ return showJson(MemberCollectService::make()->getError(), false); }else{ return showJson(MemberCollectService::make()->getError(), true, $result); } } /** * 更新修改头像 * @return array */ public function setAvatar(Request $request) { // 上传单图统一调取方法 $result = upload_image($request, 'file','avatar'); if (!$result['success']) { return showJson($result['msg'],false,['url'=>'']); } // 文件路径 $file_path = $result['data']['img_path']; if (!$file_path) { return showJson('上传失败',false,['url'=>'']); } // 网络域名拼接 if ($file_path && strpos($file_path, IMG_URL) === false) { $file_path = get_image_url($file_path); } $avatar = $result['data']['img_path']; if(MemberService::make()->saveAvatar($this->userId, $avatar)){ return showJson(1013,true,['url'=> $file_path,'path'=> $avatar]); }else{ return showJson(1014,false,['url'=>'']); } } /** * 修改账号信息 * @param MemberValidator $validator * @return array */ public function modify(MemberValidator $validator) { $params = request()->all(); $scene = isset($params['scene'])? $params['scene'] : 'modify'; $params = $validator->check($params, $scene); if (!is_array($params)) { return showJson($params, false); } if(!MemberService::make()->modify($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==1040?405:0); }else{ return showJson(1013,true); } } /** * 身份认证 * @param MemberValidator $validator * @return array */ public function auth(MemberValidator $validator) { $params = request()->all(); $params = $validator->check($params, 'auth'); if (!is_array($params)) { return showJson($params, false); } if(!MemberService::make()->auth($this->userId, $params)){ return showJson(MemberService::make()->getError(),false); }else{ return showJson(MemberService::make()->getError(),true); } } /** * 邀请用户记录 * @return array */ public function inviteList() { $params =request()->post(); $pageSize = request()->post('pageSize', 15); $userId = isset($params['user_id']) && $params['user_id']>0? $params['user_id'] : $this->userId; $datas = MemberService::make()->getTeamList($userId, $params, $pageSize); return showJson(1010, true, $datas); } /** * 购买聊天服务 * @return array */ public function buyChat() { $params = request()->all(); if(!ImChatService::make()->buyChat($this->userId, $params)){ $code= ImChatService::make()->getError(); return showJson($code,false,'',$code==2403? 405 : 0); }else{ return showJson(ImChatService::make()->getError(),true); } } /** * 转账 * @param MemberValidator $validator * @return array */ public function transfer(MemberValidator $validator) { $params = request()->all(); $scene = isset($params['scene'])? $params['scene'] : 'transfer'; $params = $validator->check($params, $scene); if (!is_array($params)) { return showJson($params, false); } if(!MemberService::make()->transfer($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==1039?401:-1); }else{ return showJson(MemberService::make()->getError(),true); } } /** * 充值 * @param MemberValidator $validator * @return array */ public function recharge(MemberValidator $validator) { $params = request()->all(); $scene = isset($params['scene'])? $params['scene'] : 'recharge'; $params = $validator->check($params, $scene); if (!is_array($params)) { return showJson($params, false); } if(!$result = MemberService::make()->recharge($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false, [],$error== 2035? 405:0); }else{ return showJson(MemberService::make()->getError(),true, $result); } } /** * 提现 * @param MemberValidator $validator * @return array */ public function withdraw(MemberValidator $validator) { $params = request()->all(); $scene = isset($params['scene'])? $params['scene'] : 'withdraw'; $params = $validator->check($params, $scene); if (!is_array($params)) { return showJson($params, false); } if(!$result = MemberService::make()->withdraw($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==2035?405:-1); }else{ return showJson(MemberService::make()->getError(),true, $result); } } /** * 节点会员列表 * @return array */ public function nodes() { $params =request()->post(); $pageSize = request()->post('pageSize', 6); $datas = MemberNodeService::make()->getDataList($params, $pageSize,'', $this->userId); return showJson(1010, true, $datas); } /** * 购买节点会员 * @return array */ public function buyNode() { $params = request()->all(); if(!$result = MemberNodeService::make()->buyNode($this->userId, $params)){ $error = MemberNodeService::make()->getError(); return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1)); }else{ return showJson(MemberNodeService::make()->getError(),true, $result); } } /** * 升级消费 * @return array */ public function upgrade() { $params = request()->all(); if(!$result = MemberService::make()->upgrade($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1)); }else{ return showJson(MemberService::make()->getError(),true, $result); } } /** * 盲盒抽奖 * @return array */ public function draw() { $params = request()->all(); if(!$result = MemberService::make()->draw($this->userId, $params)){ $error = MemberService::make()->getError(); return showJson($error,false,'',$error==2035?405:($error == 1040?401:-1)); }else{ return showJson(MemberService::make()->getError(),true, $result); } } /** * 我的矿机 * @return array */ public function machine() { $params =request()->post(); $pageSize = request()->post('pageSize', 15); $userId = isset($params['user_id']) && $params['user_id']>0? $params['user_id'] : $this->userId; $datas = MemberService::make()->getMachineList($userId, $params, $pageSize); return showJson(1010, true, $datas); } }