From a73e9c741a0f958d61ad5fd0c187694c90b87e2d Mon Sep 17 00:00:00 2001 From: ctw Date: Wed, 12 Nov 2025 10:05:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E7=BB=84=E4=BB=B6=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/home/address-change.vue | 36 +- pages/home/detail.vue | 341 ++++++++++--------- pages/home/home.vue | 191 ++++++----- pages/login/login.vue | 176 +++++----- pages/messages/messages.vue | 177 +++++----- pages/moments/moments.vue | 152 +++++---- pages/profile/profile.vue | 222 ++++++------ sheep/api/{make-friend.ts => make-friend.js} | 18 +- sheep/components/moment/moment.vue | 194 ++++++----- sheep/components/segmented/segmented.vue | 121 ++++--- sheep/hooks/{use-scroll.ts => use-scroll.js} | 42 +-- uni.scss | 4 +- 12 files changed, 852 insertions(+), 822 deletions(-) rename sheep/api/{make-friend.ts => make-friend.js} (73%) rename sheep/hooks/{use-scroll.ts => use-scroll.js} (59%) diff --git a/pages/home/address-change.vue b/pages/home/address-change.vue index 615da8d7..9a186000 100644 --- a/pages/home/address-change.vue +++ b/pages/home/address-change.vue @@ -4,25 +4,25 @@ - diff --git a/pages/home/detail.vue b/pages/home/detail.vue index b80eca91..489ef9a7 100644 --- a/pages/home/detail.vue +++ b/pages/home/detail.vue @@ -1,5 +1,13 @@ - diff --git a/pages/login/login.vue b/pages/login/login.vue index 041a7858..8514a145 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -18,7 +18,13 @@ /> - + 获取验证码 @@ -30,103 +36,103 @@ - diff --git a/pages/messages/messages.vue b/pages/messages/messages.vue index 7facb97d..c8d3143b 100644 --- a/pages/messages/messages.vue +++ b/pages/messages/messages.vue @@ -13,7 +13,13 @@ - + @@ -31,104 +37,95 @@ - diff --git a/pages/moments/moments.vue b/pages/moments/moments.vue index 6db86741..7ba2e699 100644 --- a/pages/moments/moments.vue +++ b/pages/moments/moments.vue @@ -1,83 +1,93 @@ - diff --git a/pages/profile/profile.vue b/pages/profile/profile.vue index bb534ce9..7691c204 100644 --- a/pages/profile/profile.vue +++ b/pages/profile/profile.vue @@ -13,7 +13,7 @@ 编辑 @@ -31,133 +31,123 @@ - diff --git a/sheep/api/make-friend.ts b/sheep/api/make-friend.js similarity index 73% rename from sheep/api/make-friend.ts rename to sheep/api/make-friend.js index 8b953b3e..b6b0e1c6 100644 --- a/sheep/api/make-friend.ts +++ b/sheep/api/make-friend.js @@ -2,17 +2,17 @@ const mockUsers = Array.from({ length: 26 }).map((_, index) => ({ id: index, - name: "山峰" + (index + 1), - avatar: "/static/avatar2.jpg", - gender: "男", + name: '山峰' + (index + 1), + avatar: '/static/avatar2.jpg', + gender: '男', age: 30, - height: "185", - weight: "75", - occupation: "健身教练", - distance: "5.2", + height: '185', + weight: '75', + occupation: '健身教练', + distance: '5.2', photoCount: 3, isVip: false, - status: "在线", + status: '在线', })); const makeFriendApi = { @@ -24,7 +24,7 @@ const makeFriendApi = { // }); // }, - getMakeFriendList: async (page: number = 1, pageSize: number = 10) => { + getMakeFriendList: async (page = 1, pageSize = 10) => { await new Promise((resolve) => setTimeout(resolve, 1000)); const startIndex = (page - 1) * pageSize; diff --git a/sheep/components/moment/moment.vue b/sheep/components/moment/moment.vue index d07e1cce..4f8d9b2d 100644 --- a/sheep/components/moment/moment.vue +++ b/sheep/components/moment/moment.vue @@ -34,111 +34,121 @@ - diff --git a/sheep/components/segmented/segmented.vue b/sheep/components/segmented/segmented.vue index 97537401..bab702ee 100644 --- a/sheep/components/segmented/segmented.vue +++ b/sheep/components/segmented/segmented.vue @@ -1,39 +1,36 @@ - diff --git a/sheep/hooks/use-scroll.ts b/sheep/hooks/use-scroll.js similarity index 59% rename from sheep/hooks/use-scroll.ts rename to sheep/hooks/use-scroll.js index 5ff6ec63..c4e341b7 100644 --- a/sheep/hooks/use-scroll.ts +++ b/sheep/hooks/use-scroll.js @@ -1,28 +1,28 @@ -import { onMounted, reactive, ref } from "vue"; +import { onMounted, reactive, ref } from 'vue'; -export default function useScroll(fetchList: (...arg: any) => Promise) { +export default function useScroll(fetchList) { const refresherTriggered = ref(false); const loadMoreContent = reactive({ - contentdown: " ", - contentrefresh: "正在加载...", - contentnomore: "没有更多数据了", + contentdown: ' ', + contentrefresh: '正在加载...', + contentnomore: '没有更多数据了', }); - const loadMoreStatus = ref<"more" | "loading" | "noMore">("more"); - const listData = ref([]); + const loadMoreStatus = ref('more'); // 'more' | 'loading' | 'noMore' + const listData = ref([]); const pageInfo = reactive({ current: 1, total: 0, hasMore: true, }); - onMounted(() => { - loadData(false); + onMounted(async () => { + await loadData(false); }); - const loadData = async (isRefresh: boolean = false) => { + const loadData = async (isRefresh = false) => { try { if (pageInfo.current === 1) { - uni.showLoading({ title: "加载中..." }); + uni.showLoading({ title: '加载中...' }); } if (isRefresh) { pageInfo.current = 1; @@ -30,21 +30,21 @@ export default function useScroll(fetchList: (...arg: any) => Promise) { listData.value = data; pageInfo.total = total; } else { - const { total, data } = await fetchList(pageInfo.current); - listData.value.push(...data); + const { total, data = [] } = await fetchList(pageInfo.current); + listData.value = listData.value.concat(data); pageInfo.total = total; } pageInfo.current = pageInfo.current + 1; if (listData.value.length >= pageInfo.total) { - loadMoreStatus.value = "noMore"; + loadMoreStatus.value = 'noMore'; } else { - loadMoreStatus.value = "more"; + loadMoreStatus.value = 'more'; } return true; } catch (error) { - console.error("加载数据失败:", error); + console.error('加载数据失败:', error); return false; } finally { uni.hideLoading(); @@ -57,28 +57,28 @@ export default function useScroll(fetchList: (...arg: any) => Promise) { const success = await loadData(true); refresherTriggered.value = false; if (success) { - uni.showToast({ title: "刷新成功", icon: "success" }); + uni.showToast({ title: '刷新成功', icon: 'success' }); } }; // 下拉刷新中止 const onRefresherAbort = () => { - console.log("下拉刷新中止"); + console.log('下拉刷新中止'); refresherTriggered.value = false; }; // 触发上拉加载 const onScrollToLower = async () => { - if (loadMoreStatus.value === "loading" || loadMoreStatus.value === "noMore") { + if (loadMoreStatus.value === 'loading' || loadMoreStatus.value === 'noMore') { return; } - loadMoreStatus.value = "loading"; + loadMoreStatus.value = 'loading'; await loadData(false); }; // 点击加载更多 const onClickLoadMore = () => { - if (loadMoreStatus.value === "more") { + if (loadMoreStatus.value === 'more') { onScrollToLower(); } }; diff --git a/uni.scss b/uni.scss index f950a785..cc65481c 100644 --- a/uni.scss +++ b/uni.scss @@ -28,13 +28,13 @@ $uni-text-color-placeholder: #808080; $uni-text-color-disable: #c0c0c0; /* 背景颜色 */ -$uni-bg-color: #ffffff; +$uni-bg-color: #222222; $uni-bg-color-grey: #f8f8f8; $uni-bg-color-hover: #f1f1f1; //点击状态颜色 $uni-bg-color-mask: rgba(0, 0, 0, 0.4); //遮罩颜色 /* 边框颜色 */ -$uni-border-color: #e5e5e5; +$uni-border-color: #333333; /* 尺寸变量 */