更新路由配置和登录界面接口

This commit is contained in:
李志强 2026-02-06 20:29:35 +08:00
parent 776aacfa2e
commit badc502fbb
3 changed files with 25 additions and 8 deletions

View File

@ -4,6 +4,7 @@ declare (strict_types = 1);
namespace app\admin\controller; namespace app\admin\controller;
use app\admin\BaseController; use app\admin\BaseController;
class Index extends BaseController class Index extends BaseController
{ {
public function index() public function index()

View File

@ -9,9 +9,11 @@ use think\exception\ValidateException;
use think\facade\Db; use think\facade\Db;
use think\facade\Cache; use think\facade\Cache;
use think\response\Json; use think\response\Json;
use app\model\AdminUser;
use app\service\JwtService; use app\service\JwtService;
use app\model\AdminUser;
use app\model\System\SystemSiteSettings;
class LoginController extends BaseController class LoginController extends BaseController
{ {
private function generateToken($userInfo): string private function generateToken($userInfo): string
@ -103,7 +105,7 @@ class LoginController extends BaseController
{ {
$authHeader = $this->request->header('Authorization', ''); $authHeader = $this->request->header('Authorization', '');
$userInfo = null; $userInfo = null;
if (preg_match('/Bearer\s+(.+)/i', $authHeader, $matches)) { if (preg_match('/Bearer\s+(.+)/i', $authHeader, $matches)) {
$tokenData = $this->verifyToken($matches[1]); $tokenData = $this->verifyToken($matches[1]);
if ($tokenData && isset($tokenData['user'])) { if ($tokenData && isset($tokenData['user'])) {
@ -145,7 +147,7 @@ class LoginController extends BaseController
public function userInfo(): Json public function userInfo(): Json
{ {
$authHeader = $this->request->header('Authorization', ''); $authHeader = $this->request->header('Authorization', '');
if (!preg_match('/Bearer\s+(.+)/i', $authHeader, $matches)) { if (!preg_match('/Bearer\s+(.+)/i', $authHeader, $matches)) {
return json([ return json([
'code' => 401, 'code' => 401,
@ -154,7 +156,7 @@ class LoginController extends BaseController
} }
$tokenData = $this->verifyToken($matches[1]); $tokenData = $this->verifyToken($matches[1]);
if (!$tokenData || !isset($tokenData['user'])) { if (!$tokenData || !isset($tokenData['user'])) {
return json([ return json([
'code' => 401, 'code' => 401,
@ -183,9 +185,22 @@ class LoginController extends BaseController
'data' => $userData->toArray() 'data' => $userData->toArray()
]); ]);
} }
public function getAdminUserFromToken(): array public function getAdminUserFromToken(): array
{ {
return JwtService::getUserFromHeader($this->request->header('Authorization', '')); return JwtService::getUserFromHeader($this->request->header('Authorization', ''));
} }
public function loginInfo()
{
$loginInfo = SystemSiteSettings::select();
return json([
'code' => 200,
'msg' => '获取成功',
'data' => $loginInfo
]);
}
} }

View File

@ -9,6 +9,7 @@ Route::get('index/index', 'app\\admin\\controller\\Index@index');
Route::get('storage/:path', 'app\\admin\\controller\\StorageController@index')->pattern(['path' => '.*']); Route::get('storage/:path', 'app\\admin\\controller\\StorageController@index')->pattern(['path' => '.*']);
// 登录路由 // 登录路由
Route::post('loginInfo', 'app\\admin\\controller\\LoginController@loginInfo');
Route::post('login', 'app\\admin\\controller\\LoginController@login'); Route::post('login', 'app\\admin\\controller\\LoginController@login');
Route::post('logout', 'app\\admin\\controller\\LoginController@logout'); Route::post('logout', 'app\\admin\\controller\\LoginController@logout');
Route::get('user/info', 'app\\admin\\controller\\LoginController@userInfo'); Route::get('user/info', 'app\\admin\\controller\\LoginController@userInfo');