|
@@ -41,7 +41,8 @@
|
|
|
:key="index"
|
|
|
@click="clickListItem(item, index)">
|
|
|
|
|
|
- <!-- <red-dot class="red-dots"></red-dot> -->
|
|
|
+ <red-dot class="red-dots"
|
|
|
+ v-if="item.unReadMsgCount > 0"></red-dot>
|
|
|
|
|
|
<div class="img-wrapper">
|
|
|
<!-- 收到红包 -->
|
|
@@ -112,9 +113,9 @@
|
|
|
<template v-else-if="item.status == 1">
|
|
|
{{item.postTaskLuckdrop.receivedCount}}/{{item.postTaskLuckdrop.totalCount}}
|
|
|
</template>
|
|
|
- <!-- 已结束 -->
|
|
|
- <template v-else-if="item.status == 2">
|
|
|
- (Time expired)
|
|
|
+ <!-- 2:已结束; 3:提前终止-->
|
|
|
+ <template v-else-if="item.status == 2 || item.status == 3">
|
|
|
+ ({{item.status == 2 ? 'Time expired' : 'Termination'}})
|
|
|
{{
|
|
|
item.postTaskLuckdrop
|
|
|
.receivedCount
|
|
@@ -123,34 +124,35 @@
|
|
|
.totalCount
|
|
|
}}
|
|
|
</template>
|
|
|
- <!-- 红包提前终止/退款(进行中)显示 缺少if判断-->
|
|
|
- <!-- <template>
|
|
|
+ <!-- 红包提前终止/退款(进行中)显示-->
|
|
|
+ <template v-if="item.status == 4">
|
|
|
Terminating
|
|
|
- </template> -->
|
|
|
-
|
|
|
- <!-- 进行中或者未发送成功时显示 -->
|
|
|
- <div class="desc-bottom-bar"
|
|
|
- v-if="item.status == 1 || item.postTaskLuckdrop.reSendAvailable">
|
|
|
- <!-- 没有终止红包时显示 缺少if判断 -->
|
|
|
- <div class="btn"
|
|
|
- @click="terminaHandler(item)">
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- 进行中或者未发送成功时显示
|
|
|
+ v-if="item.status == 1 || item.postTaskLuckdrop.reSendAvailable"-->
|
|
|
+ <div class="desc-bottom-bar">
|
|
|
+ <!-- 没有终止红包时显示 -->
|
|
|
+ <div v-if="item.postTaskLuckdrop.terminatedAvailable"
|
|
|
+ class="btn"
|
|
|
+ @click.stop="terminaHandler(item, index)">
|
|
|
Termination
|
|
|
</div>
|
|
|
+
|
|
|
<!-- 红包未发出显示 -->
|
|
|
<div class="btn send-btn"
|
|
|
v-if="item.postTaskLuckdrop.reSendAvailable"
|
|
|
@click.stop="sendTwitter(item)">
|
|
|
Send
|
|
|
</div>
|
|
|
- <div v-else
|
|
|
+ <div v-else-if="item.srcContentId"
|
|
|
class="btn detail-btn"
|
|
|
@click.stop="clickListItem(item, index)">details</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 发红包—— 未发出、进行中 隐藏 -->
|
|
|
- <img v-if="!(item.type == 2 &&
|
|
|
- (item.status == 1 || item.postTaskLuckdrop.reSendAvailable))"
|
|
|
+ <img v-if="item.type != 2"
|
|
|
class="icon"
|
|
|
:src="require('@/assets/svg/icon-cell-arrow-right.svg')" />
|
|
|
</div>
|
|
@@ -201,7 +203,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, onMounted, inject } from "vue";
|
|
|
+import { ref, onMounted, inject, onBeforeUnmount } from "vue";
|
|
|
|
|
|
import popupLogin from "@/view/popup/components/login.vue";
|
|
|
import popupTransactions from "@/view/components/popup-transactions";
|
|
@@ -213,6 +215,9 @@ import {
|
|
|
getChromeStorage,
|
|
|
} from "@/uilts/chromeExtension";
|
|
|
import { getBalance, getMineLuckdropRecords } from "@/http/account";
|
|
|
+import { readAllMsgByType, getAllMessageInfo } from "@/http/messageApi"
|
|
|
+import { terminatedLuckdrop } from "@/http/redPacket";
|
|
|
+import { setBadgeInfo, hideBadge } from "@/logic/background/twitter";
|
|
|
import Report from "@/log-center/log";
|
|
|
import router from "@/router/popup.js";
|
|
|
import VHead from '@/view/popup/components/head.vue'
|
|
@@ -243,6 +248,9 @@ let isRequestWithdrawBalance = ref(false);
|
|
|
let currentTabIndex = ref(0);
|
|
|
let giveList = ref([]);
|
|
|
|
|
|
+// 钱包未读数
|
|
|
+let unReadCountWallet = ref(0);
|
|
|
+
|
|
|
let giveReqParams = {
|
|
|
params: {
|
|
|
pageNum: 1,
|
|
@@ -285,6 +293,7 @@ onMounted(() => {
|
|
|
if (isLogin.value) {
|
|
|
getAccountBalance();
|
|
|
getLuckdropRecordsList();
|
|
|
+ chrome.runtime.connect({ name: "popup" });
|
|
|
Report.reportLog({
|
|
|
pageSource: Report.pageSource.denetHomePage,
|
|
|
businessType: Report.businessType.pageView,
|
|
@@ -298,8 +307,35 @@ onMounted(() => {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
+ setMessageCount();
|
|
|
+});
|
|
|
+
|
|
|
+onBeforeUnmount(() => {
|
|
|
+ readAllMsgByType({
|
|
|
+ params: {
|
|
|
+ msgType: 1
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ setMessageCount();
|
|
|
+ })
|
|
|
});
|
|
|
|
|
|
+const setMessageCount = () => {
|
|
|
+ getAllMessageInfo({params: {
|
|
|
+ }}).then(res => {
|
|
|
+ if(res.code == 0) {
|
|
|
+ let {unReadCountTotal = 0, unReadCountWalletDetail = 0, unReadCountTaskLuckdrop = 0} = res.data;
|
|
|
+ unReadCountWallet.value = unReadCountWalletDetail;
|
|
|
+ if(unReadCountTotal > 0) {
|
|
|
+ let text = unReadCountTotal > 99 ? '99+' : unReadCountTotal+'';
|
|
|
+ setBadgeInfo({data: {text}});
|
|
|
+ } else {
|
|
|
+ hideBadge();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
const moreItemHandle = (params) => {
|
|
|
window.open(params.href);
|
|
|
}
|
|
@@ -512,14 +548,27 @@ const clickTopUp = () => {
|
|
|
router.push('/top-up/home');
|
|
|
}
|
|
|
|
|
|
-const terminaHandler = (params) => {
|
|
|
+const terminaHandler = (params, index) => {
|
|
|
terminaTask = params;
|
|
|
+ terminaTask.index = index;
|
|
|
modalVisible.value = true;
|
|
|
}
|
|
|
|
|
|
const modalCancel = () => {
|
|
|
//请求终止接口 id terminaTask.id 、 刷新当前列表、 关闭
|
|
|
modalVisible.value = false;
|
|
|
+ let index = terminaTask.index;
|
|
|
+ terminatedLuckdrop({
|
|
|
+ params: {
|
|
|
+ luckdropId: terminaTask.id
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ if(res.code == 0) {
|
|
|
+ giveList.value[index]['status'] = res.data.status;
|
|
|
+ giveList.value[index]['postTaskLuckdrop']['reSendAvailable'] = false;
|
|
|
+ giveList.value[index]['postTaskLuckdrop']['terminatedAvailable'] = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
terminaTask = {};
|
|
|
}
|
|
|
|
|
@@ -777,7 +826,6 @@ body {
|
|
|
.btn {
|
|
|
min-width: 80px;
|
|
|
height: 29px;
|
|
|
- line-height: 29px;
|
|
|
padding: 0 8px;
|
|
|
box-sizing: border-box;
|
|
|
font-weight: 400;
|
|
@@ -787,6 +835,9 @@ body {
|
|
|
border-radius: 100px;
|
|
|
color: #5E5E5E;
|
|
|
border: 1px solid #DFDFDF;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
}
|
|
|
|
|
|
.send-btn {
|