版本1.0.4 - 发布前准备

- 修复system.py缩进错误
- 优化前端页面样式(待重构)
- 改进API接口结构
- 完善文档和自动化脚本
- 平台基本功能稳定运行
This commit is contained in:
lt
2026-04-29 09:32:43 +08:00
parent 0a31ae09af
commit e1ba31afda
96 changed files with 165251 additions and 376 deletions
+16 -8
View File
@@ -8,7 +8,7 @@ import secrets
from core.security import (
verify_password, get_password_hash, create_access_token,
create_audit_log
create_audit_log, get_current_user
)
from app.database import get_db
from app.models import User
@@ -46,6 +46,7 @@ async def login(
db=db,
user_id=0, # 未知用户
action="login_failed",
username=login_data.username,
resource_type="user",
resource_id=None,
details=f"用户名: {login_data.username}",
@@ -73,7 +74,8 @@ async def login(
db=db,
user_id=user.id,
action="login",
resource_type="user",
username=user.username,
resource_type="user",
resource_id=user.id,
details=f"登录成功",
ip_address=request.client.host,
@@ -94,13 +96,18 @@ async def login(
@router.get("/me")
async def read_users_me(
current_user=Depends(lambda: None), # 占位符,实际由依赖注入
db: Session = Depends(get_db)
current_user: User = Depends(get_current_user)
):
"""获取当前用户信息"""
# 这里应该使用JWT验证中间件获取current_user
# 简化实现...
raise HTTPException(status_code=501, detail="功能待实现")
return {
"user": {
"id": current_user.id,
"username": current_user.username,
"role": current_user.role,
"created_at": current_user.created_at.isoformat() if current_user.created_at else None,
"updated_at": current_user.updated_at.isoformat() if current_user.updated_at else None
}
}
@router.post("/register")
async def register(
@@ -133,7 +140,8 @@ async def register(
db=db,
user_id=new_user.id,
action="create_user",
resource_type="user",
username=new_user.username,
resource_type="user",
resource_id=new_user.id,
details=f"角色: {user_data.role}"
)
+2 -2
View File
@@ -13,7 +13,7 @@ from app.models import Topic, User
router = APIRouter()
class PublishRequest(BaseModel):
topic_id: int
topic_id: str
@router.post("/create")
async def create_publication(
@@ -52,7 +52,7 @@ async def create_publication(
# 更新选题状态和发布时间
topic.published_at = datetime.utcnow()
topic.published_urls = urls
topic.platform_urls = urls
topic.status = "已发布"
topic.updated_at = datetime.utcnow()
+1
View File
@@ -4,6 +4,7 @@ from sqlalchemy import func
from datetime import datetime, date
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from app.models import Topic
import os
from app.database import get_db
+3 -3
View File
@@ -56,7 +56,7 @@ async def get_topics(
"updated_at": topic.updated_at.isoformat() if topic.updated_at else None,
"generated_at": topic.generated_at.isoformat() if topic.generated_at else None,
"published_at": topic.published_at.isoformat() if topic.published_at else None,
"published_urls": topic.published_urls
"platform_urls": topic.platform_urls
})
return result
@@ -140,7 +140,7 @@ async def update_topic(
@router.delete("/{topic_id}")
async def delete_topic(
topic_id: int,
topic_id: str,
current_user: User = Depends(get_current_admin_user),
db: Session = Depends(get_db)
):
@@ -185,5 +185,5 @@ async def get_topic(
"updated_at": topic.updated_at.isoformat() if topic.updated_at else None,
"generated_at": topic.generated_at.isoformat() if topic.generated_at else None,
"published_at": topic.published_at.isoformat() if topic.published_at else None,
"published_urls": topic.published_urls
"platform_urls": topic.platform_urls
}