diff --git a/pages.json b/pages.json index ac969f7..f9dd04a 100644 --- a/pages.json +++ b/pages.json @@ -57,6 +57,15 @@ "enablePullDownRefresh": true } }, + { + "path": "pages/pk/detail", + "style": { + "navigationBarTitleText": "PK详情", + "navigationStyle": "custom", + "enablePullDownRefresh": true, + "onReachBottomDistance": 50 + } + }, { "path": "pages/message/index", "style": { diff --git a/pages/mine/pk.vue b/pages/mine/pk.vue index 8ca7798..32c8c62 100644 --- a/pages/mine/pk.vue +++ b/pages/mine/pk.vue @@ -258,10 +258,29 @@ const goToPkStation = () => { }; const goToPkDetail = (item) => { - if (!item?.topicId) return; - const focusItemId = item.selfChooseItemId || item.left.id; + if (!item?.id) return; + const cacheKey = `pk_detail_cache_${item.id}`; + uni.setStorageSync(cacheKey, { + id: item.id, + topicId: item.topicId, + topicTitle: item.topicTitle, + leftItemId: item.left.id, + leftItemName: item.left.name, + leftItemAvatar: item.left.avatar, + rightItemId: item.right.id, + rightItemName: item.right.name, + rightItemAvatar: item.right.avatar, + voteCount: item.voteCount, + leftVoteCount: item.leftVoteCount, + rightVoteCount: item.rightVoteCount, + selfChooseItemId: item.selfChooseItemId, + selfChooseSide: item.selfChooseSide, + leftPercent: item.leftPercent, + rightPercent: item.rightPercent, + votedAt: item.votedAt, + }); uni.navigateTo({ - url: `/pages/rating/pk?topicId=${item.topicId}&itemId=${focusItemId}`, + url: `/pages/pk/detail?pkId=${item.id}&cacheKey=${cacheKey}`, }); }; diff --git a/pages/pk/detail.vue b/pages/pk/detail.vue new file mode 100644 index 0000000..926729d --- /dev/null +++ b/pages/pk/detail.vue @@ -0,0 +1,712 @@ + + + + +