From afa79d085e4544972fd3f9b7b3bcde2e9820c66d Mon Sep 17 00:00:00 2001 From: ctw Date: Thu, 4 Dec 2025 15:00:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=92=8C=E8=AE=BF=E9=97=AE=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/home/components/scroll-user.vue | 2 +- src/pages/home/detail.vue | 31 ++++++++++++++----- .../moments/components/scroll-moment.vue | 2 +- src/pages/profile/view-record.vue | 12 +++++-- src/sheep/api/member/recent.ts | 2 +- 5 files changed, 37 insertions(+), 12 deletions(-) diff --git a/src/pages/home/components/scroll-user.vue b/src/pages/home/components/scroll-user.vue index 1d3c4d66..96d7d9bf 100644 --- a/src/pages/home/components/scroll-user.vue +++ b/src/pages/home/components/scroll-user.vue @@ -78,7 +78,7 @@ uni.navigateTo({ url: `/pages/home/detail?memberId=${user.memberId}`, success: function (res) { - res.eventChannel.emit('recentDetail', user); + res.eventChannel.emit('viewRecordType', 'USER'); }, }); }; diff --git a/src/pages/home/detail.vue b/src/pages/home/detail.vue index 0f1fa012..175e0340 100644 --- a/src/pages/home/detail.vue +++ b/src/pages/home/detail.vue @@ -177,6 +177,7 @@ import useChatStore from '@/chat-store/chatStore.js'; import useFriendStore from '@/chat-store/friendStore.js'; import request from '@/common/request'; + import { formatDate } from '@/sheep/helper/utils'; const userCity = computed(() => sheep.$store('user').userCity); @@ -196,6 +197,11 @@ scoreSk: 0, // 爽快评分 scoreYq: 0, // 有趣评分 }); + const viewRecord = reactive({ + bizType: '', + viewStartTime: formatDate(new Date()), + viewEndTime: '', + }); const photoListUrls = computed( () => @@ -209,11 +215,6 @@ if (!memberId) return uni.showToast({ title: '参数错误', icon: 'none' }); params.memberId = memberId; await getDetail(); - // const instance: any = getCurrentInstance()?.proxy; - // const eventChannel = instance.getOpenerEventChannel(); - // eventChannel.on('recentDetail', function (user: any) { - // userDetail.value = user; - // }); }); // 获取用户详情 @@ -361,10 +362,26 @@ // }); // }; + const instance: any = getCurrentInstance()?.proxy; + const eventChannel = instance.getOpenerEventChannel(); + eventChannel.on('viewRecordType', function (bizType: 'CLASSIFY' | 'RECENT' | 'USER') { + viewRecord.bizType = bizType; + }); + + // 添加用户详情页面的查看和访问记录 + const createViewRecord = () => { + if (!viewRecord.bizType) return; + + RecentApi.createViewRecord({ + ...viewRecord, + viewEndTime: formatDate(new Date()), + }); + }; + onHide(() => { - rate(); + createViewRecord(); }); onUnload(() => { - rate(); + createViewRecord(); }); diff --git a/src/pages/moments/components/scroll-moment.vue b/src/pages/moments/components/scroll-moment.vue index d9d190fa..1a2a3d8f 100644 --- a/src/pages/moments/components/scroll-moment.vue +++ b/src/pages/moments/components/scroll-moment.vue @@ -91,7 +91,7 @@ uni.navigateTo({ url: `/pages/home/detail?memberId=${user.memberId}`, success: function (res) { - res.eventChannel.emit('recentDetail', user); + res.eventChannel.emit('viewRecordType', 'RECENT'); }, }); }; diff --git a/src/pages/profile/view-record.vue b/src/pages/profile/view-record.vue index e0112e56..54b6fe55 100644 --- a/src/pages/profile/view-record.vue +++ b/src/pages/profile/view-record.vue @@ -16,7 +16,7 @@ @refresh="refreshList_seenIt" @loadMore="listLoadMore_seenIt" > - + @@ -28,7 +28,7 @@ @refresh="refreshList_seenMe" @loadMore="listLoadMore_seenMe" > - + @@ -63,3 +63,11 @@ refreshList_seenMe(); }); + + diff --git a/src/sheep/api/member/recent.ts b/src/sheep/api/member/recent.ts index a7773768..e3c423aa 100644 --- a/src/sheep/api/member/recent.ts +++ b/src/sheep/api/member/recent.ts @@ -210,7 +210,7 @@ const RecentApi = { }, }); }, - // 添加朋友圈或用户详情页面的查看和访问记录 + // 添加用户详情页面的查看和访问记录 createViewRecord: (data: { bizType: 'CLASSIFY' | 'RECENT' | 'USER'; viewStartTime: string;