UI优化完善初版

This commit is contained in:
lt
2026-05-01 06:48:21 +08:00
parent e1ba31afda
commit cfb60d7aae
12228 changed files with 1358947 additions and 2593 deletions
+8 -20
View File
@@ -5,13 +5,13 @@ from pydantic import BaseModel
from datetime import datetime
from typing import Optional
from app.database import get_db
from app.models import Topic, PublishRecord, User
from ..database import get_db
from ..models import Topic, PublishRecord, User
from sqlalchemy.orm import Session
from .auth import verify_token
from .auth import get_current_admin
from ..core.audit_logger import audit_log
router = APIRouter()
router = APIRouter(prefix="/api/publishing", tags=["publishing"])
class PublishRequest(BaseModel):
topic_id: str
@@ -21,26 +21,14 @@ class PublishResponse(BaseModel):
topic_id: str
message: str
def get_current_user(request: Request, db: Session = Depends(get_db)) -> User:
"""获取当前登录用户(可选,未登录也允许,但记录为 anonymous)"""
auth_header = request.headers.get("Authorization")
if not auth_header or not auth_header.startswith("Bearer "):
return None
token = auth_header.split(" ")[1]
try:
from .auth import verify_token
return verify_token(token, db)
except Exception:
return None
@router.post("/api/publishing/create", response_model=PublishResponse)
@router.post("/create", response_model=PublishResponse)
async def create_publish_record(
req: PublishRequest,
request: Request,
db: Session = Depends(get_db),
current_user: User = Depends(get_current_user)
current_user: User = Depends(get_current_admin)
):
"""标记选题为已发布,并创建发布记录"""
"""标记选题为已发布,并创建发布记录(管理员)"""
try:
# 查找选题
topic = db.query(Topic).filter(Topic.id == req.topic_id).first()
@@ -56,7 +44,7 @@ async def create_publish_record(
topic.published_at = datetime.now().date() # 设置发布时间为今天
# 创建发布记录
operator = current_user.username if current_user else 'anonymous'
operator = current_user.username
record = PublishRecord(
topic_id=req.topic_id,
platform='all',