feat: 修改mywork的实时奖励获取

This commit is contained in:
zheng020 2026-05-16 01:52:32 +08:00
parent eb051f6562
commit be5da66007
3 changed files with 45 additions and 4 deletions

View File

@ -43,7 +43,7 @@
<!-- 自定义底部导航 -->
<view class="nav-bar">
<button class="btn-secondary" @click="handleBack">返回</button>
<button class="btn-skip" @click="handleSkip">跳过</button>
<button class="btn-skip" @click="handleSkip">确认</button>
</view>
</view>

View File

@ -276,6 +276,31 @@ const goToAssetDetail = (id) => {
//
const cardTapTimers = {};
//
uni.$on('assetLiked', ({ asset_id, data }) => {
//
const index = exhibitionWorks.value.findIndex(item => item.id === asset_id);
if (index !== -1) {
//
if (data?.earnings !== undefined) {
exhibitionWorks.value[index].earnings = data.earnings;
}
}
});
//
uni.$on('assetLikeChanged', ({ asset_id, like_count, earnings }) => {
const index = exhibitionWorks.value.findIndex(item => item.id === asset_id);
if (index !== -1) {
if (like_count !== undefined) {
exhibitionWorks.value[index].like_count = like_count;
}
if (earnings !== undefined) {
exhibitionWorks.value[index].earnings = earnings;
}
}
});
//
const handleClaimReward = async (item, _index) => {
console.log('领取收益:', item);
@ -310,6 +335,7 @@ const handleClaimReward = async (item, _index) => {
//
await loadExhibitedAssets();
await loadLikedAssets();
} catch (err) {
console.error('领取收益失败:', err);
@ -320,20 +346,32 @@ const handleClaimReward = async (item, _index) => {
};
const handleExhibitionCardTap = (item, index) => {
//
if (isRewardClaimable(item.id)) {
return;
}
if (cardTapTimers[item.id]) {
//
clearTimeout(cardTapTimers[item.id]);
delete cardTapTimers[item.id];
doubleTapLike(item.id, (success) => {
doubleTapLike(item.id, async (success, data) => {
if (success) {
//
exhibitionWorks.value[index].like_count = (exhibitionWorks.value[index].like_count || 0) + 1;
//
if (data?.earnings !== undefined) {
exhibitionWorks.value[index].earnings = data.earnings;
} else {
//
await loadExhibitedAssets();
}
//
const likedItem = {
id: item.id,
cover_url: item.cover_url,
like_count: exhibitionWorks.value[index].like_count,
earnings: item.earnings,
earnings: exhibitionWorks.value[index].earnings,
name: item.name,
status_text: '潜力待挖',
score: exhibitionWorks.value[index].like_count,
@ -530,6 +568,7 @@ onUnmounted(() => {
clearInterval(countdownTimer);
}
uni.$off('userInfoUpdated');
uni.$off('assetLiked');
});
onShow(() => {

View File

@ -76,7 +76,9 @@ export function doubleTapLike(assetId, callback) {
likeAssetApi(assetId).then(res => {
console.log('点赞成功', res);
markLikedToday(assetId);
if (callback) callback(true);
// 触发全局点赞成功事件
uni.$emit('assetLiked', { asset_id: assetId, data: res.data });
if (callback) callback(true, res.data);
}).catch(err => {
console.error('点赞失败:', err);
uni.showToast({ title: '今日已点赞', icon: 'none' });