diff --git a/internal/models.py b/internal/models.py
index 6afd342..61958d5 100644
--- a/internal/models.py
+++ b/internal/models.py
@@ -9,9 +9,6 @@ class Token(BaseModel):
 class TokenData(BaseModel):
     username: str = None
 
-
-
-
 # User相关的模型
 class User(BaseModel):
     username: Annotated[str,Field(
@@ -59,6 +56,20 @@ class Blog(BaseModel):
         description="备注允许为空"
     )]
 
+class Classtic(BaseModel):
+    header:Annotated[str,Field(
+        title="语录名称",
+        description="语录名称不允许为空"
+    )]
+    text:Annotated[str,Field(
+        title="语录内容",
+        description="语录内容不允许为空"
+    )]
+    descr:Annotated[str,Field(
+        title="备注",
+        default=None,
+        description="备注允许为空"
+    )]
 
 class TypeList(BaseModel):
     blogid:Annotated[int,Field(
diff --git a/main.py b/main.py
index 18a192a..678364e 100644
--- a/main.py
+++ b/main.py
@@ -4,13 +4,14 @@ from fastapi import Depends, FastAPI, HTTPException, status
 from dependencies import *
 from internal.models import Token
 from fastapi.middleware.cors import CORSMiddleware
-from routers import usermanage,typemanage,blogmanage,classticmanage,commonlinkmanage
+from routers import usermanage,typemanage,blogmanage,classticmanage,commonlinkmanage,labelmanage
 app=FastAPI()
 app.include_router(usermanage.router)
 app.include_router(typemanage.router)
 app.include_router(blogmanage.router)
 app.include_router(classticmanage.router)
 app.include_router(commonlinkmanage.router)
+app.include_router(labelmanage.router)
 # 解决跨域
 app.add_middleware(
     CORSMiddleware,
diff --git a/routers/blogmanage.py b/routers/blogmanage.py
index 39ea4ea..c17896a 100644
--- a/routers/blogmanage.py
+++ b/routers/blogmanage.py
@@ -1,52 +1,79 @@
 from fastapi import Depends, APIRouter, status, Query, Path, HTTPException
 from internal.models import *
-from internal.database import fetch_one, fetch_all, execute_query, response_success, raise_if_exists,raise_if_not_found
+from internal.database import (
+    fetch_one,
+    fetch_all,
+    execute_query,
+    response_success,
+    raise_if_exists,
+    raise_if_not_found,
+)
 from dependencies import get_current_active_user
 
-router = APIRouter(
-    prefix="/blogs",
-    tags=['博客管理']
-)
+router = APIRouter(prefix="/blogs", tags=["博客管理"])
+
 # 获取列表
+
+
 @router.get("/list")
 async def blog_list():
-    select_query = "SELECT blogs.id,blogs.blogtitle,blogs.img,blogs.blogcontent,blogs.readnum,blogs.readminite,blogs.wordcount,`types`.typename,labels.labelname,blogs.descr,blogs.create_at,blogs.update_at FROM blogs LEFT JOIN `types` ON blogs.typeid=types.id JOIN labels ON labels.id=blogs.labelid ORDER BY create_at DESC;"
+    select_query = """ 
+       SELECT blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img,
+       blogs.readminite, blogs.readnum, blogs.wordcount, types.typename,
+       JSON_ARRAYAGG(labels.labelname) AS labelnames
+FROM blogs
+LEFT JOIN `types` ON blogs.typeid = types.id
+LEFT JOIN blog_label ON blog_label.blogid = blogs.id
+LEFT JOIN labels ON blog_label.labelid = labels.id
+GROUP BY blogs.blogtitle, blogs.blogcontent, blogs.create_at, blogs.img,
+         blogs.readminite, blogs.readnum, blogs.wordcount, types.typename;
+
+
+    """
     blog_list = fetch_all(select_query)
     return response_success(blog_list, "blog get list success")
 
+
 # 博客新增
-@router.post('/add')
+@router.post("/add")
 async def blog_add(blog: Blog, _: User = Depends(get_current_active_user)):
     select_query = "SELECT * FROM blogs WHERE blogtitle = %s"
     existing_blog = fetch_one(select_query, (blog.blogtitle,))
     raise_if_exists(existing_blog, "blog is already exists")
-    insert_query = "INSERT INTO blogs (blogtitle,blogcontent,typeid,descr) VALUES (%s,%s,%s,%s)"
+    insert_query = (
+        "INSERT INTO blogs (blogtitle,blogcontent,typeid,descr) VALUES (%s,%s,%s,%s)"
+    )
     insert_data = (blog.blogtitle, blog.blogcontent, blog.typeid, blog.descr)
     execute_query(insert_query, insert_data)
-    return response_success(data=blog,message="blog create success")
+    return response_success(data=blog, message="blog create success")
+
 
 # 博客删除
 @router.delete("/delete/{id}")
 async def blog_delete(id: str = Path(description="博客id")):
     select_query = "SELECT * FROM blogs WHERE id = %s"
-    existing_blog=fetch_one(select_query,(id,))
-    raise_if_not_found(existing_blog,"blog not found")
+    existing_blog = fetch_one(select_query, (id,))
+    raise_if_not_found(existing_blog, "blog not found")
     insert_query = "DELETE FROM blogs WHERE id = %s"
     execute_query(insert_query, (id,))
     return response_success(message="blog delete success")
 
+
 # 博客修改
 @router.put("/update/{id}")
 async def blog_put(blog: Blog, id: str = Path(description="博客id")):
-    select_query="SELECT * FROM blogs WHERE id=%s"
-    existing_blog=fetch_one(select_query,(id,))
-    raise_if_not_found(existing_blog,"blog not found")
-    update_query = "UPDATE blogs SET blogtitle=%s,blogcontent=%s,typeid=%s,descr=%s WHERE id=%s;"
+    select_query = "SELECT * FROM blogs WHERE id=%s"
+    existing_blog = fetch_one(select_query, (id,))
+    raise_if_not_found(existing_blog, "blog not found")
+    update_query = (
+        "UPDATE blogs SET blogtitle=%s,blogcontent=%s,typeid=%s,descr=%s WHERE id=%s;"
+    )
     update_data = (blog.blogtitle, blog.blogcontent,
                    blog.typeid, blog.descr, id)
     execute_query(update_query, update_data)
     return response_success("blog update sucess")
 
+
 # 博客模糊查询
 @router.get("/list/search")
 async def blog_list_search(
@@ -71,12 +98,15 @@ async def blog_list_search(
         params.append(end_date)
     select_query += " ORDER BY create_at DESC"
     blog_list = fetch_all(select_query, params=params, fetchall=True)
-    return response_success(data=blog_list,message="blog serach succuessfully!")
+    return response_success(data=blog_list, message="blog serach succuessfully!")
+
 
 # 根据id查询博客
 @router.get("/list/search/{id}")
-async def get_id_blog(id:str=Path(description="博客id")):
-    select_query="SELECT * FROM blogs WHERE id=%s"
-    blog_list=execute_query(select_query,(id,))
-    return response_success(data=blog_list,message="blog search success")   
-# 我就测试一下
\ No newline at end of file
+async def get_id_blog(id: str = Path(description="博客id")):
+    select_query = "SELECT * FROM blogs WHERE id=%s"
+    blog_list = execute_query(select_query, (id,))
+    return response_success(data=blog_list, message="blog search success")
+
+
+# 我就测试一下
diff --git a/routers/classticmanage.py b/routers/classticmanage.py
index 4fcab4d..e1e0e80 100644
--- a/routers/classticmanage.py
+++ b/routers/classticmanage.py
@@ -4,12 +4,31 @@ from internal.database import fetch_one, fetch_all, execute_query, response_succ
 from dependencies import get_current_active_user
 
 router = APIRouter(
-    prefix="/classtic",
+    prefix="/classtics",
     tags=['语录管理']
 )
 # 获取列表
 @router.get("/list")
 async def classtic_list():
-    select_query = "SELECT id,header,TEXT FROM classtics;"
+    select_query = "SELECT id,header,`text`,descr FROM classtics;"
     classtic_list = fetch_all(select_query)
-    return response_success(classtic_list, "classtic get list success")
\ No newline at end of file
+    return response_success(classtic_list, "classtic get list success")
+
+# 新增
+@router.post("/add")
+async def classtic_add(classtic:Classtic):
+    insert_query="""INSERT INTO classtics (header,`text`,descr) VALUES(%s,%s,%s)"""
+    insert_value=(classtic.header,classtic.text,classtic.descr)
+    execute_query(insert_query,insert_value)
+    return response_success(data=classtic,message="classtic create success")
+
+# 单条数据查询
+@router.get("/search")
+async def classtic_search(header:str=Query(description="语录标题")):
+    select_query="SELECT header FROM classtics WHERE 1=1 "
+    params=[]
+    if header:
+        select_query+="AND header LIKE %s"
+        params.append(f"%{header}%")
+    classtic_query=fetch_all(select_query,params=params,fetchall=True)
+    return response_success(data=classtic_query,message="classtic search success")
diff --git a/routers/labelmanage.py b/routers/labelmanage.py
new file mode 100644
index 0000000..38ba8de
--- /dev/null
+++ b/routers/labelmanage.py
@@ -0,0 +1,15 @@
+from fastapi import Depends, APIRouter, status, Query, Path, HTTPException
+from internal.models import *
+from internal.database import fetch_one, fetch_all, execute_query, response_success, raise_if_exists,raise_if_not_found
+from dependencies import get_current_active_user
+
+router = APIRouter(
+    prefix="/labels",
+    tags=['标签管理']
+)
+# 获取列表
+@router.get("/list")
+async def label_list():
+    select_query = "SELECT blogs.`blogtitle`,labels.`labelname` FROM blogs LEFT JOIN blog_label ON blog_label.`blogid`=blogs.`id` LEFT JOIN labels ON blog_label.`labelid`=labels.id;"
+    label_list = fetch_all(select_query)
+    return response_success(label_list, "label get list success")
\ No newline at end of file