diff --git a/app/Http/Controllers/Api/V1/ImageController.php b/app/Http/Controllers/Api/V1/ImageController.php index 9522015b..da342ad1 100644 --- a/app/Http/Controllers/Api/V1/ImageController.php +++ b/app/Http/Controllers/Api/V1/ImageController.php @@ -55,4 +55,9 @@ class ImageController extends Controller 'key', 'name', 'extension', 'pathname', 'origin_name', 'size', 'mimetype', 'md5', 'sha1', 'links' )); } + + public function images(Request $request): Response + { + + } } diff --git a/app/Http/Controllers/Api/V1/TokenController.php b/app/Http/Controllers/Api/V1/TokenController.php index 46f30fcb..d34c85c4 100644 --- a/app/Http/Controllers/Api/V1/TokenController.php +++ b/app/Http/Controllers/Api/V1/TokenController.php @@ -5,65 +5,37 @@ namespace App\Http\Controllers\Api\V1; use App\Http\Controllers\Controller; use App\Models\User; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use Illuminate\Support\Facades\Hash; +use Illuminate\Validation\ValidationException; class TokenController extends Controller { - /** - * Display a listing of the resource. - * - * @return \Illuminate\Http\Response - */ - public function index() + public function store(Request $request): Response { - // + try { + $request->validate([ + 'email' => 'required|email', + 'password' => 'required', + ]); + } catch (ValidationException $e) { + return $this->error($e->validator->errors()->first()); + } + + /** @var User|null $user */ + $user = User::query()->where('email', $request->email)->first(); + + if (! $user || ! Hash::check($request->password, $user->password)) { + return $this->error('The email address or password is incorrect.'); + } + + $token = $user->createToken($user->email)->plainTextToken; + + return $this->success('success', compact('token')); } - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response - */ - public function store(Request $request) + public function clear(): Response { - /** @var User $user */ - $user = $request->user(); - $token = $user->createToken('test'); - return $this->success('success', $token->toArray()); - } - - /** - * Display the specified resource. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function show($id) - { - // - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param int $id - * @return \Illuminate\Http\Response - */ - public function update(Request $request, $id) - { - // - } - - /** - * Remove the specified resource from storage. - * - * @param int $id - * @return \Illuminate\Http\Response - */ - public function destroy($id) - { - // } } diff --git a/resources/views/common/api.blade.php b/resources/views/common/api.blade.php index f7df8533..51384c9f 100644 --- a/resources/views/common/api.blade.php +++ b/resources/views/common/api.blade.php @@ -52,6 +52,84 @@ +
授权相关
+生成 Token
+请求参数
+| + 字段 + | ++ 类型 + | ++ 说明 + | +
|---|---|---|
| String | +邮箱 | +|
| password | +String | +密码 | +
返回参数
+| + 字段 + | ++ 类型 + | ++ 说明 + | +
|---|---|---|
| status | +Boolean | +状态,true 或 false | +
| message | +String | +描述信息 | +
| data | +Object | +数据 | +
| token | +String | +Token | +
图片相关