Browse Source

[edit][埋点]

zhangwei 2 years ago
parent
commit
d44e8465ee

+ 4 - 5
src/view/iframe/treasure-hunt/components/open-box.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="open-box" v-show-log="state.log_open_box_show">
+    <div class="open-box">
         <div class="background"></div>
         <!-- 开奖页 -->
         <div class="content">
@@ -15,8 +15,7 @@
                     </div>
                 </div>
             </div>
-            <v-btn :txt="'OK'" :font-size="'16px'" class="btn" :icon="false" v-click-log="state.log_open_box_btn_click"
-                @onClick="clickBtn"></v-btn>
+            <v-btn :txt="'OK'" :font-size="'16px'" class="btn" :icon="false" @onClick="clickBtn"></v-btn>
         </div>
     </div>
 </template>
@@ -24,12 +23,12 @@
 import { inject } from 'vue'
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 
-import Report from "@/log-center/log"
-
 let state = inject('state')
 
 const clickBtn = () => {
     state.open_box.show = false
+    state.open_box.clicked = true
+    state.init()
 }
 </script>
 <style lang="scss" scoped>

+ 33 - 22
src/view/iframe/treasure-hunt/index.vue

@@ -24,7 +24,9 @@ let state = reactive({
     oldDetail: {},
     btn_loading: false,
     open_box: {
+        showed: false,
         show: false,
+        clicked: false,
         data: {}
     },
     open_btn: {
@@ -100,9 +102,39 @@ state.init = (callback) => {
         })
     }
 }
+
+const reportOpenBoxLog = () => {
+    if (state.open_box.showed) {
+        Report.reportLog({
+            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.open_box.showed = false
+    }
+    if (state.open_box.clicked) {
+        Report.reportLog({
+            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
+        });
+        state.open_box.clicked = false
+    }
+}
+
 const handleCommon = (res, callback) => {
     state.detail = res.data
     state.postId = state.detail.postId
+    reportOpenBoxLog()
     try {
         state.tasks = JSON.parse(state.detail.startCondition)
         let follows = state.tasks.filter((item) => { return item.type == 1 })
@@ -154,29 +186,8 @@ state.treasureOpen = () => {
                 }
             }
             state.open_box.show = true
+            state.open_box.showed = true
             state.open_box.data = res.data
-            state.oldDetail = state.detail
-
-            state.log_open_box_show = {
-                businessType: Report.businessType.pageView,
-                pageSource: Report.pageSource.openTreasurePage,
-                redPacketType: Report.redPacketType.treasure,
-                shareLinkId: state.invite_code,
-                myShareLinkId: state.oldDetail.inviteCopyUrl,
-                currentInvitedNum: state.oldDetail.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.oldDetail.inviteCopyUrl,
-                currentInvitedNum: state.oldDetail.inviteCount,
-                postId: state.postId
-            }
 
             state.init(() => {
                 state.inviteInit()