个人中心修改密码接口

This commit is contained in:
TL 2022-07-07 20:35:01 +08:00
parent 3e2a1e463d
commit 4b8e4f839e
2 changed files with 24 additions and 0 deletions

View File

@ -12,12 +12,20 @@
namespace Beike\Shop\Http\Controllers\Account;
use Beike\Models\Customer;
use Beike\Repositories\CustomerRepo;
use Beike\Shop\Http\Controllers\Controller;
use Beike\Shop\Http\Requests\ForgottenRequest;
use http\Env\Request;
use Illuminate\Support\Facades\Hash;
use function auth;
use function view;
class AccountController extends Controller
{
/**
* 个人中心首页
* @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View
*/
public function index()
{
$data = auth(Customer::AUTH_GUARD)->user()->toArray();
@ -25,4 +33,19 @@ class AccountController extends Controller
return view('account/account', $data);
}
/**
* 修改密码,提交"origin_password""password", "password_confirmation", 验证新密码和确认密码相等,且原密码正确则修改密码
* @param ForgottenRequest $request
* @return array
* @throws \Exception
*/
public function updatePassword(ForgottenRequest $request)
{
if (Hash::make($request->get('origin_password')) != current_customer()->getAuthPassword()) {
throw new \Exception("原密码错误");
}
CustomerRepo::update(current_customer(), ['password' => $request->get('password')]);
return json_success('密码修改成功');
}
}

View File

@ -61,6 +61,7 @@ Route::prefix('/')
->middleware('shop_auth:' . Customer::AUTH_GUARD)
->group(function () {
Route::get('/', [AccountController::class, 'index'])->name('account.index');
Route::get('update_password', [AccountController::class, 'updatePassword'])->name('account.update_password');
Route::resource('addresses', AddressController::class);
Route::get('orders', [OrderController::class, 'index'])->name('account.order.index');