From d440f83cf5daf50b52f486b6669e101a6cc52b85 Mon Sep 17 00:00:00 2001 From: linhaojun Date: Fri, 16 Sep 2022 22:48:59 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E4=BC=98=E5=8C=96=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E5=92=8C=E6=B8=B2=E6=9F=93=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aurora-vue/aurora-blog/src/views/Article.vue | 64 +++++++++++++------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/aurora-vue/aurora-blog/src/views/Article.vue b/aurora-vue/aurora-blog/src/views/Article.vue index 957a694..37ab869 100644 --- a/aurora-vue/aurora-blog/src/views/Article.vue +++ b/aurora-vue/aurora-blog/src/views/Article.vue @@ -110,13 +110,13 @@
-
+
- +
-
+
- +
@@ -184,7 +184,9 @@ export default defineComponent({ comments: [] as any, haveMore: false as any, isReload: false as any, - images: [] as any + images: [] as any, + preArticleCard: '' as any, + nextArticleCard: '' as any }) const pageInfo = reactive({ current: 1, @@ -237,24 +239,38 @@ export default defineComponent({ } metaStore.setTitle(data.data.articleTitle) commonStore.setHeaderImage(data.data.articleCover) - data.data.articleContent = markdownToHtml(data.data.articleContent) - data.data.preArticleCard.articleContent = md - .render(data.data.preArticleCard.articleContent) - .replace(/<\/?[^>]*>/g, '') - .replace(/[|]*\n/, '') - .replace(/&npsp;/gi, '') - data.data.nextArticleCard.articleContent = md - .render(data.data.nextArticleCard.articleContent) - .replace(/<\/?[^>]*>/g, '') - .replace(/[|]*\n/, '') - .replace(/&npsp;/gi, '') - reactiveData.article = data.data - reactiveData.wordNum = Math.round(deleteHTMLTag(reactiveData.article.articleContent).length / 100) / 10 + 'k' - reactiveData.readTime = Math.round(deleteHTMLTag(reactiveData.article.articleContent).length / 400) + 'mins' - loading.value = false - nextTick(() => { - Prism.highlightAll() - initTocbot() + new Promise((resolve) => { + data.data.articleContent = markdownToHtml(data.data.articleContent) + resolve(data.data) + }).then((article: any) => { + reactiveData.article = article + reactiveData.wordNum = Math.round(deleteHTMLTag(article.articleContent).length / 100) / 10 + 'k' + reactiveData.readTime = Math.round(deleteHTMLTag(article.articleContent).length / 400) + 'mins' + loading.value = false + nextTick(() => { + Prism.highlightAll() + initTocbot() + }) + }) + new Promise((resolve) => { + data.data.preArticleCard.articleContent = md + .render(data.data.preArticleCard.articleContent) + .replace(/<\/?[^>]*>/g, '') + .replace(/[|]*\n/, '') + .replace(/&npsp;/gi, '') + resolve(data.data.preArticleCard) + }).then((preArticleCard: any) => { + reactiveData.preArticleCard = preArticleCard + }) + new Promise((resolve) => { + data.data.nextArticleCard.articleContent = md + .render(data.data.nextArticleCard.articleContent) + .replace(/<\/?[^>]*>/g, '') + .replace(/[|]*\n/, '') + .replace(/&npsp;/gi, '') + resolve(data.data.nextArticleCard) + }).then((nextArticleCard) => { + reactiveData.nextArticleCard = nextArticleCard }) }) } @@ -325,6 +341,8 @@ export default defineComponent({ reactiveData.wordNum = '' reactiveData.comments = '' reactiveData.images = [] + reactiveData.preArticleCard = '' + reactiveData.nextArticleCard = '' reactiveData.id = to.params.articleId fetchData(reactiveData.id) }