From aba72176c7547a29d2a4f8c08c3f6b81b1b0e3c7 Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Tue, 9 Jul 2024 11:31:46 +0800 Subject: [PATCH 01/19] =?UTF-8?q?fix(component):=20=E7=B4=A0=E6=9D=90?= =?UTF-8?q?=E7=80=91=E5=B8=83=E6=B5=81=E5=B8=83=E5=B1=80=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/importTmpl.vue | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/components/importTmpl.vue b/src/components/importTmpl.vue index 7e5d8156..ca3a6642 100644 --- a/src/components/importTmpl.vue +++ b/src/components/importTmpl.vue @@ -148,10 +148,8 @@ const getTemplInfo = async () => { } .list-box { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; + column-count: 2; + column-gap: 10px; } .tmpl-img-box { From 2773d0c451885d3273165a039f3b7ea4760c74de Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Tue, 9 Jul 2024 12:01:36 +0800 Subject: [PATCH 02/19] =?UTF-8?q?fix(component):=20=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=A9=BA=E7=80=91=E5=B8=83=E6=B5=81=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/masonry.vue | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/components/common/masonry.vue diff --git a/src/components/common/masonry.vue b/src/components/common/masonry.vue new file mode 100644 index 00000000..10a29473 --- /dev/null +++ b/src/components/common/masonry.vue @@ -0,0 +1,13 @@ + + + + + + From c41a7541b5ca46db63a7b40bed84720361d6eab3 Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Wed, 10 Jul 2024 11:15:04 +0800 Subject: [PATCH 03/19] =?UTF-8?q?feat(component):=20=E7=80=91=E5=B8=83?= =?UTF-8?q?=E6=B5=81=E5=A2=9E=E5=8A=A0=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/masonry.vue | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/components/common/masonry.vue b/src/components/common/masonry.vue index 10a29473..62ba92a5 100644 --- a/src/components/common/masonry.vue +++ b/src/components/common/masonry.vue @@ -6,8 +6,33 @@ --> - + From 1015050d6b2cec96f18a87d3dc170b8f217a7af3 Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Wed, 10 Jul 2024 13:36:25 +0800 Subject: [PATCH 04/19] =?UTF-8?q?feat(component):=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/pageList.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/hooks/pageList.js b/src/hooks/pageList.js index 94ae8286..abdbecda 100644 --- a/src/hooks/pageList.js +++ b/src/hooks/pageList.js @@ -146,12 +146,17 @@ export default function usePageList({ fields ); const res = await pageApi(listUrl, params); + const list = res.data.data.map((item) => { + const height = item.attributes.img.data.attributes.formats.small.height; + const width = item.attributes.img.data.attributes.formats.small.width; return { id: item.id, name: item.attributes.name, desc: item.attributes.desc, json: item.attributes?.json, + height: height, + width: width, src: getMaterialInfoUrl(item.attributes.img), previewSrc: getMaterialPreviewUrl(item.attributes.img), }; @@ -164,6 +169,11 @@ export default function usePageList({ console.log(error); } pageLoading.value = false; + if (pageData.value.length) { + return pageData.value; + } else { + return []; + } }; const startGetList = () => { @@ -203,6 +213,8 @@ export default function usePageList({ isDownBottm, startGetList, nextPage, + getTypeList, + getPageData, scrollHeight, showScroll, getInfo, From 2cfea0d6697f3c5ef2c344596b9a1e775701b154 Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Wed, 10 Jul 2024 13:36:59 +0800 Subject: [PATCH 05/19] =?UTF-8?q?feat(component):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=80=91=E5=B8=83=E6=B5=81=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/masonry.vue | 252 ++++++++++++++++++++++++++++-- 1 file changed, 239 insertions(+), 13 deletions(-) diff --git a/src/components/common/masonry.vue b/src/components/common/masonry.vue index 62ba92a5..aec5ba02 100644 --- a/src/components/common/masonry.vue +++ b/src/components/common/masonry.vue @@ -1,19 +1,247 @@ - - - + + From 9f67b8eea050c33113b08064b90093a784469d82 Mon Sep 17 00:00:00 2001 From: Alice Peng <1399789151@qq.com> Date: Fri, 12 Jul 2024 11:01:27 +0800 Subject: [PATCH 15/19] =?UTF-8?q?feat(component):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=80=91=E5=B8=83=E6=B5=81=E7=BB=84=E4=BB=B6props?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/masonry.vue | 11 ++++++++++- src/components/importTmpl.vue | 9 ++++++++- src/hooks/pageList.js | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/components/common/masonry.vue b/src/components/common/masonry.vue index eb11138b..e74f7241 100644 --- a/src/components/common/masonry.vue +++ b/src/components/common/masonry.vue @@ -25,6 +25,7 @@ interface IVirtualWaterFallProps { column: number; bottom: number; pageSize: number; // 单次请求数据数量 + pageData: ICardItem[]; request?: (page: number, pageSize: number) => Promise; } @@ -60,6 +61,14 @@ const dataState = reactive({ const containerRef = ref(null); +const initLoadData = async () => { + if (props.pageData.length) { + dataState.cardList = props.pageData; + dataState.page++; + } else { + await computedWidth(); + } +}; const getCardList = async (page: number, pageSize: number) => { if (dataState.isFinish) { return; @@ -90,7 +99,7 @@ const computedWidth = async () => { const init = async () => { if (containerRef.value) { - await computedWidth(); + await initLoadData(); } }; diff --git a/src/components/importTmpl.vue b/src/components/importTmpl.vue index 39e35e9d..30692d88 100644 --- a/src/components/importTmpl.vue +++ b/src/components/importTmpl.vue @@ -26,7 +26,14 @@
- +