Browse Source

add news

master
SunFree 10 months ago
parent
commit
aed0f687eb
  1. BIN
      internal/__pycache__/models.cpython-310.pyc
  2. 7
      internal/models.py
  3. BIN
      routers/__pycache__/blogmanage.cpython-310.pyc
  4. BIN
      routers/__pycache__/typemanage.cpython-310.pyc
  5. BIN
      routers/__pycache__/usermanage.cpython-310.pyc
  6. 74
      routers/blogmanage.py
  7. 23
      routers/typemanage.py

BIN
internal/__pycache__/models.cpython-310.pyc

7
internal/models.py

@ -9,6 +9,9 @@ class Token(BaseModel):
class TokenData(BaseModel):
username: str = None
# User相关的模型
class User(BaseModel):
username: Annotated[str,Field(
@ -56,10 +59,10 @@ class Blog(BaseModel):
description="备注允许为空"
)]
class BlogResponse(BaseModel):
class ResponseMessage(BaseModel):
status:int
message:str
blog:Blog
data: object
class TypeList(BaseModel):

BIN
routers/__pycache__/blogmanage.cpython-310.pyc

BIN
routers/__pycache__/typemanage.cpython-310.pyc

BIN
routers/__pycache__/usermanage.cpython-310.pyc

74
routers/blogmanage.py

@ -1,18 +1,70 @@
from fastapi import Depends,APIRouter,status
from fastapi import Depends, APIRouter, status,Query
from internal.models import *
from dependencies import get_current_active_user,execute_query
from dependencies import get_current_active_user, execute_query
router=APIRouter(
router = APIRouter(
prefix="/blogs",
tags=['博客管理']
)
@router.post('/add',response_model=BlogResponse)
async def blog_add(blog:Blog,_:User=Depends(get_current_active_user)):
select_query="INSERT INTO blogs (blogtitle,blogcontent,typeid,descr) VALUES (%s,%s,%s,%s)"
blog_data=(blog.blogtitle,blog.blogcontent,blog.typeid,blog.descr)
execute_query(select_query,blog_data)
@router.post('/add', response_model=ResponseMessage)
async def blog_add(blog: Blog, _: User = Depends(get_current_active_user)):
select_query = "INSERT INTO blogs (blogtitle,blogcontent,typeid,descr) VALUES (%s,%s,%s,%s)"
blog_data = (blog.blogtitle, blog.blogcontent, blog.typeid, blog.descr)
execute_query(select_query, blog_data)
return {
'status': status.HTTP_200_OK,
'message': 'blog create successfully!',
'data': blog
}
@router.get("/list")
async def blog_list():
select_query = "SELECT blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id ORDER BY create_at DESC;"
blog_list = execute_query(select_query, fetchall=True)
return {
'status': status.HTTP_200_OK,
'message': 'blog search succuessfully!',
'data': blog_list
}
@router.get("/list/bytitle")
async def blog_list_bytitle(
blogtitle: str= Query(None, description="博客标题"),
typename: str = Query(None, description="博客类型"),
# start_date:str=Query(None,description="开始时间"),
# end_date:str=Query(None,description="开始时间"),
):
select_query = "SELECT blogtitle, blogcontent, typename, create_at, update_at, blogs.descr FROM blogs LEFT JOIN `types` ON blogs.typeid = types.id WHERE 1=1"
params = []
if blogtitle:
select_query += " AND blogtitle LIKE %s"
params.append(f"%{blogtitle}%")
if typename:
select_query += " AND typename LIKE %s"
params.append(f"%{typename}%")
# if start_date:
# select_query += " AND create_at >= %s"
# params.append(start_date)
# if end_date:
# select_query += " AND create_at <= %s"
# params.append(end_date)
# 添加排序条件
select_query += " ORDER BY create_at DESC"
# 执行查询
blog_list = execute_query(select_query, params=params, fetchall=True)
return {
'status':status.HTTP_200_OK,
'message':'blog create successfully!',
'blog':blog
'status': status.HTTP_200_OK,
'message': 'blog bytitle succuessfully!',
'data': blog_list
}

23
routers/typemanage.py

@ -1,12 +1,17 @@
from fastapi import APIRouter,Depends
from internal.models import*
from dependencies import get_current_active_user,execute_query
router=APIRouter(
from fastapi import APIRouter, Depends, status
from internal.models import *
from dependencies import get_current_active_user, execute_query
router = APIRouter(
prefix="/types",
tags=["分类管理"]
)
@router.get("/typelist",response_model=list[TypeList])
async def read_type_all(_:User=Depends(get_current_active_user)):
select_query="SELECT blogid,typename,descr FROM types;"
type_all=execute_query(select_query,fetchall=True)
return type_all
@router.get("/list")
async def read_type_all():
select_query = "SELECT id,typename,descr FROM types;"
type_all = execute_query(select_query, fetchall=True)
return {
"status": status.HTTP_200_OK,
"message": "type search successfully!",
"data": type_all
}
Loading…
Cancel
Save