Kaynağa Gözat

[edit] fix bug 、 report

wenliming 2 yıl önce
ebeveyn
işleme
3447822f88

+ 14 - 0
src/log-center/logEnum.js

@@ -27,6 +27,13 @@ export const objectType = {
     withdrawButton: "withdraw-button",
     topupButton: "topup-button",
 
+
+    getMoreGiveaway: "get-more-giveaway",
+    nextButton: "next-button",
+    openChestButton: "open-chest-button",
+    copyButton: "copy-button",
+
+
     //discord
     getDiscordGuildNoData: 'get-discord-guild-no-data',
     getDiscordGuildCatch: 'get-discord-guild-catch',
@@ -93,6 +100,12 @@ export const pageSource = {
     nftShopPage: "nft-shop-page",
     nftPreviewPage: "nft-preview-page",
     denetNftTransferPage: "denet-nft-transfer-page",
+
+
+    newFansRewardPage: "new-fans-reward-page",
+    inviteFriendsPage: "invite-friends-page",
+    openTreasurePage: "open-treasure-page",
+
     // 待开红包页
     pending_page: 'pending-page',
     // 已领取任务页
@@ -116,6 +129,7 @@ export const pageSource = {
     post_editor_guide_page_left: 'post-editor-guide-page-left',
     post_editor_guide_page_right: 'post-editor-guide-page-right',
     buy_posteditor_nft_dialog: 'buy-posteditor-nft-dialog',
+
 }
 
 export const extParams = {

+ 4 - 3
src/view/components/component-zoom.vue

@@ -23,8 +23,8 @@ let props = defineProps({
 })
 
 watch(() => props.txt, (newVal) => {
-    setFontZoom(300)
-},
+      setFontZoom(300)
+    },
     {
         deep: true
     })
@@ -40,6 +40,7 @@ const setFontZoom = (time = 600) => {
 }
 
 onMounted(() => {
+    setFontZoom(0)
     setFontZoom()
 })
 
@@ -54,4 +55,4 @@ onMounted(() => {
     white-space: nowrap;
     width: fit-content;
 }
-</style>
+</style>

+ 11 - 10
src/view/components/custom-card-cover.vue

@@ -57,11 +57,11 @@
                 &nbsp;GIVEAWAY
             </div>
             <div class="coin">
-                <img v-if="data.currencyIconUrl" :src="data.currencyIconUrl || imgHeaderCover" />
-                <span id="preview-after-amount"
-                    :style="{
-                        fontSize: amount_font_size + 'px'
-                    }">{{ data.amountValue || 0 }}</span>
+                <component-zoom width="300" fontSize="56" :txt="data.amountValue || 0">
+                  <img v-if="data.currencyIconUrl" :src="data.currencyIconUrl || imgHeaderCover" />
+                  <span id="preview-after-amount">{{ data.amountValue || 0 }}</span>
+                </component-zoom>
+
             </div>
             <div class="time-area" v-if="data.type == PlayType.lottery">
                 <img class="icon-clock" :src="require('@/assets/svg/icon-time.svg')" />
@@ -86,7 +86,7 @@
                 </component-zoom>
             </div>
 
-            <div class="treasure-row-3" :style="{'visibility': data.currencyCode? 'visible' : 'hidden'}">
+            <div class="treasure-row-3" :style="{'visibility': data.currencyCode && data.currencyCode != 'USD'? 'visible' : 'hidden'}">
                 <img class="img" :src="data.currencyIconUrl" /> <span class="txt"> {{data.tokenSymbol}}  <template v-if="data.currencyCode != 'USD'">equivalent (Crypto)</template></span>
             </div>
 
@@ -130,7 +130,6 @@
                     <span class="count">{{data.totalCount}}Winners</span>
                     <span>to Share </span>
                     <span class="prize-name">{{isMoneyRewardCpd ? data.amountValue + ' ' + data.tokenSymbol : data.customizedReward}}</span>
-
                 </component-zoom>
             </div>
             <div class="open-btn" @click="open">
@@ -200,7 +199,7 @@ const open = () => {
 };
 
 onMounted(() => {
-    setFontSize()
+    // setFontSize()
 })
 </script>
 
@@ -234,11 +233,13 @@ onMounted(() => {
         .coin {
             text-align: center;
             width: 100%;
-            padding: 6px 0;
+            padding: 3px 0;
             margin: 0 auto;
             display: flex;
             align-items: center;
             justify-content: center;
+            height: 85px;
+            box-sizing: border-box;
 
             img {
                 width: 46px;
@@ -247,7 +248,7 @@ onMounted(() => {
                 border: 3px solid #ffffff;
             }
 
-            span {
+            #preview-after-amount {
                 margin-left: 15px;
                 font-weight: 800;
                 font-size: 60px;

+ 11 - 12
src/view/components/custom-card-horizontal-cover.vue

@@ -20,14 +20,14 @@
                     DeNet.me
                 </div>
                 <div class="desc">
-                    DeNet: An Easy Web3 Tool For GIVEAWAY / AIRDROP
+                   {{data.type == PlayType.treasure ? `Treasure Chest: ${data.amountValue} ${data.tokenSymbol} (worth $${data.usdEstimateOrderAmount}) for ${data.totalCount} winners` : 'DeNet: An Easy Web3 Tool For Giveaway / Airdrop'}}
                     <!-- 🎁 <template v-if="data.tokenSymbol=='USD'">$</template>{{data.amountValue}} GIVEAWAY -->
                 </div>
             </div>
 
             <div class="user-info">
-                <img :src="data.userInfo.avatarUrl" 
-                class="avatar"/> 
+                <img :src="data.userInfo.avatarUrl"
+                class="avatar"/>
                 <template v-if="data.type != PlayType.treasure">
                     {{data.userInfo.nickName}}
                 </template>
@@ -55,9 +55,9 @@
 
                     <div class="desc">
                         <template  v-if="data.type == PlayType.lottery">
-                            <img class="icon-clock" 
+                            <img class="icon-clock"
                             :src="require('@/assets/svg/icon-preview-clock.svg')" />  {{data.validityDuration}} H
-                            <img class="icon-trophy" 
+                            <img class="icon-trophy"
                             :src="require('@/assets/svg/icon-preview-trophy.svg')" /> <span class="trophy-count">{{data.totalCount}} WINNERS</span>
                         </template>
                         <template v-else-if="data.type == PlayType.common">
@@ -69,12 +69,12 @@
                     <div class="treasure-row-1">
                         <span class="left">Treasure</span>
                         <component-zoom width="160">
-                            <span class="right">${{data.amountValue}}</span>
+                            <span class="right">${{data.usdEstimateOrderAmount}}</span>
                         </component-zoom>
                     </div>
                     <div class="treasure-desc-data">
                         <div class="item">
-                            <img class="icon" 
+                            <img class="icon"
                                 :src="require('@/assets/svg/icon-preview-trophy.svg')" />
                             {{data.totalCount}} Winners
                         </div>
@@ -88,7 +88,7 @@
         </template>
         <template class="custom-card"  v-else>
             <img class="custom-card-cover" v-if="isLottaryCpd" :src="require('@/assets/subject/img-custom-lottary-bg.png')"  />
-            <img class="custom-card-cover" v-else :src="require('@/assets/subject/img-custom-common-bg.png')"  />  
+            <img class="custom-card-cover" v-else :src="require('@/assets/subject/img-custom-common-bg.png')"  />
             <div class="bottom-bar" v-if="showBottom">
                 <div class="title">
                     DeNet.me
@@ -207,7 +207,7 @@ watch(() => props.data, () => {
         }
 
         .treasure-info {
-            color: #fff; 
+            color: #fff;
             opacity: 0.7;
             font-weight: 300;
         }
@@ -266,8 +266,7 @@ watch(() => props.data, () => {
             margin-top: -8px;
 
             .treasure-row-1 {
-                display: flex; 
-                align-items: center;
+                display: flex;
                 justify-content: center;
                 font-weight: 900;
                 font-size: 35px;
@@ -293,7 +292,7 @@ watch(() => props.data, () => {
                     font-size: 14px;
                     color: #E1D4C5;
                     margin-bottom: 10px;
-                    display: flex; 
+                    display: flex;
                     align-items: center;
 
                     .icon {

+ 9 - 7
src/view/iframe/publish/components/preview-card.vue

@@ -21,6 +21,7 @@
                         <custom-card-cover :data="{
                             totalCount: baseFormData.totalCount,
                             amountValue: baseFormData.amountValue,
+                            usdEstimateOrderAmount: baseFormData.usdEstimateOrderAmount,
                             tokenSymbol: currentCurrencyInfo.tokenSymbol,
                             currencyCode: currentCurrencyInfo.currencyCode,
                             currencyIconUrl: currentCurrencyInfo.iconPath,
@@ -37,13 +38,13 @@
                         }"></custom-card-cover>
                     </div>
                 </div>
-            </div> 
+            </div>
 
             <!-- 安装之前的卡片样式 -->
             <div class="content-before"
                 v-show="!installStatus"
                 :style="{'width': (baseFormData.rewardType === RewardType.money) ? `${reviewCanvasParams.width}px` : '100%'}">
-                <div class="head" 
+                <div class="head"
                     :style="{'zoom': reviewCanvasParams.zoom}">
                     <img :src="userInfo.avatarUrl"
                         class="avatar"/>
@@ -63,6 +64,7 @@
                         :data="{
                             totalCount: baseFormData.totalCount,
                             amountValue: baseFormData.amountValue,
+                            usdEstimateOrderAmount: baseFormData.usdEstimateOrderAmount,
                             tokenSymbol: currentCurrencyInfo.tokenSymbol,
                             currencyCode: currentCurrencyInfo.currencyCode,
                             currencyIconUrl: currentCurrencyInfo.iconPath,
@@ -171,13 +173,13 @@ const calcPreviewCanvasParams = () => {
         const canvasHeight = 820, canvasWidth = 600;
         if(domHeight < canvasHeight) {
             //比例: 高 / 宽
-            let hWRatio = canvasHeight / canvasWidth; 
-            //缩小宽度 = 高度 / 比例  
-            let width = domHeight / hWRatio;  
+            let hWRatio = canvasHeight / canvasWidth;
+            //缩小宽度 = 高度 / 比例
+            let width = domHeight / hWRatio;
             if(width > canvasWidth) {
                 width = canvasWidth;
             }
-            //缩小比例 
+            //缩小比例
             let zoom = width / canvasWidth;
             if(zoom > 1) {
                 zoom = 1;
@@ -320,7 +322,7 @@ onUnmounted(() => {
             background-size: contain;
             background-repeat: no-repeat;
             height: 100%;
-           
+
             .custom-prize-card-wrapper {
                 width: 370px;
                 left: 56px;

+ 8 - 5
src/view/iframe/publish/give-dialog.vue

@@ -173,7 +173,7 @@
                                             <div class="form-cell">
                                                 <div class="cell-title">
                                                     <img class="title-icon" :src="require('@/assets/svg/icon-form-winners.svg')" />
-                                                    {{selectModeInfo.type != PlayType.treasure ? 'Winners' : 'New Follower'}}
+                                                    {{selectModeInfo.type != PlayType.treasure ? 'Winners' : 'Growing Target'}}
                                                 </div>
                                                 <div class="cell-content">
                                                     <div class="count-input-wrapper">
@@ -338,7 +338,10 @@
                         <!-- 预览 -->
                         <template v-else-if="showComType == 'preview'">
                             <preview-sheet
-                                :baseFormData="baseFormData"
+                                :baseFormData="{
+                                  ...baseFormData,
+                                  usdEstimateOrderAmount: treasureFormData.usdEstimateOrderAmount
+                                }"
                                 :upGainAmountUsdValue="treasureFormData.upGainAmountUsdValue"
                                 :currentCurrencyInfo="currentCurrencyInfo"
                                 :tempCurrentCurrencyInfo="tempCurrentCurrencyInfo"
@@ -646,7 +649,7 @@ let currentCurrencyInfo = ref(defaultCurrentCurrencyInfo);
 const discordIptErrTxt = 'Discord invite link is wrong';
 const discordIptEmptyErrTxt = 'Enter discord invite link';
 const discordIptNerverExpiresErrTxt = 'Make sure the Discord link never expires'
-const requireFollowTxt = '添加 follow task'
+const requireFollowTxt = 'Please add at least one user to follow at "Follow'
 let iptErrType = ''; //discord
 
 let formList = reactive([
@@ -1684,7 +1687,7 @@ const checkTreasureAmountRange = (isInTemplate) => {
         } else {
 
             let txt =  `The prize pool must be above ${isInTemplate ? ('<span class="font-color-1D9BF0">$' + currentLuckDropConfig.minTotalUsdAmount + '</span>') : ('$' + currentLuckDropConfig.minTotalUsdAmount)}
-                            or the average prize must be above
+                            and the average prize must be above
                             ${isInTemplate ? ('<span class="font-color-1D9BF0">$' + currentLuckDropConfig.minAvgUsdAmount +' per person.</span>' ): ('$' + currentLuckDropConfig.minAvgUsdAmount + ' per person.') }`
 
             const isAmountForbidden = currentLuckDropConfig?.minTotalUsdAmount ? +math.format(math.evaluate(baseFormData.amountValue * usdPrice)) < currentLuckDropConfig?.minTotalUsdAmount : false;
@@ -1711,7 +1714,7 @@ const treasureFormValidata = () => {
         isShowUsdMinMessage.value = true;
     } else if (!baseFormData.totalCount || baseFormData.totalCount == '0') {
         // 输入Follower
-        iptErrMsgTxt.value = "Enter the number of new follower";
+        iptErrMsgTxt.value = 'Please enter "Growing Targe"';
     } else if(iptErrMsgTxt.value  = checkTreasureAmountRange()) {
         // 粉丝单价是否 小于总金额规则 大于最小粉丝单价 、大于币种最小精度
         isShowUsdMinMessage.value = true;

+ 42 - 3
src/view/iframe/treasure-hunt/components/invite-friends.vue

@@ -5,7 +5,9 @@
             tasks.</div>
         <div class="area-url">
             <div class="url">{{ state.detail.inviteUrl }}</div>
-            <div class="btn copy-btn" @click="clickCopy" :data-clipboard-text="state.detail.inviteCopyUrl">
+            <div class="btn copy-btn" @click="clickCopy"
+             v-click-log="state.log_invite_copy_btn_click"
+            :data-clipboard-text="state.detail.inviteCopyUrl">
                 Copy
             </div>
         </div>
@@ -13,7 +15,10 @@
             <img :src="item.iconPath" alt="" v-for="item in state.share_list" @click="clickShare(item)" />
         </div>
         <v-btn :txt="state.open_btn.txt" :font-size="'17px'" class="btn" :icon="false"
-            :disabled="state.open_btn.disabled" @onClick="clickBtn" font-weight="600"></v-btn>
+            :disabled="state.open_btn.disabled"
+            v-show-log="state.log_invite_btn_show"
+            v-click-log="state.log_invite_btn_click"
+             @onClick="clickBtn" font-weight="600"></v-btn>
 
     </div>
 </template>
@@ -21,9 +26,43 @@
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import { inviteChannel } from '@/http/treasure'
 import { inject, onMounted } from 'vue'
+import Report from "@/log-center/log"
+
 let ClipboardJS = require('clipboard');
+
 let state = inject('state')
 
+state.log_invite_btn_show = {
+    businessType: Report.businessType.buttonView,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    objectType: Report.objectType.openChestButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
+state.log_invite_btn_click = {
+    businessType: Report.businessType.buttonClick,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    objectType: Report.objectType.openChestButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+state.log_invite_copy_btn_click = {
+    businessType: Report.businessType.buttonClick,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    objectType: Report.objectType.copyButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
 onMounted(() => {
     chrome.management.get('ophjlpahpchlmihnnnihgmmeilfjmjjc', (res) => {
         let linePluginInstalled = 0
@@ -152,4 +191,4 @@ const clickCopy = () => {
 
 
 }
-</style>
+</style>

+ 29 - 2
src/view/iframe/treasure-hunt/components/invite-list.vue

@@ -16,7 +16,10 @@
         </div>
         <div class="footer">
             <v-btn :txt="state.open_btn.txt" :font-size="'17px'" class="btn" :icon="false"
-                :disabled="state.open_btn.disabled" @onClick="clickBtn" font-weight="600"></v-btn>
+                :disabled="state.open_btn.disabled"
+                v-show-log="state.log_invite_btn_show"
+                v-click-log="state.log_invite_btn_click"
+                @onClick="clickBtn" font-weight="600"></v-btn>
         </div>
     </div>
 </template>
@@ -24,6 +27,7 @@
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import { inviteList } from '@/http/treasure'
 import { inject, onMounted } from 'vue'
+import Report from "@/log-center/log"
 
 var moment = require('moment')
 let state = inject('state')
@@ -32,6 +36,29 @@ let page_num = 1
 let page_size = 10
 let list_end = false
 
+
+state.log_invite_btn_show = {
+    businessType: Report.businessType.buttonView,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    objectType: Report.objectType.openChestButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
+state.log_invite_btn_click = {
+    businessType: Report.businessType.buttonClick,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    objectType: Report.objectType.openChestButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
 onMounted(() => {
     list()
 })
@@ -168,4 +195,4 @@ const clickBtn = () => {
         }
     }
 }
-</style>
+</style>

+ 29 - 3
src/view/iframe/treasure-hunt/components/open-box.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="open-box">
+    <div class="open-box" v-show-log="state.log_open_box_show">
         <div class="background"></div>
         <!-- 开奖页 -->
         <div class="content">
@@ -15,15 +15,41 @@
                     </div>
                 </div>
             </div>
-            <v-btn :txt="'OK'" :font-size="'16px'" class="btn" :icon="false" @onClick="clickBtn"></v-btn>
+            <v-btn :txt="'OK'" :font-size="'16px'" class="btn" :icon="false" v-click-log="state.log_open_box_btn_click" @onClick="clickBtn"></v-btn>
         </div>
     </div>
 </template>
 <script setup>
 import { inject } from 'vue'
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
+
+import Report from "@/log-center/log"
+
 let state = inject('state')
 
+state.log_open_box_show = {
+    businessType: Report.businessType.pageView,
+    pageSource: Report.pageSource.openTreasurePage,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
+
+state.log_open_box_btn_click = {
+    businessType: Report.businessType.buttonClick,
+    pageSource: Report.pageSource.openTreasurePage,
+    objectType: Report.objectType.nextButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
+
 const clickBtn = () => {
     state.open_box.show = false
 }
@@ -149,4 +175,4 @@ const clickBtn = () => {
         opacity: 1;
     }
 }
-</style>
+</style>

+ 19 - 11
src/view/iframe/treasure-hunt/cover.vue

@@ -43,7 +43,7 @@
             <span>to Hunt Treasure</span>
         </div>
         <v-btn :txt="state.open_btn.txt" :font-size="'17px'" :icon="true" :disabled="state.open_btn.disabled"
-            @onClick="clickBtn" :loading="state.btn_loading" v-click-log="state.log_click"></v-btn>
+            @onClick="clickBtn" :loading="state.btn_loading"></v-btn>
     </div>
 
 </template>
@@ -60,14 +60,7 @@ let state = inject('state')
 state.btn_loading = false
 
 state.log_show = {
-    pageSource: Report.pageSource.pending_page,
-    redPacketType: Report.redPacketType.treasure,
-    shareLinkId: state.invite_code,
-    postId: state.postId
-}
-
-state.log_click = {
-    objectType: Report.pageSource.open_button,
+    businessType: Report.businessType.pageView,
     pageSource: Report.pageSource.pending_page,
     redPacketType: Report.redPacketType.treasure,
     shareLinkId: state.invite_code,
@@ -118,10 +111,25 @@ chrome.runtime.onMessage.addListener((req, sender, sendResponse) => {
 
 const clickBtn = () => {
     if (state.cover_status == '奖励已被领光') {
-        window.open('https://twitter.com/search?q=%23denet')
+        Report.reportLog({
+            pageSource: Report.pageSource.pending_page,
+            businessType: Report.businessType.buttonClick,
+            objectType: Report.objectType.getMoreGiveaway,
+            postId: state.postId
+        });
+        window.open('https://twitter.com/search?q=%23denet');
         return
     }
 
+    Report.reportLog({
+      businessType: Report.businessType.buttonClick,
+      objectType: Report.pageSource.open_button,
+      pageSource: Report.pageSource.pending_page,
+      redPacketType: Report.redPacketType.treasure,
+      shareLinkId: state.invite_code,
+      postId: state.postId
+    });
+
     state.btn_loading = true
     setTimeout(() => {
         if (state.btn_loading == true) {
@@ -343,4 +351,4 @@ const startBtn = () => {
     }
 
 }
-</style>
+</style>

+ 17 - 4
src/view/iframe/treasure-hunt/invite.vue

@@ -1,6 +1,6 @@
 <template>
     <!-- 邀请页 -->
-    <div class="area-process">
+    <div class="area-process" v-show-log="state.log_invite_show">
         <v-head :left-data="state.detail.postUserInfo || null" :rightData="state.detail.remainAmountUsdValue"></v-head>
         <div class="box-process">
             <div class="item" v-for="item, i in state.boxs">
@@ -44,9 +44,22 @@ import InviteList from '@/view/iframe/treasure-hunt/components/invite-list.vue'
 import HoverTip from '@/view/iframe/treasure-hunt/components/hover-tip.vue'
 import InviteFriends from '@/view/iframe/treasure-hunt/components/invite-friends.vue'
 import VDialog from '@/view/iframe/treasure-hunt/components/dialog.vue'
+
+import Report from "@/log-center/log"
+
 let content_success_message = ref(null)
 let state = inject('state')
 
+state.log_invite_show = {
+    businessType: Report.businessType.pageView,
+    pageSource: Report.pageSource.inviteFriendsPage,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId:  state.invite_code,
+    myShareLinkId: state.detail.inviteCopyUrl,
+    currentInvitedNum: state.detail.inviteCount,
+    postId: state.postId
+}
+
 // ---- 走马灯
 state.success_message_list = []
 
@@ -161,7 +174,7 @@ const btnStatus = () => {
 
     state.treasureId = ''
     let open_num = 0
-    // 有打开的箱子 Open the chest 
+    // 有打开的箱子 Open the chest
     state.boxs.forEach((item, index) => {
         if (item.taskFinishStatus == 1 && item.openStatus == 0) {
             state.open_btn.txt = 'Open the Chest'
@@ -173,7 +186,7 @@ const btnStatus = () => {
         if (item.taskFinishStatus == 1) {
             setLineFull(index, item.finishNeedInviteCount, item.successInviteCount)
         }
-        // 三个箱子全部打开了 
+        // 三个箱子全部打开了
         if (item.openStatus == 1) {
             open_num++
         }
@@ -375,4 +388,4 @@ const mouseLeave = () => {
 
 
 }
-</style>
+</style>

+ 29 - 4
src/view/iframe/treasure-hunt/result.vue

@@ -1,6 +1,6 @@
 <template>
     <!-- 开奖页 -->
-    <div class="content">
+    <div class="content" v-show-log="state.log_result_show">
         <img :src="require('@/assets/img/icon-silver-open-box.png')" alt="" />
         <div class="mark">
 
@@ -36,15 +36,40 @@
             </template>
         </div>
         <v-btn :txt="'Invite friends for more treasures'" :font-size="'16px'" class="btn"
-            v-if="Number(state.start_task.amountValue) > 0" @onClick="clickBtn"></v-btn>
-        <v-btn :txt="'Invite'" :font-size="'16px'" class="btn" v-else @onClick="clickBtn"></v-btn>
+          v-click-log="state.log_result_click" v-if="Number(state.start_task.amountValue) > 0" @onClick="clickBtn"></v-btn>
+        <v-btn :txt="'Invite'" :font-size="'16px'" class="btn" v-click-log="state.log_result_click"  v-else @onClick="clickBtn"></v-btn>
     </div>
 </template>
 <script setup>
 import { inject, onMounted } from 'vue'
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
+import Report from "@/log-center/log"
+
 let state = inject('state')
 
+state.log_result_show = {
+    businessType: Report.businessType.pageView,
+    pageSource: Report.pageSource.newFansRewardPage,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId: state.invite_code,
+    postId: state.postId,
+    extParams: {
+      isNewFans: Number(state.start_task.amountValue) > 0 ? true : false
+    }
+}
+
+state.log_result_click = {
+    businessType: Report.businessType.buttonClick,
+    pageSource: Report.pageSource.newFansRewardPage,
+    objectType: Report.objectType.nextButton,
+    redPacketType: Report.redPacketType.treasure,
+    shareLinkId: state.invite_code,
+    postId: state.postId,
+    extParams: {
+      isNewFans: Number(state.start_task.amountValue) > 0 ? true : false
+    }
+}
+
 const clickBtn = () => {
     state.init(() => {
         state.page = '邀请页'
@@ -134,4 +159,4 @@ JSON.parse('[{\"type\":2},{\"type\":10},{\"relatedUsers\":[{\"name\":\"Ice176197
         left: 15px;
     }
 }
-</style>
+</style>