补全管理员操作
parent
9262a58f10
commit
1ffec7bb41
|
|
@ -8,6 +8,7 @@ use Illuminate\Http\Request;
|
|||
use Illuminate\Support\Facades\DB;
|
||||
use App\Http\Requestes\AdminUserRequest;
|
||||
use App\Http\Resources\AdminUserResource;
|
||||
use App\Http\Requestes\RestPasswordRequest;
|
||||
use App\Http\Requestes\AdminUserUpdateRequest;
|
||||
|
||||
class AdminUserController extends Controller
|
||||
|
|
@ -84,7 +85,23 @@ class AdminUserController extends Controller
|
|||
* @return void
|
||||
*/
|
||||
public function endable(AdminUser $adminUser){
|
||||
if($adminUser->id == 1){
|
||||
return $this->error('操作失败,请稍后再试');
|
||||
}
|
||||
$adminUser->update([
|
||||
'is_enable' => (int) !$adminUser->is_enable
|
||||
]);
|
||||
return $this->success('操作成功!');
|
||||
}
|
||||
|
||||
public function editPassword(AdminUser $adminUser, RestPasswordRequest $request){
|
||||
if($adminUser->id == 1){
|
||||
return $this->error('操作失败,请稍后再试');
|
||||
}
|
||||
$adminUser->update([
|
||||
'password' => bcrypt($request->input('password'))
|
||||
]);
|
||||
return $this->success('修改成功!');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ class AuthController extends Controller
|
|||
return $this->error('用户名或密码错误');
|
||||
}
|
||||
|
||||
if($user->is_enable !== 1){
|
||||
return $this->error('用户状态异常请联系管理员');
|
||||
}
|
||||
|
||||
return $this->attemptUser($user);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,24 +2,17 @@
|
|||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Exceptions\BizException;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Exceptions\BizException;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Http\Requestes\RestPasswordRequest;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
public function resetPwd(Request $request)
|
||||
public function resetPwd(RestPasswordRequest $request)
|
||||
{
|
||||
$input = $request->validate([
|
||||
'password' => 'required|current_password:api',
|
||||
'new_password' => 'required',
|
||||
], [
|
||||
'password.current_password' => '密码错误',
|
||||
]);
|
||||
$input = $request->input();
|
||||
$user = auth('api')->user();
|
||||
if (! $user || ! Hash::check($input['password'], $user->password)) {
|
||||
throw new BizException('密码错误');
|
||||
}
|
||||
|
||||
$user->password = bcrypt($input['new_password']);
|
||||
$user->save();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requestes;
|
||||
|
||||
use Illuminate\Contracts\Validation\Validator;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Http\Exceptions\HttpResponseException;
|
||||
|
||||
class RestPasswordRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'password' => 'required|string|min:6|max:32',
|
||||
'password_confirmation' => 'required|same:password',
|
||||
];
|
||||
}
|
||||
|
||||
public function messages()
|
||||
{
|
||||
$messages = [
|
||||
'password.required' => '请填写登录密码',
|
||||
'password.string'=> '请正确填写密码',
|
||||
'password.min' => '密码长度不能低于6位',
|
||||
'password.max' => '密码长度不能超过32位',
|
||||
'password.confirmed' => '两次密码不一致',
|
||||
];
|
||||
|
||||
return $messages;
|
||||
}
|
||||
|
||||
protected function failedValidation(Validator $validator)
|
||||
{
|
||||
$error = $validator->errors()->all();
|
||||
throw new HttpResponseException(response()->json(['data' => [], 'code' => 400, 'message' => $error[0]]));
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,7 @@ class AdminUserResource extends JsonResource
|
|||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'username' => $this->username,
|
||||
'name' => $this->name,
|
||||
'avatar'=> $this->avatar,
|
||||
'department' => $this->department,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class AdminUser extends BaseAdminModel
|
|||
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'usersname',
|
||||
'username',
|
||||
'password',
|
||||
'avatar',
|
||||
'department', 'phone', 'status', 'is_enable',
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
|
|||
|
||||
/** 系统管理 **/
|
||||
Route::apiResource('admin-users', AdminUserController::class)->names('admin_users');
|
||||
Route::put('admin-users/{admin_user}/enable', [AdminUserController::class, 'endable'])->name('admin_users.enable');
|
||||
Route::put('admin-users/{admin_user}/edit-password', [AdminUserController::class, 'editPassword'])->name('admin_users.edit_password');
|
||||
Route::apiResource('admin-roles', AdminRoleController::class)->names('admin_roles');
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue