zhangwei преди 2 години
родител
ревизия
957f9ee993

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

@@ -140,6 +140,8 @@ export const pageSource = {
     post_editor_guide_page_right: 'post-editor-guide-page-right',
     buy_posteditor_nft_dialog: 'buy-posteditor-nft-dialog',
 
+    // 夺宝模式 - 领取列表页
+    who_get_money_page: 'who-get-money-page'
 }
 
 export const extParams = {

+ 11 - 2
src/view/iframe/treasure-hunt/all-receive-list.vue

@@ -13,9 +13,9 @@
     </div>
 </template>
 <script setup>
-import { inject, ref } from 'vue'
+import { inject, ref, onMounted } from 'vue'
 import ReceiveList from '@/view/iframe/treasure-hunt/components/receive-list.vue'
-
+import Report from "@/log-center/log"
 let amountIcon = require('@/assets/svg/icon-sort-amount.svg');
 let timeIcon = require('@/assets/svg/icon-sort-time.svg');
 
@@ -35,6 +35,15 @@ let optionList = ref([
         type: 1
     }
 ])
+onMounted(() => {
+    // 埋点
+    Report.reportLog({
+        businessType: Report.businessType.pageView,
+        pageSource: Report.pageSource.who_get_money_page,
+        postId: state.postId,
+        shareLinkId: state.invite_code || '',
+    })
+})
 
 
 let sortType = ref(2);

+ 26 - 47
src/view/iframe/treasure-hunt/cover.vue

@@ -2,43 +2,36 @@
     <!-- 封面页 -->
     <div class="cover">
         <v-head :left-data="state.detail.postUserInfo || null"></v-head>
-        <div class="waring" v-if="state.cover_status == '奖励已被领光'">
-            <div>All treasures</div>
-            <div>are hunted</div>
-        </div>
         <!-- 邀请人 -->
-        <template v-else>
-            <div class="invite"
-                v-if="state.detail.inviteUserInfo && state.detail.inviteUserInfo.nickName != state.detail.postUserInfo.nickName">
-                <img :src="state.detail.inviteUserInfo.avatarUrl" alt="" />
-                <span>@{{ state.detail.inviteUserInfo.nickName }} invites you</span>
-            </div>
-            <div class="in-invite" v-else></div>
-            <div class="treasure">
-                <component-zoom width="335" fontSize="34" style="margin:0 auto;">
-                    <span>Treasure</span>
-                    <span>${{ toLast(state.detail.amountUsdValue, 2) }}</span>
-                </component-zoom>
-            </div>
-            <div class="gain" v-if="Number(state.detail.upGainAmountValue) > 0">
-                <component-zoom width="335" fontSize="34" style="margin:0 auto;">
-                    <span>Your Gain Up to</span>
-                    <span>$</span>
-                    <span>{{ toLast(state.detail.upGainAmountValue, 3) }}</span>
-                </component-zoom>
-            </div>
-            <div class="coin" v-if="state.detail.currencySymbol != 'USD'">
-                <img :src="state.detail.currencyIconPath" alt="" />
-                <span> {{ state.detail.currencySymbol }} equivalent (Crypto)</span>
-            </div>
-            <div class="coin" v-else></div>
-        </template>
+        <div class="invite"
+            v-if="state.detail.inviteUserInfo && state.detail.inviteUserInfo.nickName != state.detail.postUserInfo.nickName">
+            <img :src="state.detail.inviteUserInfo.avatarUrl" alt="" />
+            <span>@{{ state.detail.inviteUserInfo.nickName }} invites you</span>
+        </div>
+        <div class="in-invite" v-else></div>
+        <div class="treasure">
+            <component-zoom width="335" fontSize="34" style="margin:0 auto;">
+                <span>Treasure</span>
+                <span>${{ toLast(state.detail.amountUsdValue, 2) }}</span>
+            </component-zoom>
+        </div>
+        <div class="gain" v-if="Number(state.detail.upGainAmountValue) > 0">
+            <component-zoom width="335" fontSize="34" style="margin:0 auto;">
+                <span>Your Gain Up to</span>
+                <span>$</span>
+                <span>{{ toLast(state.detail.upGainAmountValue, 3) }}</span>
+            </component-zoom>
+        </div>
+        <div class="coin" v-if="state.detail.currencySymbol != 'USD'">
+            <img :src="state.detail.currencyIconPath" alt="" />
+            <span> {{ state.detail.currencySymbol }} equivalent (Crypto)</span>
+        </div>
+        <div class="coin" v-else></div>
 
         <div class="box">
-            <img :src="require('@/assets/img/icon-gold-close-box.png')" alt="" v-if="state.cover_status == '奖励已被领光'" />
-            <img :src="require('@/assets/img/icon-treasure-box.png')" alt="" v-else />
+            <img :src="require('@/assets/img/icon-treasure-box.png')" alt="" />
         </div>
-        <div class="mark" :style="{ 'opacity': state.cover_status == '奖励已被领光' ? '0' : '1' }">
+        <div class="mark">
             <img :src="require('@/assets/svg/icon-three-line.svg')" alt="" />
             <span>to Hunt Treasure</span>
         </div>
@@ -334,20 +327,6 @@ async function clickBtn() {
     if (!global_userInfo || !global_userInfo.uid) {
         return
     }
-    if (state.cover_status == '奖励已被领光') {
-        Report.reportLog({
-            pageSource: Report.pageSource.expiredPage,
-            businessType: Report.businessType.buttonClick,
-            objectType: Report.objectType.getMoreGiveaway,
-            postId: state.postId,
-            shareLinkId: state.invite_code,
-            currentInvitedNum: state.inviteCount,
-            redPacketType: Report.redPacketType.treasure
-        });
-
-        window.open('https://twitter.com/search?q=%23denet');
-        return
-    }
     state.btn_loading = true
 
     Report.reportLog({

+ 0 - 4
src/view/iframe/treasure-hunt/index.vue

@@ -342,10 +342,7 @@ const handleStatus = (callback) => {
         if (joinStatus == 0) {
             // 显示封面页
             state.page = '封面页'
-            state.cover_status = '有邀请人'
             state.open_btn.txt = 'Start'
-            // state.cover_status = '无邀请人'
-            // state.cover_status = '奖励已被领光'
         }
         // 如果 夺宝参与状态 = 已参与夺宝
         else if (joinStatus == 1) {
@@ -358,7 +355,6 @@ const handleStatus = (callback) => {
     else {
         state.open_btn.txt = 'Look for more treasures'
         state.page = '结果页'
-        // state.cover_status = '奖励已被领光'
         state.btn_loading = false
         Report.reportLog({
             pageSource: Report.pageSource.expiredPage,

+ 33 - 7
src/view/iframe/treasure-hunt/result.vue

@@ -29,7 +29,8 @@
                     <img :src="require('@/assets/svg/icon-wallet-success.svg')" alt />
                     <span>Wallet</span>
                 </div>
-                <get-more :style_type="4">
+                <get-more :style_type="4"
+                    :reportData="{ pageSource: Report.pageSource.received_success_page, postId: state.postId, redPacketType: Report.redPacketType.treasure }">
                     <div class="btn btn2">
                         <img :src="require('@/assets/svg/icon-gold-box-close.svg')" alt />
                         <span>Get More</span>
@@ -56,17 +57,42 @@ import Report from "@/log-center/log"
 let state = inject('state')
 var moment = require('moment')
 
+onMounted(() => {
+    // 埋点
+    logFunc()
+})
+
+const logFunc = (log = {}) => {
+    log = Object.assign({
+        pageSource: Report.pageSource.expired_page,
+        businessType: Report.businessType.pageView,
+        redPacketType: Report.redPacketType.treasure,
+        shareLinkId: state.invite_code || '',
+        postId: state.postId
+    }, log)
+
+    if (Number(state.detail.amountUsdValue) > 0) {
+        log.pageSource = Report.pageSource.received_success_page
+    }
+    Report.reportLog(log)
+}
+
 function clickDone() {
     window.open(`${chromeExtensionUrl + ('iframe/home.html')}`)
+
+    // 埋点
+    logFunc({
+        businessType: Report.businessType.buttonClick,
+        objectType: Report.objectType.wallet_button
+    })
 }
 
 const clickBtn = () => {
-    // Report.reportLog({
-    //     pageSource: Report.pageSource.pending_page,
-    //     businessType: Report.businessType.buttonClick,
-    //     objectType: Report.objectType.getMoreGiveaway,
-    //     postId: state.postId
-    // });
+    logFunc({
+        businessType: Report.businessType.buttonClick,
+        objectType: Report.objectType.getMoreGiveaway,
+        currentInvitedNum: state.inviteCount,
+    })
     window.open('https://twitter.com/search?q=%23denet');
 }
 </script>