refactor: 修改验证码接口及登录接口

This commit is contained in:
2025-01-02 16:22:58 +08:00
parent 824d1cf8c2
commit 3d81035d0e
8 changed files with 109 additions and 9 deletions

View File

@@ -5,6 +5,7 @@ namespace app\admin\controller\v1;
use app\admin\model\v1\UserModel;
use app\admin\validate\v1\LoginValidate;
use thans\jwt\facade\JWTAuth;
use think\facade\Cache;
class Login
@@ -18,6 +19,8 @@ class Login
$post = request()->post([
'username',
'password',
'token',
'captcha'
]);
// 验证参数
@@ -25,6 +28,18 @@ class Login
if (!$validate->check($post)) {
return error($validate->getError());
}
// 校验验证码
$code = Cache::get('captcha:token.' . $post['token']);
if (!$code) {
return error('验证码不存在或已过期!');
}
Cache::delete('captcha:token.' . $post['token']);
// 校验
if (!password_verify($post['captcha'], $code)) {
return error('验证码错误!');
}
// 验证用户
$user = UserModel::usernameOrMobile($post['username'])->find();
@@ -41,7 +56,15 @@ class Login
if ($user['status'] == -1) {
return error('用户已禁用,请联系管理员!');
}
dump(session("ss"));
return $user;
// 生成 jwt token
$token = JWTAuth::builder(['uid' => $user['id']]);
return success('登录成功!', [
'uid' => $user['id'],
'nickname' => $user['nickname'],
'avatar' => $user['avatar'],
'token' => $token,
]);
}
}