user(); if($user->phone){ return $this->error('您已绑定手机号,请勿重复绑定'); } $code = $request->input('code'); $app = EasyWeChat::miniApp(); try { $response = $app->getClient()->postJson('wxa/business/getuserphonenumber', [ 'code' => $code ]); }catch (\Throwable $th) { return $this->error($th->getMessage()); } if (Arr::get($response, 'errcode')) { return $this->error(Arr::get($response, 'errmsg')); } $phone = Arr::get($response['phone_info'], 'phoneNumber'); // $phone = '17784326301'; $res = $this->service->bindPhone($user, $phone); if($res['status']){ return $this->success(null, '绑定成功'); }else{ return $this->error($res['message']); } } public function activityList(Request $request) { $userActivities = UserActivity::with(['activity' => function($q) { $q->show(); }]) ->where(['user_id'=>$request->user()->id]) ->orderBy('created_at', 'desc') ->simplePaginate($request->query('per_page', 20)); return $this->success(['activities' => UserActivityResource::collection($userActivities)->resolve()]); } public function giftList(Request $request) { $userGifts = $request->user()->gifts()->with(['gift', 'gift.activity'])->sort() ->simplePaginate($request->query('per_page', 20)); return $this->success(['activities' => UserGiftResource::collection($userGifts)->resolve()]); } public function userGift(UserGift $userGift, Request $request) { return UserGiftResource::make($userGift); } public function receiveGift(UserGift $userGift, ReceiveGiftRequest $request) { if($userGift->user_id === $request->user()->id){ $this->service->receiveGift($userGift, $request->input()); }else{ return $this->error('领取失败。'); } return $this->success(null, '领取成功'); } public function updateUserInfo(UserInfoRequest $request) { $user = $request->user(); $nickName = $request->input('nick_name'); $avatar = $request->input('avatar'); //处理头像; $avatarName = substr( $avatar , strrpos($avatar , '/')+1); $filePath = 'avatars/'.$avatarName; $file = file_get_contents($avatar); Storage::disk(Admin::config('admin.upload.disk'))->put($filePath, $file); $avatar = Storage::disk(Admin::config('admin.upload.disk'))->url($filePath); $user->update([ 'avatar' => $avatar, 'nick_name' => $nickName ]); return $this->success(null, '修改成功'); } /** * 执行资源上传 */ public function uploadResource(Request $request) { $path = $request->input('path', 'uploads') . '/temporary/' . date('Y-m-d'); $result = []; // file 文件 $files = $request->file(); if($files){ foreach ($files as $key => $fileData) { $item = null; if (is_array($fileData)) { foreach ($fileData as $file) { if($_save_res = $this->service->saveFile($path, $file)){ $file_path = Storage::disk(Admin::config('admin.upload.disk'))->url($_save_res); }else{ $file_path = ''; } $item[] = $file_path; } } else { if($save_res = $this->service->saveFile($path, $fileData)){ $file_path = Storage::disk(Admin::config('admin.upload.disk'))->url($save_res); }else{ $file_path = ''; } $item = $file_path; } $result[$key] = $item; } }else{ $data = $request->except(['path']); foreach ($data as $key => $files) { $item = null; if (is_array($files)) { // $_stop = 0; foreach ($files as $file) { $item[] = Storage::disk(Admin::config('admin.upload.disk'))->url($this->service->saveFile($path, $file)); } } else { $item = Storage::disk(Admin::config('admin.upload.disk'))->url($this->service->saveFile($path, $files)); } $result[$key] = $item; } } return $this->json($result); } }