|
@ -55,4 +55,59 @@ async def get_homepage_data(): |
|
|
# 合并博客和日记数据,按照创建日期降序排序 |
|
|
# 合并博客和日记数据,按照创建日期降序排序 |
|
|
combined_data = sorted(blog_list + diary_list, key=lambda x: x['create_at'], reverse=True) |
|
|
combined_data = sorted(blog_list + diary_list, key=lambda x: x['create_at'], reverse=True) |
|
|
|
|
|
|
|
|
|
|
|
return {"data": combined_data} |
|
|
|
|
|
|
|
|
|
|
|
@router.get("/searchtitle") |
|
|
|
|
|
async def search_homepage_data(title: str = Query("", description="Title to search for")): |
|
|
|
|
|
# 查询博客数据 |
|
|
|
|
|
select_blog = """ |
|
|
|
|
|
SELECT |
|
|
|
|
|
blogs.id, |
|
|
|
|
|
blogs.blogtitle, |
|
|
|
|
|
blogs.blogcontent, |
|
|
|
|
|
blogs.create_at, |
|
|
|
|
|
blogs.imglink, |
|
|
|
|
|
blogs.wordcount, |
|
|
|
|
|
blogtypes.typename, |
|
|
|
|
|
JSON_ARRAYAGG(labels.labelname) AS labelnames |
|
|
|
|
|
FROM blogs |
|
|
|
|
|
LEFT JOIN blogtypes ON blogs.typeid = blogtypes.id |
|
|
|
|
|
LEFT JOIN blog_label ON blog_label.blogid = blogs.id |
|
|
|
|
|
LEFT JOIN labels ON blog_label.labelid = labels.id |
|
|
|
|
|
WHERE blogs.blogtitle LIKE %s |
|
|
|
|
|
GROUP BY |
|
|
|
|
|
blogs.id, |
|
|
|
|
|
blogs.blogtitle, |
|
|
|
|
|
blogs.blogcontent, |
|
|
|
|
|
blogs.create_at, |
|
|
|
|
|
blogs.imglink, |
|
|
|
|
|
blogs.wordcount, |
|
|
|
|
|
blogtypes.typename |
|
|
|
|
|
ORDER BY create_at DESC |
|
|
|
|
|
""" |
|
|
|
|
|
blog_list =fetch_all(select_blog, ('%' + title + '%',)) |
|
|
|
|
|
|
|
|
|
|
|
# 查询日记数据 |
|
|
|
|
|
select_diary = """ |
|
|
|
|
|
SELECT |
|
|
|
|
|
diarys.id, |
|
|
|
|
|
diarys.diarytitle, |
|
|
|
|
|
diarys.diarycontent, |
|
|
|
|
|
diarys.imglink, |
|
|
|
|
|
diarytypes.typename, |
|
|
|
|
|
diarys.create_at, |
|
|
|
|
|
diarys.update_at |
|
|
|
|
|
FROM diarys |
|
|
|
|
|
LEFT JOIN diarytypes ON diarys.typeid = diarytypes.id |
|
|
|
|
|
WHERE diarys.diarytitle LIKE %s |
|
|
|
|
|
ORDER BY create_at DESC |
|
|
|
|
|
""" |
|
|
|
|
|
diary_list =fetch_all(select_diary, ('%' + title + '%',)) |
|
|
|
|
|
|
|
|
|
|
|
# 合并博客和日记数据,按照创建日期降序排序 |
|
|
|
|
|
filtered_blog_list = [item for item in blog_list if item.get('create_at')] |
|
|
|
|
|
filtered_diary_list = [item for item in diary_list if item.get('create_at')] |
|
|
|
|
|
combined_list = filtered_blog_list + filtered_diary_list |
|
|
|
|
|
combined_data = sorted(combined_list, key=lambda x: x['create_at'], reverse=True) |
|
|
|
|
|
|
|
|
return {"data": combined_data} |
|
|
return {"data": combined_data} |