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 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->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->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->saveFile($path, $file)); } } else { $item = Storage::disk(Admin::config('admin.upload.disk'))->url($this->saveFile($path, $files)); } $result[$key] = $item; } } return $this->json($result); } protected function saveFile($path, $file = null) { if (gettype($file) == 'object') { //获取文件大小 if($size = $file->getSize() > 2*1024*1024){//大于2M return false; } $type = $file->getClientOriginalExtension(); if (in_array($type, array('jpeg', 'jpg', 'bmp', 'png'))) { $file = Storage::disk(Admin::config('admin.upload.disk'))->putFile($path, $file); }else{ return false; } } else if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $file, $result)) { $type = $result[2]; if (in_array($type, array('jpeg', 'jpg', 'bmp', 'png'))) { $savePath = $path . '/' . uniqid() . '.' . $type; Storage::disk(Admin::config('admin.upload.disk'))->put($savePath, base64_decode(str_replace($result[1], '', $file))); $file = $savePath; }else{ return false; } } return $file; } }