nieyuge vor 2 Jahren
Ursprung
Commit
8a37bb95ef
2 geänderte Dateien mit 40 neuen und 0 gelöschten Zeilen
  1. 2 0
      src/log-center/logEnum.js
  2. 38 0
      src/view/iframe/buy-nft/buy/home.vue

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

@@ -55,6 +55,7 @@ export const objectType = {
     // create Nft
     create_nfts_button: 'create-nfts-button',
     confirm_transfer_button: 'confirm-transfer-button',
+    redeem_button: 'redeem-button',
 }
 
 export const pageSource = {
@@ -71,6 +72,7 @@ export const pageSource = {
     denetTopupSelector: "denet-topup-selector",
     denetMorePage: "denet-more-page",
     denetSelector: "denet-selector",
+    nftShopPage: "nft-shop-page",
     denetNftTransferPage: "denet-nft-transfer-page",
     // 待开红包页
     pending_page: 'pending-page',

+ 38 - 0
src/view/iframe/buy-nft/buy/home.vue

@@ -110,6 +110,7 @@ import { ElMessage } from 'element-plus'
 import { onMounted, reactive, inject, ref, nextTick, watchEffect } from "vue";
 import { getNftMysteryBoxSaleInfo, redeemNft } from "@/http/nft";
 import BtnLoading from '../components/btn-loading.vue'
+import Report from "@/log-center/log"
 import { getQueryString } from "@/uilts/help";
 import { sendChromeTabMessage } from '@/uilts/chromeExtension.js';
 let pay_info = inject('pay_info');
@@ -185,6 +186,15 @@ const redeemPost = () => {
             pay_info.buy_items = data
             sendChromeTabMessage({ actionType: "FINISH_GROUP_BANNNER" }, () => { })
             router.push({ path: '/open_box' });
+            // report
+            Report.reportLog({
+                pageSource: Report.pageSource.nftShopPage,
+                businessType: Report.businessType.buttonClick,
+                objectType: Report.objectType.redeem_button,
+                nftProjectId: projectId.value,
+            }, {
+                result: 'success'
+            })
         } else {
             let msg = ''
             switch (res.code.toString()) {
@@ -203,6 +213,11 @@ const redeemPost = () => {
                 case '5103':
                     msg = 'Purchase limit reached'
                     break
+                case '5104':
+                case '5105':
+                case '5106':
+                    msg = 'Invalid redemption code'
+                    break;
                 default:
                     msg = 'Invalid redemption code, please try again'
                     console.log(res.msg)
@@ -212,6 +227,15 @@ const redeemPost = () => {
                 type: 'warning'
             })
             redeemNext.value = true;
+            // report
+            Report.reportLog({
+                pageSource: Report.pageSource.nftShopPage,
+                businessType: Report.businessType.buttonClick,
+                objectType: Report.objectType.redeem_button,
+                nftProjectId: projectId.value,
+            }, {
+                result: 'fail'
+            })
         }
     }).catch(() => {
         ElMessage({
@@ -227,6 +251,13 @@ const showRedeemLayer = () => {
     nextTick(() => {
         refInput.value.focus()
     })
+    // report
+    Report.reportLog({
+        pageSource: Report.pageSource.nftShopPage,
+        businessType: Report.businessType.buttonClick,
+        objectType: Report.objectType.redeem_button,
+        nftProjectId: projectId.value,
+    })
 }
 
 const hideRedeemLayer = () => {
@@ -279,6 +310,13 @@ onMounted(() => {
     }).catch(() => {
 
     })
+
+    // report
+    Report.reportLog({
+        pageSource: Report.pageSource.nftShopPage,
+        businessType: Report.businessType.pageView,
+        nftProjectId: nft_project_Id
+    })
 })
 </script>