45 lines
1.1 KiB
PHP
45 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace app\controller\admin;
|
|
|
|
use app\support\AdminAuthService;
|
|
use support\Request;
|
|
|
|
class AuthController
|
|
{
|
|
public function login(Request $request)
|
|
{
|
|
$mobile = trim((string)$request->input('mobile', ''));
|
|
$password = trim((string)$request->input('password', ''));
|
|
|
|
if ($mobile === '' || $password === '') {
|
|
return api_error('手机号和密码不能为空', 422);
|
|
}
|
|
|
|
try {
|
|
$payload = (new AdminAuthService())->login($mobile, $password, $request);
|
|
return api_success($payload, '登录成功');
|
|
} catch (\Throwable $e) {
|
|
return api_error($e->getMessage(), 401);
|
|
}
|
|
}
|
|
|
|
public function me(Request $request)
|
|
{
|
|
$admin = (new AdminAuthService())->current($request);
|
|
if (!$admin) {
|
|
return api_error('未登录或登录已过期', 401);
|
|
}
|
|
|
|
return api_success([
|
|
'admin_info' => $admin,
|
|
]);
|
|
}
|
|
|
|
public function logout(Request $request)
|
|
{
|
|
(new AdminAuthService())->logout($request);
|
|
return api_success([], '已退出登录');
|
|
}
|
|
}
|