From abded0b911d75f746fe5fe171885913e49de1609 Mon Sep 17 00:00:00 2001 From: Plumbiu <99574369+Plumbiu@users.noreply.github.com> Date: Tue, 31 Jan 2023 17:56:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=87=E7=AB=A0=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8A=BD=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/.tmp/data.db | Bin 1060864 -> 1060864 bytes frontend/components/ArticlesList/Item.vue | 69 ------------------ .../ArticlesList/Items/Bottombar.vue | 29 ++++++++ .../components/ArticlesList/Items/Link.vue | 15 ++++ .../components/ArticlesList/Items/Mainbar.vue | 17 +++++ .../components/ArticlesList/Items/Topbar.vue | 24 ++++++ .../components/ArticlesList/Items/index.vue | 67 +++++++++++++++++ frontend/components/ArticlesList/index.vue | 3 +- .../composables/Articlelist/useArtlistFn.ts | 6 +- frontend/types/IArticleItem.ts | 12 ++- 10 files changed, 168 insertions(+), 74 deletions(-) delete mode 100644 frontend/components/ArticlesList/Item.vue create mode 100644 frontend/components/ArticlesList/Items/Bottombar.vue create mode 100644 frontend/components/ArticlesList/Items/Link.vue create mode 100644 frontend/components/ArticlesList/Items/Mainbar.vue create mode 100644 frontend/components/ArticlesList/Items/Topbar.vue create mode 100644 frontend/components/ArticlesList/Items/index.vue diff --git a/backend/.tmp/data.db b/backend/.tmp/data.db index 55a672bc12f1016808bcadaddac6666ffffad312..694e88d354fb8b030428ede317e095d5766e6a64 100644 GIT binary patch delta 1060 zcmX}pe@v8h90zc|chB8DclUh0pA!m4s9;c0i#++!L5My4*eDio)Leh40}RO7l!Ikv zjd_+k*D5`_(f7gDAFu7%o_*e* z_xJk^r_FHMjOL1_fmL;)DbZeCEb32vR(wEn*1Iwep57fx`4>)M>7pTie#eZMB4XMi zrafY6Nz>sCS1x8`WLT~%3(7TRUb(7VQ7$WUN?Q3%nN?<#i*#&MUrG5(9w$}T>jp(L z!AXAB;b3^ep*R(nqAPC2qj)(yVZ8gJn4#|*;Y~VJCEIx>B)`@v^es4ee2c8LbE;9U z7QD7b3R`j*>^?C|376c&d+OwS2FIHrC@B88%%uKCXrpLA>KrPNn}lXHq>f{d9ZPR~ zZSVp}DrtgjT6Y1Ef@^F(GIL}R%QAV}OZlTv%7J|OyUiL))2#<(1Eor&%gTxxgVpjp zr+o57TQY4`n4{xP*~C3rQW%uJ2ReVgSAJo)W-rGkH$2ZD^~+thWUKs8@IZ$g^ICtd z(E2-&MP>u+;IljBGqzZJMdAIz{-8Pwh4N%fT#ZeaY&=~nCsEAP^cZaBwnffTNm~vp~HuSWn@I*U8OEIO(SL=X8x~KZY8LkLxZDM&aD@#_N=LOjgmp zGiqboQP{@ggYb}>hJS$v=;q&G@ZEdhakw7t*!}wUo<3?Ff_yshE4V4O1U^cagF(R* zOj%1asCU4f!%t1aPcr7);HMMcz?Vf^`$fc+6F<<^SyoYA+EpIt?)E?3UGYj~pt7W_ zEYQ{6+1Xjy)m@qlOD)X3sYh(v1*y3e+&_&M-BzF5gsZTS;+jk2eO}zJQ5j$#zY)ecPtuQ?kABF* z67sLbEFQ|mPVN8CW0(UK^-=RdYt%~xBRL2h<#Sy_R z#h9>hbPu)&erW}29;?J%N)=$5125orcDnflIyl;ZBO1pGam1Mn;W;m_X~4?mSNn$x vUd36Re0z=T{|JQn9@~Nr!R{K&a`Io7&=vd_kJ@H$ delta 972 zcmXBSZ){Ul6aetv*VljV?cUR|@y96X7PmQ*O}Z8BO2>HHnqr!nZ4y3ggxE1{MxvvT z5Hz~@2BbJiu=6Dzjf%w&enQ<`))S3p;|qTRhVsEb!3|m%%)|hjiAK#rysv!teYp3Y zbM84e*DM-l(a1i|5|dAKv&3|Ado$~vIo*6*b$5FlCuR>@h2ZiGgjOop%26X@u#BN( z3}?nr^M*?|BR@GD4%>BUL0XhEYgEfQOWR= zBf^Jsqr#65pOa&qdPWG$jS8LG(_%*Ci*^q;aQbJyhh7SbagDC-m$mI%i`KQ)4(h5A z=YW-PQWIA&FeEBzZjpB?Rxa9sHyZ@tyQ_Q<(-(P?^i{r7$8=ur{D7N6KE`FYV z`H?@ZSg(cK$tdv8E9}y@@!ZFJ1ExRVf8b}I@+7{Mkokp+yu@%NE}OIFd2cy#$*PV1 zKr&`X!4c%UX<&*^luzzhXP&LIb2LWx6tRatK6`?ki#) z$D$_2XxuNhDfY=SUQY1WA9cQv<#S$?lY41!jep_91MllHPx|s@*rnqXg8WT=FskN*p!%uwD{S(xCOp#*>*=>Q zpKe3o>>2;2lGonebsQQMYB~zD?tB_9=s0=E zTTS1qvXCA25KFaihywLc(lGiIJW1bega#E~sD@-d3#vh#=pJF{ZvdTYHbBvrZ&2DE ct+6mD1o6! -import type { IArticleItem } from '~~/types/IArticleItem' -defineProps({ - artlistItem: { - type: Array, - }, -}) -const format = (num: number) => { - return num > 10000 ? `${(num / 10000).toFixed(1)}w` : num -} - - - - - diff --git a/frontend/components/ArticlesList/Items/Bottombar.vue b/frontend/components/ArticlesList/Items/Bottombar.vue new file mode 100644 index 0000000..22cb132 --- /dev/null +++ b/frontend/components/ArticlesList/Items/Bottombar.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/frontend/components/ArticlesList/Items/Link.vue b/frontend/components/ArticlesList/Items/Link.vue new file mode 100644 index 0000000..367b40b --- /dev/null +++ b/frontend/components/ArticlesList/Items/Link.vue @@ -0,0 +1,15 @@ + + + diff --git a/frontend/components/ArticlesList/Items/Mainbar.vue b/frontend/components/ArticlesList/Items/Mainbar.vue new file mode 100644 index 0000000..70ce97f --- /dev/null +++ b/frontend/components/ArticlesList/Items/Mainbar.vue @@ -0,0 +1,17 @@ + + + diff --git a/frontend/components/ArticlesList/Items/Topbar.vue b/frontend/components/ArticlesList/Items/Topbar.vue new file mode 100644 index 0000000..eca1946 --- /dev/null +++ b/frontend/components/ArticlesList/Items/Topbar.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/components/ArticlesList/Items/index.vue b/frontend/components/ArticlesList/Items/index.vue new file mode 100644 index 0000000..d51fb04 --- /dev/null +++ b/frontend/components/ArticlesList/Items/index.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/frontend/components/ArticlesList/index.vue b/frontend/components/ArticlesList/index.vue index b244fc9..5e33bfd 100644 --- a/frontend/components/ArticlesList/index.vue +++ b/frontend/components/ArticlesList/index.vue @@ -4,6 +4,7 @@ let pagenum = 1 const isLoading = useState('isLoading', () => false) const isEmpty = useState('isEmpty', () => false) const artlistData = useArtlist([]) +const artlistAd = await useFetchArtlistAd() const addArtListItem = () => { if (useScrollBottom()) { pagenum++ @@ -42,7 +43,7 @@ onUnmounted(() => {
    - +
diff --git a/frontend/composables/Articlelist/useArtlistFn.ts b/frontend/composables/Articlelist/useArtlistFn.ts index 4bde075..177b9a1 100644 --- a/frontend/composables/Articlelist/useArtlistFn.ts +++ b/frontend/composables/Articlelist/useArtlistFn.ts @@ -1,4 +1,4 @@ -import type { IArticleItem } from '~~/types/IArticleItem' +import type { IArticleAd, IArticleItem } from '~~/types/IArticleItem' export const formatTime = (createdAt: string): string => { const created = new Date(createdAt) const now = new Date() @@ -22,6 +22,10 @@ export const useArtlistPath = (path?: string | undefined) => useState('artlistPa return '' return path }) +export const useFetchArtlistAd = async (): Promise => { + const { data } = await useFetch('/api/global') + return data.value +} export const useFetchPostData = async ( type?: string, sort: any = 'recommended', diff --git a/frontend/types/IArticleItem.ts b/frontend/types/IArticleItem.ts index 34ad405..9df1b72 100644 --- a/frontend/types/IArticleItem.ts +++ b/frontend/types/IArticleItem.ts @@ -1,11 +1,9 @@ interface IAuthor { name: string } - interface ITagItem { tag: string } - interface IArticleItem { id: string title: string @@ -17,8 +15,16 @@ interface IArticleItem { createdAt: string authorId: IAuthor tagIds: { data: ITagItem[] } - error?: boolean +} +interface IArticleAd { + title: string + author: string + summary: string + cover: string + url: string } export { IArticleItem, + IArticleAd, + ITagItem, }