From e1ad59f2d56f57fb6246f216854b13723dedea99 Mon Sep 17 00:00:00 2001 From: panda <7934952@qq.com> Date: Fri, 2 Aug 2024 17:03:49 +0800 Subject: [PATCH] add new --- .../blogs/rightsite/RandomArticle.vue | 48 +++++++++++++++---- src/components/blogs/rightsite/TagCloud.vue | 12 ++++- src/stores/index.ts | 24 +++++++++- src/views/admin/blogmanage/BlogLabelView.vue | 4 +- src/views/admin/blogmanage/BlogManageView.vue | 11 +++-- src/views/admin/blogmanage/BlogTypeView.vue | 3 ++ src/views/blog/HomePageView.vue | 8 ++-- src/views/blog/blogcontent/BlogListView.vue | 2 +- src/views/blog/diarycontent/DiaryListView.vue | 2 +- 9 files changed, 91 insertions(+), 23 deletions(-) diff --git a/src/components/blogs/rightsite/RandomArticle.vue b/src/components/blogs/rightsite/RandomArticle.vue index 1f3f0d5..59fafba 100644 --- a/src/components/blogs/rightsite/RandomArticle.vue +++ b/src/components/blogs/rightsite/RandomArticle.vue @@ -1,20 +1,20 @@ @@ -22,6 +22,7 @@ @@ -46,4 +53,29 @@ onMounted(()=>{ margin-right: 12px; font-family: "Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif"; } + +.random-blog, +.random-diary { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +a { + color: rgb(16, 15, 15); +} + +a:hover { + color: rgb(134, 134, 231); +} + +.random-blog img, +.random-diary img { + padding: 4px; + border: 2px solid #ccc; + display: inline-block; + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); +} \ No newline at end of file diff --git a/src/components/blogs/rightsite/TagCloud.vue b/src/components/blogs/rightsite/TagCloud.vue index 249c6df..8a2efb3 100644 --- a/src/components/blogs/rightsite/TagCloud.vue +++ b/src/components/blogs/rightsite/TagCloud.vue @@ -1,6 +1,6 @@ @@ -8,6 +8,10 @@ import { onMounted, ref } from 'vue'; import type { labelInterface } from '@/api/admin'; import { get } from '@/tools/request'; +import {homePageStore} from "@/stores/index" +const {fetchHomeLabelPageList}=homePageStore() +import { useRouter } from 'vue-router'; +const router=useRouter() const randomColor = () => { const labelColor = ref(["processing", "success", "error", "warning", "magenta", "red", "volcano", "orange", "gold", "lime", "green", "cyan", "blue", "geekblue", "purple"]) return labelColor.value[Math.floor(Math.random() * labelColor.value.length)]; @@ -25,7 +29,11 @@ const labelList = async () => { } } -onMounted(()=>{ +const tagclick=(query:any)=>{ + router.push("/home") + fetchHomeLabelPageList(query) +} +onMounted(() => { labelList() }) diff --git a/src/stores/index.ts b/src/stores/index.ts index b957b41..987bc5f 100644 --- a/src/stores/index.ts +++ b/src/stores/index.ts @@ -32,8 +32,28 @@ export const homePageStore = defineStore("homePage", () => { }; - - return { idShow, homepagelist,isEmpty,fetchHomePageList } + const fetchHomeLabelPageList= async (query:any) => { + // const response = await get(`/statistics/searchtitle?title=${query}`); + // homepagelist.value = response.data.data; + get( + "/blogs/search/label/", + {labelname:query} + ).then(res => { + homepagelist.value = res.data.data.map((items:any)=>({ + ...items, + create_at:dayjs(items.create_at).format('YYYY-MM-DD HH:mm:ss'), + update_at: dayjs(items.update_at).format('YYYY-MM-DD HH:mm:ss'), + })); + if (res.data.data.length === 0) { + isEmpty.value=true + }else{ + isEmpty.value=false + } + }) + + + }; + return { idShow, homepagelist,isEmpty,fetchHomePageList,fetchHomeLabelPageList } }) export const blogStore = defineStore("blog", () => { diff --git a/src/views/admin/blogmanage/BlogLabelView.vue b/src/views/admin/blogmanage/BlogLabelView.vue index fcf23df..f535277 100644 --- a/src/views/admin/blogmanage/BlogLabelView.vue +++ b/src/views/admin/blogmanage/BlogLabelView.vue @@ -130,6 +130,7 @@ const add = async () => { "/bloglabels/add", addList.value ) + message.success("新增成功") labelList() addControl.open = false formRef.value.resetFields(); @@ -149,6 +150,7 @@ const del = async (id: any) => { await remove( `/bloglabels/delete/${id}` ) + message.success("删除成功") labelList() } else { console.log("id do not exist!") @@ -179,7 +181,7 @@ const edit = async (id: any) => { editList.value ) editControl.open = false - formRef.value.resetFields() + message.success("编辑成功") labelList() } else { console.log("id do not exist!") diff --git a/src/views/admin/blogmanage/BlogManageView.vue b/src/views/admin/blogmanage/BlogManageView.vue index 9ccdaad..41a5605 100644 --- a/src/views/admin/blogmanage/BlogManageView.vue +++ b/src/views/admin/blogmanage/BlogManageView.vue @@ -214,6 +214,7 @@ const del = async (id: any) => { await remove( `/blogs/delete/${id}` ) + message.success("删除成功") blogList() } else { console.log("id do not exist!") @@ -265,12 +266,14 @@ const onSubmit = () => { } if (formControl.ids) { await put(`/blogs/update/${formControl.ids}`, formdata) - formControl.open = false, - blogList() + formControl.open = false + message.success("编辑成功") + blogList() } else { await post('/blogs/add', formdata); - formControl.open = false, - blogList() + formControl.open = false + message.success("新增成功") + blogList() } }) }; diff --git a/src/views/admin/blogmanage/BlogTypeView.vue b/src/views/admin/blogmanage/BlogTypeView.vue index 32b53cf..8eba4a1 100644 --- a/src/views/admin/blogmanage/BlogTypeView.vue +++ b/src/views/admin/blogmanage/BlogTypeView.vue @@ -133,6 +133,7 @@ const add = async () => { "/blogtypes/add", addList.value ) + message.success("新增成功") typeList() addControl.open = false formRef.value.resetFields(); @@ -152,6 +153,7 @@ const del = async (id: any) => { await remove( `/blogtypes/delete/${id}` ) + message.success("删除成功") typeList() } else { console.log("id do not exist!") @@ -183,6 +185,7 @@ const edit = async (id: any) => { ) editControl.open = false formRef.value.resetFields() + message.success("编辑成功") typeList() } else { console.log("id do not exist!") diff --git a/src/views/blog/HomePageView.vue b/src/views/blog/HomePageView.vue index 2dc3708..cadc259 100644 --- a/src/views/blog/HomePageView.vue +++ b/src/views/blog/HomePageView.vue @@ -22,13 +22,13 @@ - 字数≈{{ article.wordcount }}字 + 字数≈{{ article.blogcontent.length }}字 - 阅读时长≈{{ article.blogcontent?.length }}分 + 阅读时长≈{{ Math.round(article.blogcontent.length/ 200) }}分
@@ -71,13 +71,13 @@ - 字数≈{{ article.wordcount }}字 + 字数≈{{ article.diarycontent.length }}字 - 阅读时长≈{{ 111 }}分 + 阅读时长≈{{ Math.round(article.diarycontent.length/ 200) }}分
diff --git a/src/views/blog/blogcontent/BlogListView.vue b/src/views/blog/blogcontent/BlogListView.vue index 090a954..2baa5b3 100644 --- a/src/views/blog/blogcontent/BlogListView.vue +++ b/src/views/blog/blogcontent/BlogListView.vue @@ -117,7 +117,7 @@ const blogList = async (page: number, pageSize: number) => { update_at: dayjs(items.update_at).format('YYYY-MM-DD HH:mm:ss'), readnum: items.readnum, readminite: Math.round(items.blogcontent.length/ 200), - imglink: items.imglink, + imglink: items.imglink || 'http://www.wuruilin.cn/personself/暂无图片信息空状态.jpg', })) total.value = response.data.data.total; // 更新总数 diff --git a/src/views/blog/diarycontent/DiaryListView.vue b/src/views/blog/diarycontent/DiaryListView.vue index 15914c4..1e62516 100644 --- a/src/views/blog/diarycontent/DiaryListView.vue +++ b/src/views/blog/diarycontent/DiaryListView.vue @@ -96,7 +96,7 @@ const diaryList = async (page: number, pageSize: number) => { update_at: dayjs(items.update_at).format('YYYY-MM-DD HH:mm:ss'), readnum: items.readnum, readminite: Math.round(items.diarycontent.length/ 200), - imglink: items.imglink, + imglink: items.imglink || 'http://www.wuruilin.cn/personself/暂无图片.jpg', })); total.value = response.data.data.total; // 更新总数 pageSizeRef.value = pageSize; // 更新页大小,如果需要从接口返回页大小也可以改为 response.data.data.page_size