middleware('auth'); view()->share('nav', 4); } public function index(Request $request) { $user = Auth::user(); return view('settings.index', compact('user')); } public function mobile(Request $request) { if ($request->isMethod('POST')) { $validator = Validator::make($request->all(), [ 'username' => 'required|mobile|unique:users', 'code' => ['required', 'size:4', function ($attribute, $value, $fail) use ($request) { if ($value != SmsModel::where('mobile', $request->username)->where('used', 0)->latest()->value('code')) { return $fail('验证码不正确'); } }], ], [ 'username.required' => '手机号码必须填写', 'username.mobile' => '手机号码格式不正确', 'username.unique' => '手机号码已经绑定', 'code.required' => '验证码必须填写', 'code.size' => '验证码长度为:size位', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } $username = $request->username; $user = Auth::user(); $user->username = $username; $user->save(); return $this->success('手机号修改成功', route('user.index')); } else { return view('settings.mobile'); } } public function password(Request $request) { if ($request->isMethod('post')) { $validator = Validator::make($request->all(), [ 'oldpassword' => ['required', function ($attribute, $value, $fail) { if (!Hash::check($value, Auth::user()->password)) { return $fail('原密码不正确'); } }], 'password' => 'required|between:6,32|confirmed', 'password_confirmation' => 'required|between:6,32', ], [ 'oldpassword.required' => '原密码必须填写', 'password.required' => '新密码必须填写', 'password.between' => '新密码有误', 'password.confirmed' => '确认密码与新密码不一致', 'password_confirmation.required' => '确认密码必须填写', 'password_confirmation.between' => '确认密码有误', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } $user = Auth::user(); $user->password = $request->password; if ($user->save()) { return $this->success('密码修改成功', route('user.index')); } else { return $this->error('密码修改失败'); } } else { return view('settings.password'); } } /** * 找回支付密码 * @Author: * @Date:2018-11-07T13:46:34+0800 * @param Request $request */ public function forgot(Request $request) { if ($request->isMethod('POST')) { $validator = Validator::make($request->all(), [ 'mobile' => 'required|mobile|exists:users', 'code' => 'required|sms_check:mobile,FORGOT', ], [ 'mobile.required' => '手机号码必须填写', 'mobile.mobile' => '手机号码格式不正确', 'mobile.exists' => '手机号码不存在', 'code.required' => '验证码必须填写', 'code.sms_check' => '验证码不正确', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } $request->session()->put('reset_mobile', $request->mobile); return $this->success('身份验证成功', Url::temporarySignedRoute('setting.forgot.reset', now()->addHour())); } else { return view('settings.forgot'); } } //修改昵称 public function nickname(Request $request) { $user = Auth::user(); if ($request->isMethod('POST')) { $validator = Validator::make($request->all(), [ 'nickname' => 'required', ], [ 'nickname.required' => '昵称必须填写', ]); if ($validator->fails()) { return $this->error($validator->errors()->first()); } $result = $user->info()->update([ 'nickname' => $request->nickname, ]); if ($result) { return $this->success('信息更新成功', route('user.index')); } else { return $this->error('信息更新失败'); } } else { return view('settings.nickname', compact('user')); } } }