{"version":3,"sources":["webpack:///./components/Pop/DetailBrower.vue?fa63","webpack:///./assets/img/detail-only-code.png","webpack:///./components/Pop/DetailBrower.vue?5870","webpack:///./components/Pop/DetailBrower.vue","webpack:///./components/Pop/DetailBrower.vue?8f70","webpack:///./components/Pop/DetailBrower.vue?6337"],"names":["module","exports","CLAIM_TEXT","CLAIM_TOAST","props","amountStart","type","Number","String","default","productInfo","Object","showBrowerStatus","Boolean","processAttribute","Array","finalPrice","estimatedPriceSave","data","contentData","className","detailBrowerData","showBrowers","endTime","detailBrowerTimer","isLoading","couponOnlyBg","require","retentionInited","retentionPopupType","retentionFetchSeq","retentionAppliedSeq","giftRetentionRefreshTimer","computed","productId","_this$productInfo","_this$productInfo2","this","product","id","curProduct","_this$productInfo3","giftImg","_this$detailBrowerDat","retentionPopProductImg","isGiftAvailable","isSaveReady","hasSave","displayPopupType","_this$detailBrowerDat2","popupType","canShowPopup","estimatedPriceSaveText","v","s","currencySymbol","concat","claimBtnText","buttonTextPlain","_this$detailBrowerDat3","buttonText","replace","retentionRequestKey","selectedIds","map","attr","_attr$item","item","find","actived","join","isGiftRetentionType","_this$detailBrowerDat4","watch","immediate","handler","val","tryOpenPopup","$emit","deep","h","m","closePopup","queueGiftRetentionRefresh","mounted","initDetailBrower","beforeDestroy","clearTimeout","methods","_objectSpread","mapMutations","clearRetentionPending","_this","setTimeout","getEndTime","confirmRetentionRound","tool","_this2","_asyncToGenerator","regeneratorRuntime","mark","_callee","seq","_yield$_this2$$detail","code","_this2$$apm","_this2$$apm$captureEr","wrap","_context","prev","next","$detailBrowerPop","product_id","uuid","getFingerprint","product_price","sent","abrupt","t0","$apm","captureError","call","Error","stop","_this3","countDown","obj","timer","onClaim","_this4","_callee2","_this4$dleCustomEvent","_this4$detailBrowerDa","_this4$processAttribu","jumpType","_context2","dleCustomEventC","buttonJumpType","length","claimAndCheckout","afterClaim","getGift","claimType","_this$curProduct","_this5","$toast","isInMobile","$nextTick","setOptionInfo","show","callBackFlag","source","getProductOption","_this$curProduct2","_this6","selectOption","forEach","_attr$item2","optionTemp","optionItem","push","isRequire","_this6$curProduct","_attr$item3","_attr$item4","_attr$item5","isRecommendFlag","isRecommend","optionsVariantIdStr","mItem","sort","a","b","selectOptionParams","option_id","optionId","option_value_id","selectOptionVaruatObj","allOptionVariants","fItem","sortedOptionValueId","_this7","_callee3","_this7$curProduct2","_this7$getProductOpti","hasGift","_this7$detailBrowerDa","_addGiftRes","_location","sourceList","index","params","promotion","tasks","_this7$detailBrowerDa2","_yield$Promise$all","_yield$Promise$all2","addProductRes","addGiftRes","giftOk","_this7$curProduct3","_this7$curProduct4","_this7$curProduct5","_this7$$apm","_this7$$apm$captureEr","_context3","optionVariantQty","$productViewGift","gift_id","giftId","JSON","parse","sessionStorage","getItem","findIndex","_this7$curProduct","el","location","qty","options","$addCart","Promise","all","_slicedToArray","addGtmData","value","items","item_brand","sku","item_name","name","item_id","price","quantity","currency","$cookies","get","$store","getters","currencyTo","$router","path","query","finish","_this8","_callee4","_this8$detailBrowerDa","res","_this8$$apm","_this8$$apm$captureEr","_context4","component","_vm","_c","_self","ref","staticClass","attrs","on","$event","scopedSlots","_u","key","fn","_vm$detailBrowerData","_vm$detailBrowerData2","_vm$detailBrowerData3","_v","_s","mainTitle","_e","proxy","installComponents","LqImage","More"],"mappings":"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","file":"55.js?v=1794377452184&xbeta=b","sourcesContent":["// extracted by extract-css-chunks-webpack-plugin\nmodule.exports = {};","module.exports = __webpack_public_path__ + \"assets/img/detail-only-code.a4cf8f2e.png\";","export * from \"-!../../node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--5-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--5-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??ref--5-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--5-oneOf-1-3!../../node_modules/sass-resources-loader/lib/loader.js??ref--5-oneOf-1-4!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailBrower.vue?vue&type=style&index=0&id=19d076b5&prod&scoped=true&lang=less\"","\nimport { mapMutations } from \"vuex\";\nimport { isInMobile } from \"@@/utils/common\";\nimport { confirmRetentionRound, clearRetentionPending } from \"@@/mixins/components/Pop/detailBrowerRetention\";\n\nconst CLAIM_TEXT = {\n  1: \"Profiter de mon cadeau <span>OFFERT</span>\",\n  3: \"Profiter de mes récompenses\",\n};\n\nconst CLAIM_TOAST = {\n  1: \"The Gift Has Been Added To Your Cart. Please Add The Main Product To Your Cart Before Proceeding To Checkout.\",\n  2: \"The Discount Has Been Applied. Please Add The Product To Enjoy The Deal!\",\n  3: \"Gift Added & Discount Applied. Please Add The Main Product To Enjoy Your Offer.\",\n};\n\nexport default {\n  props: {\n    amountStart: { type: [Number, String], default: 0 },\n    productInfo: { type: Object, default: () => ({}) },\n    showBrowerStatus: { type: Boolean, default: false },\n    processAttribute: { type: [Array, null], default: null },\n    finalPrice: { type: [Number, String], default: 0 },\n    estimatedPriceSave: { type: [Number, String], default: 0 },\n  },\n  data() {\n    return {\n      contentData: { className: \"detailBrower-box\" },\n      detailBrowerData: null,\n      showBrowers: false,\n      endTime: null,\n      detailBrowerTimer: null,\n      isLoading: false,\n      couponOnlyBg: require(\"@@/assets/img/detail-only-code.png\"),\n      /** 首请求完成后，赠品类型才在未弹出前跟随 option 重拉 */\n      retentionInited: false,\n      /** 最近一次成功响应的 popupType，刷新清空 data 时仍用于判断是否重拉 */\n      retentionPopupType: 0,\n      retentionFetchSeq: 0,\n      retentionAppliedSeq: 0,\n      giftRetentionRefreshTimer: null,\n    };\n  },\n  computed: {\n    productId() {\n      return this.productInfo?.product?.id || this.productInfo?.id;\n    },\n    curProduct() {\n      return this.productInfo?.product || this.productInfo;\n    },\n    giftImg() {\n      return this.detailBrowerData?.retentionPopProductImg || \"\";\n    },\n    isGiftAvailable() {\n      return !!this.giftImg;\n    },\n    isSaveReady() {\n      return this.estimatedPriceSave != null && this.estimatedPriceSave !== \"\";\n    },\n    hasSave() {\n      return this.isSaveReady && Number(this.estimatedPriceSave) > 0;\n    },\n    /**\n     * 1仅赠品 / 2仅折扣 / 3赠品+折扣\n     * type1：始终为1（无赠品图由 canShowPopup 拦截，不因估价改写成折扣）\n     * type2：估价未就绪→null；无折扣由 canShowPopup 拦截不展示\n     * type3：估价未就绪→null；无折扣仍为3（模板隐藏券区）；有折扣无赠品→2；都有→3\n     */\n    displayPopupType() {\n      const type = Number(this.detailBrowerData?.popupType);\n      const { isSaveReady, hasSave, isGiftAvailable } = this;\n      if (type === 1) return 1;\n      if (type === 3) {\n        if (!isSaveReady) return null;\n        if (!hasSave) return 3;\n        return isGiftAvailable ? 3 : 2;\n      }\n      if (type === 2 && !isSaveReady) return null;\n      return type || null;\n    },\n    // 无数据/类型未定不展示；仅赠品需有图；仅券需有折扣；其余可展示\n    canShowPopup() {\n      const type = this.displayPopupType;\n      if (!this.detailBrowerData || type == null) return false;\n      if (type === 1) return this.isGiftAvailable;\n      if (type === 2) return this.hasSave;\n      if (type === 3) return this.hasSave || this.isGiftAvailable;\n      return true;\n    },\n    estimatedPriceSaveText() {\n      if (!this.hasSave) return \"\";\n      const { estimatedPriceSave: v, currencySymbol: s } = this;\n      return s === \"€\" ? `${v}${s}` : `${s}${v}`;\n    },\n    claimBtnText() {\n      if (this.displayPopupType === 2) return `Profiter de mes <span>${this.estimatedPriceSaveText}</span> OFF`;\n      return CLAIM_TEXT[this.displayPopupType] || \"\";\n    },\n    buttonTextPlain() {\n      return String(this.detailBrowerData?.buttonText || \"\").replace(/<[^>]+>/g, \"\");\n    },\n    /** option 选中/取消 + 价格，任一变都触发赠品门槛重查 */\n    retentionRequestKey() {\n      const selectedIds = (this.processAttribute || []).map((attr) => attr?.item?.find((item) => item.actived)?.id || \"\").join(\"-\");\n      return `${this.finalPrice}|${selectedIds}`;\n    },\n    isGiftRetentionType() {\n      const type = Number(this.retentionPopupType || this.detailBrowerData?.popupType);\n      return type === 1 || type === 3;\n    },\n  },\n  watch: {\n    showBrowerStatus: {\n      immediate: true,\n      handler(val) {\n        if (val) this.tryOpenPopup();\n        else this.showBrowers = false;\n      },\n    },\n    estimatedPriceSave() {\n      if (this.showBrowerStatus && !this.showBrowers) this.tryOpenPopup();\n    },\n    showBrowers(val) {\n      this.$emit(\"update:showBrowerStatus\", !!val);\n    },\n    endTime: {\n      deep: true,\n      handler(val) {\n        if (val?.h === \"00\" && val?.m === \"00\" && val?.s === \"00\") this.closePopup();\n      },\n    },\n    // 赠品类型且未弹出：取消/切换 option 按当前价重拉门槛赠品\n    retentionRequestKey() {\n      this.queueGiftRetentionRefresh();\n    },\n  },\n  mounted() {\n    this.initDetailBrower();\n  },\n  beforeDestroy() {\n    clearTimeout(this.detailBrowerTimer);\n    clearTimeout(this.giftRetentionRefreshTimer);\n  },\n  methods: {\n    ...mapMutations([\"setOptionInfo\"]),\n    closePopup() {\n      this.showBrowers = false;\n      // 与 showBrowers watcher 解耦，确保父级一定收到关闭（避免未打开过时父级卡在 true）\n      this.$emit(\"update:showBrowerStatus\", false);\n      clearTimeout(this.detailBrowerTimer);\n      clearRetentionPending(this.productId);\n    },\n    queueGiftRetentionRefresh() {\n      // 已到点等待弹出时不重拉，避免把首次机会冲掉\n      if (!this.retentionInited || this.showBrowers || this.showBrowerStatus || !this.isGiftRetentionType) return;\n      clearTimeout(this.giftRetentionRefreshTimer);\n      this.giftRetentionRefreshTimer = setTimeout(() => {\n        if (this.showBrowers || this.showBrowerStatus || !this.isGiftRetentionType) return;\n        this.initDetailBrower();\n      }, 100);\n    },\n    tryOpenPopup() {\n      // option 变更重拉未完成时，避免用旧门槛赠品误开\n      if (this.retentionFetchSeq !== this.retentionAppliedSeq) return;\n      if (!this.canShowPopup) {\n        // 估价未就绪(displayPopupType=null)：保持 showBrowerStatus=true 继续等，不关\n        // 已判定不可展示才真正关闭\n        if (this.detailBrowerData && this.displayPopupType != null) this.closePopup();\n        return;\n      }\n      this.getEndTime();\n      this.showBrowers = true;\n      confirmRetentionRound(this.productId, this.tool);\n    },\n    async initDetailBrower() {\n      const seq = ++this.retentionFetchSeq;\n      try {\n        const { code, data } = await this.$detailBrowerPop({\n          product_id: this.productId,\n          uuid: this.getFingerprint(),\n          product_price: this.finalPrice,\n        });\n        if (seq !== this.retentionFetchSeq) return;\n        this.retentionAppliedSeq = seq;\n        this.retentionInited = true;\n        if (code !== 200000) {\n          if (this.showBrowerStatus) this.tryOpenPopup();\n          return;\n        }\n        this.detailBrowerData = data;\n        this.retentionPopupType = Number(data?.popupType) || 0;\n        // 到点后：可展示则开；估价未就绪则继续等；明确不可展示再关\n        if (this.showBrowerStatus) this.tryOpenPopup();\n      } catch (error) {\n        if (seq !== this.retentionFetchSeq) return;\n        this.retentionAppliedSeq = seq;\n        this.retentionInited = true;\n        if (this.showBrowerStatus) this.tryOpenPopup();\n        this.$apm?.captureError?.(new Error(\"挽留弹窗接口请求失败\" + error));\n      }\n    },\n    getEndTime() {\n      clearTimeout(this.detailBrowerTimer);\n      this.endTime = null;\n      this.tool.countDown(30 * 60 * 1000, 1000, (obj, timer) => {\n        this.detailBrowerTimer = timer;\n        this.endTime = obj;\n      });\n    },\n    async onClaim() {\n      if (this.isLoading) return;\n      this.isLoading = true;\n      this.dleCustomEventC?.(\"popUp\", `popUp::pdpDetainment::${this.buttonTextPlain}`, \"popUp_Click\");\n\n      const jumpType = Number(this.detailBrowerData?.buttonJumpType);\n      // buttonJumpType==1：主品+赠品加购去结算；无规格上下文（评论页）降级为仅领赠/券\n      // buttonJumpType==2：只领赠品/券；Mobile 再拉快捷加购\n      if (jumpType === 1 && this.processAttribute?.length) {\n        await this.claimAndCheckout();\n      } else if (jumpType === 1 || jumpType === 2) {\n        if (this.displayPopupType === 2) this.afterClaim(2);\n        else await this.getGift();\n      } else {\n        this.isLoading = false;\n      }\n    },\n    afterClaim(claimType) {\n      this.closePopup();\n      if (CLAIM_TOAST[claimType]) this.$toast(CLAIM_TOAST[claimType]);\n      if (isInMobile() && this.curProduct?.id) {\n        this.$nextTick(() => {\n          this.setOptionInfo({\n            curProduct: this.curProduct,\n            show: true,\n            callBackFlag: false,\n            source: \"pdpDetainment\",\n          });\n        });\n      }\n      this.isLoading = false;\n    },\n    getProductOption() {\n      const selectOption = [];\n      (this.processAttribute || []).forEach((attr) => {\n        let optionTemp = attr.item?.find((optionItem) => optionItem.actived);\n        if (optionTemp) {\n          selectOption.push(optionTemp);\n        } else if (attr?.isRequire) {\n          optionTemp = this.curProduct?.isRecommendFlag ? attr.item?.find((optionItem) => optionItem.isRecommend) || attr.item?.[0] : attr.item?.[0];\n          if (optionTemp) selectOption.push(optionTemp);\n        }\n      });\n      const optionsVariantIdStr = selectOption\n        .map((mItem) => mItem.id)\n        .sort((a, b) => a - b)\n        .join(\"-\");\n      const selectOptionParams = selectOption.map((item) => ({\n        option_id: item.optionId,\n        option_value_id: item.id,\n      }));\n      const selectOptionVaruatObj = this.curProduct?.allOptionVariants?.find((fItem) => fItem.sortedOptionValueId == optionsVariantIdStr);\n      return { selectOptionParams, selectOptionVaruatObj };\n    },\n    async claimAndCheckout() {\n      try {\n        const { selectOptionParams, selectOptionVaruatObj } = this.getProductOption();\n        const hasGift = this.displayPopupType === 1 || this.displayPopupType === 3;\n        // 属性无库存：toast 提示，仅赠品加购\n        if (selectOptionVaruatObj?.optionVariantQty == 0) {\n          if (!hasGift) {\n            this.closePopup();\n            this.$toast(CLAIM_TOAST[2]);\n            return;\n          }\n          const addGiftRes = await this.$productViewGift({\n            gift_id: this.detailBrowerData?.giftId,\n          });\n          if (addGiftRes?.code === 200000) {\n            this.closePopup();\n            this.$toast(CLAIM_TOAST[this.displayPopupType] || CLAIM_TOAST[1]);\n          }\n          return;\n        }\n        // 属性有库存：主品（+赠品）加购，成功后去结算页\n        let source = \"\";\n        let _location = \"\";\n        const sourceList = JSON.parse(sessionStorage.getItem(\"sourceList\")) || [];\n        if (sourceList.length > 0) {\n          const index = sourceList.findIndex((item) => item.id == this.curProduct?.id);\n          if (index !== -1) {\n            source = sourceList[index].el;\n            _location = sourceList[index].location;\n          }\n        }\n        const params = {\n          product_id: this.curProduct?.id,\n          qty: 1,\n          options: selectOptionParams,\n          source,\n          location: _location,\n        };\n        const promotion = JSON.parse(sessionStorage.getItem(\"promotion\"));\n        if (promotion) params.promotion = promotion;\n\n        const tasks = [this.$addCart(params)];\n        if (hasGift) {\n          tasks.push(this.$productViewGift({ gift_id: this.detailBrowerData?.giftId }));\n        }\n        const [addProductRes, addGiftRes] = await Promise.all(tasks);\n        const giftOk = !hasGift || addGiftRes?.code === 200000;\n        if (addProductRes?.code == 200000 && giftOk) {\n          this.addGtmData(\"dleAddToCart\", {\n            el: \"popUp::add_to_cart\",\n            value: selectOptionVaruatObj?.finalPrice,\n            items: [\n              {\n                item_brand: this.curProduct?.sku || \"\",\n                item_name: this.curProduct?.name,\n                item_id: this.curProduct?.id,\n                price: selectOptionVaruatObj?.finalPrice || 0,\n                quantity: 1,\n                currency: this.$cookies.get(\"currency\") ? this.$cookies.get(\"currency\") : this.$store.getters[\"user/currency\"].currencyTo,\n              },\n            ],\n          });\n          this.$router.push({\n            path: \"/order/confirm\",\n            query: { source: \"pdpDetainment\" },\n          });\n        }\n      } catch (error) {\n        this.$apm?.captureError?.(new Error(\"详情页挽留弹窗加购报错\" + error));\n      } finally {\n        this.isLoading = false;\n      }\n    },\n    async getGift() {\n      const claimType = this.displayPopupType;\n      try {\n        const res = await this.$productViewGift({\n          gift_id: this.detailBrowerData?.giftId,\n        });\n        if (res?.code !== 200000) {\n          this.isLoading = false;\n          return;\n        }\n        this.afterClaim(claimType);\n      } catch (error) {\n        this.$apm?.captureError?.(new Error(\"详情页挽留弹窗加购赠品报错\" + error));\n        this.isLoading = false;\n      }\n    },\n  },\n};\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailBrower.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailBrower.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DetailBrower.vue?vue&type=template&id=19d076b5&scoped=true\"\nimport script from \"./DetailBrower.vue?vue&type=script&lang=js\"\nexport * from \"./DetailBrower.vue?vue&type=script&lang=js\"\nimport style0 from \"./DetailBrower.vue?vue&type=style&index=0&id=19d076b5&prod&scoped=true&lang=less\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"19d076b5\",\n  null\n  \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {LqImage: require('/data/jenkins/data/workspace/frUnice-nuxt-pc-pro/components/Common/LqImage.vue').default,More: require('/data/jenkins/data/workspace/frUnice-nuxt-pc-pro/app/desktop/components/Common/More.vue').default})\n"],"sourceRoot":""}