This commit is contained in:
Lan
2026-01-07 20:36:59 +08:00
parent 78f4bbb0c8
commit 877e952b67
4 changed files with 72 additions and 12 deletions
+4
View File
@@ -8,6 +8,7 @@ from apps.base.models import FileCodes, KeyValue
from apps.base.utils import get_expire_info, get_file_path_name
from fastapi import HTTPException
from core.settings import data_root
from core.utils import hash_password, is_password_hashed
class FileService:
@@ -76,6 +77,9 @@ class ConfigService:
if admin_token is None or admin_token == "":
raise HTTPException(status_code=400, detail="管理员密码不能为空")
if not is_password_hashed(admin_token):
data["admin_token"] = hash_password(admin_token)
for key, value in data.items():
if key not in settings.default_config:
continue
+2 -4
View File
@@ -17,18 +17,16 @@ from core.response import APIResponse
from apps.base.models import FileCodes, KeyValue
from apps.admin.dependencies import create_token
from core.settings import settings
from core.utils import get_now
from core.utils import get_now, verify_password
admin_api = APIRouter(prefix="/admin", tags=["管理"])
@admin_api.post("/login")
async def login(data: LoginData):
# 验证管理员密码
if data.password != settings.admin_token:
if not verify_password(data.password, settings.admin_token):
raise HTTPException(status_code=401, detail="密码错误")
# 生成包含管理员身份的token
token = create_token({"is_admin": True})
return APIResponse(detail={"token": token, "token_type": "Bearer"})