@polyv/product-ui 1.0.0-rc-20250612.4 → 1.2.0-rc-20250724.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/address-edit.cjs.js +7 -3
- package/address-edit.es.js +1194 -1143
- package/address-edit.umd.js +7 -3
- package/address-item.cjs.js +2 -2
- package/address-item.es.js +12 -12
- package/address-item.umd.js +4 -3
- package/address-list.cjs.js +3 -3
- package/address-list.es.js +36 -18
- package/address-list.umd.js +3 -3
- package/big-card-popup.cjs.js +11 -0
- package/big-card-popup.es.d.ts +3 -0
- package/big-card-popup.es.js +4439 -0
- package/big-card-popup.umd.js +11 -0
- package/index.cjs.js +7 -3
- package/index.es.js +2644 -1847
- package/index.umd.js +7 -3
- package/mobile-product-pendant.cjs.js +3 -3
- package/mobile-product-pendant.es.js +46 -36
- package/mobile-product-pendant.umd.js +3 -3
- package/order-confirm.cjs.js +5 -3
- package/order-confirm.es.js +311 -293
- package/order-confirm.umd.js +5 -3
- package/order-detail.cjs.js +5 -3
- package/order-detail.es.js +311 -293
- package/order-detail.umd.js +5 -3
- package/order-item.cjs.js +2 -2
- package/order-item.es.js +27 -9
- package/order-item.umd.js +4 -3
- package/order-list-popup.cjs.js +5 -3
- package/order-list-popup.es.js +329 -297
- package/order-list-popup.umd.js +5 -3
- package/order-list.cjs.js +3 -3
- package/order-list.es.js +27 -9
- package/order-list.umd.js +3 -3
- package/order-popup.cjs.js +7 -3
- package/order-popup.es.js +1215 -1156
- package/order-popup.umd.js +7 -3
- package/package.json +3 -2
- package/pc-product-pendant.cjs.js +3 -3
- package/pc-product-pendant.es.js +27 -9
- package/pc-product-pendant.umd.js +3 -3
- package/product-button.cjs.js +3 -3
- package/product-button.es.js +318 -267
- package/product-button.umd.js +3 -3
- package/product-detail-popup.cjs.js +5 -3
- package/product-detail-popup.es.js +560 -473
- package/product-detail-popup.umd.js +5 -3
- package/product-detail.cjs.js +5 -3
- package/product-detail.es.js +632 -553
- package/product-detail.umd.js +5 -3
- package/product-iframe-link-popup.cjs.js +5 -3
- package/product-iframe-link-popup.es.js +296 -282
- package/product-iframe-link-popup.umd.js +5 -3
- package/product-item.cjs.js +5 -3
- package/product-item.es.js +720 -494
- package/product-item.umd.js +5 -3
- package/product-list-popup.cjs.js +5 -3
- package/product-list-popup.es.js +753 -585
- package/product-list-popup.umd.js +5 -3
- package/product-list.cjs.js +5 -3
- package/product-list.es.js +744 -584
- package/product-list.umd.js +5 -3
- package/small-card.cjs.js +10 -0
- package/small-card.es.d.ts +3 -0
- package/small-card.es.js +4496 -0
- package/small-card.umd.js +11 -0
package/product-list-popup.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(){"use strict";try{if("undefined"!=typeof document){var o=document.createElement("style");o.appendChild(document.createTextNode('@charset "UTF-8";.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:80px;height:36px!important;padding:0 16px;border-radius:2px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;position:relative;margin-right:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border:hover{border-color:#3f76fc}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none}.plv-radio--border.plv-radio--checked{border-width:2px;border-color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{background:#f9fafd;border-color:#e5e5e5!important}.plv-radio--border.plv-radio--disabled:hover,.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 8px 8px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-c-item__price-area{display:flex;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{margin-left:2px;color:#0006;font-size:12px;line-height:14px;text-decoration:line-through}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-button{position:relative}.plv-product-button__render{position:relative;z-index:10}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-item{position:relative;display:flex;box-sizing:border-box;height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex:none;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;flex-wrap:wrap;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}@font-face{font-family:D-DIN-PRO-Regular;src:url(https://s4.videocc.net/font/D-DIN-PRO-400-Regular.otf)}@font-face{font-family:D-DIN-PRO-Medium;src:url(https://s4.videocc.net/font/D-DIN-PRO-500-Medium.otf)}@font-face{font-family:D-DIN-PRO-Bold;src:url(https://s4.videocc.net/font/D-DIN-PRO-700-Bold.otf)}.plv-font-din-pro-regular{font-family:D-DIN-PRO-Regular,sans-serif}.plv-font-din-pro-medium{font-family:D-DIN-PRO-Medium,sans-serif}.plv-font-din-pro-bold{font-family:D-DIN-PRO-Bold,sans-serif}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}')),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var o=document.createElement("style");o.appendChild(document.createTextNode('@charset "UTF-8";.plv-radio{cursor:pointer;line-height:16px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:30px;-webkit-box-sizing:border-box;box-sizing:border-box}.plv-radio:last-of-type{margin-right:0}.plv-radio .plv-radio__inner{-ms-flex-negative:0;flex-shrink:0;-webkit-box-sizing:border-box;box-sizing:border-box;width:16px;height:16px;border-radius:8px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s;transition:border-color .35s;vertical-align:middle}.plv-radio .plv-radio__label{color:#1d2129;font-size:14px;padding-left:8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;line-height:16px;word-break:break-word}.plv-radio:hover .plv-radio__inner{border-color:#3f76fc}.plv-radio.plv-radio--checked .plv-radio__inner{border-width:4px;border-color:#3f76fc}.plv-radio.plv-radio--disabled{cursor:not-allowed}.plv-radio.plv-radio--disabled .plv-radio__inner{border-color:#e5e5e5;background:#f9fafd}.plv-radio.plv-radio--disabled .plv-radio__label{color:#969ba5}.plv-radio.plv-radio--disabled.plv-radio--checked .plv-radio__inner{background:#f9fafd}.plv-radio.plv-radio--readonly{cursor:default}.plv-radio.plv-radio--readonly:hover .plv-radio__inner{border-color:#e5e5e5}.plv-radio.plv-radio--readonly:hover .plv-radio__inner.plv-radio__inner--checked{border-color:#3f76fc}.plv-radio--border{min-width:56px;height:36px!important;padding:0 16px;border-radius:4px;border:1px solid #e5e5e5;-webkit-transition:border-color .35s ease-in-out;transition:border-color .35s ease-in-out;position:relative;margin-right:16px;margin-bottom:8px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.plv-radio--border .plv-radio__label{padding-left:0;font-size:12px;float:none;-webkit-transition:color .35s ease-in-out;transition:color .35s ease-in-out}.plv-radio--border:hover{border-color:#3f76fc;-webkit-transition:border-color .35s ease-in-out;transition:border-color .35s ease-in-out}.plv-radio--border:hover .plv-radio__label{-webkit-transition:color .35s ease-in-out;transition:color .35s ease-in-out;color:#3f76fc}.plv-radio--border.plv-radio--checked{border-width:1px;border-color:#3f76fc;background:#3f76fc1a}.plv-radio--border.plv-radio--checked:hover{border-color:#3f76fc}.plv-radio--border.plv-radio--checked .plv-radio__label{color:#3f76fc}.plv-radio--border .plv-radio__corner{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background-image:url(data:image/png;base64,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);background-size:100% 100%}.plv-radio--border.plv-radio--disabled{opacity:.6}.plv-radio--border.plv-radio--disabled:hover{border-color:#e5e5e5}.plv-radio--border.plv-radio--disabled:hover .plv-radio__label{color:#969ba5}.plv-radio--border.plv-radio--disabled.plv-radio--checked:hover{border-color:#3f76fc}.plv-radio--border.plv-radio--disabled.plv-radio--checked:hover .plv-radio__label{color:#3f76fc}.plv-radio--border.plv-radio--readonly{border-color:#e5e5e5;pointer-events:none}.plv-radio--border.plv-radio--readonly.plv-radio--checked{border-color:#3f76fc}.plv-product-common-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006}.plv-product-common-popup__body{position:absolute;display:flex;flex-direction:column;width:100%;max-height:90%;overflow:hidden;border-radius:16px 16px 0 0;background:#fff}.plv-product-common-popup__header{position:relative;z-index:2;display:flex;flex-shrink:0;justify-content:center;align-items:center;padding:0 54px}.plv-product-common-popup__back{position:absolute;top:50%;left:18px;display:flex;justify-content:center;align-items:center;box-sizing:border-box;font-size:20px;transform:translateY(-50%);cursor:pointer}.plv-product-common-popup__title{color:#000c;font-size:16px;font-weight:500;text-align:center}.plv-product-common-popup__header-right{position:absolute;top:50%;right:12px;display:flex;align-items:center;transform:translateY(-50%)}.plv-product-common-popup__close{display:flex;color:#0009;font-size:24px;cursor:pointer}.plv-product-common-popup__content{position:relative;z-index:2;display:flex;flex:1;overflow:hidden}.plv-product-common-popup__inner{flex:1;overflow-y:auto}.plv-product-common-popup__body--bg1{background:linear-gradient(180deg,#fee5e1,#fef9f4)}.plv-product-common-popup__body--bg1:before{position:absolute;top:-26px;right:-87px;z-index:1;width:176px;height:168px;background:#fdf0d5;pointer-events:none;content:"";filter:blur(80px)}.plv-product-common-popup__body--bg1 .plv-product-common-popup__content{padding:0 12px 30px}.plv-product-common-popup__body--bg1 .plv-product-common-popup__inner{border-radius:12px;background:#fff}.plv-product-common-popup--hide-modal{background:none;pointer-events:none}.plv-product-common-popup--hide-modal .plv-product-common-popup__body{pointer-events:initial}.plv-product-common-popup--fill-body .plv-product-common-popup__content{height:90%}.plv-product-common-popup--mobile .plv-product-common-popup__body{border-radius:16px 16px 0 0}.plv-product-common-popup--position-bottom .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(0, 100%);--plv-product-popup-animation-end: translate(0, 0);bottom:0;left:0}.plv-product-common-popup--position-left .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(-100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;left:0;height:100%;max-height:100%}.plv-product-common-popup--position-right .plv-product-common-popup__body{--plv-product-popup-animation-start: translate(100%, 0);--plv-product-popup-animation-end: translate(0, 0);top:0;right:0;height:100%;max-height:100%}.plv-product-common-popup--position-center .plv-product-common-popup__body{top:50%;left:50%;max-height:90%;animation:none!important;transform:translate(-50%,-50%)}.plv-product-common-popup--horizontal-screen .plv-product-common-popup__body{border-radius:0}.plv-product-common-popup--page-fullscreen{top:50%;left:50%;width:100vh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__body,.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__content{overflow:initial}.plv-product-common-popup--hide-scrollbar .plv-product-common-popup__inner{overflow-y:initial}.plv-product-common-popup-slide-enter-active{animation:plv-product-common-popup-slide-in .2s ease-in-out}.plv-product-common-popup-slide-leave-active{animation:plv-product-common-popup-slide-in .15s reverse ease-in-out}@keyframes plv-product-common-popup-slide-in{0%{transform:var(--plv-product-popup-animation-start)}to{transform:var(--plv-product-popup-animation-end)}}.plv-product-form-input{display:flex}.plv-product-form-input__main{position:relative;display:flex;flex:1;align-items:center;box-sizing:border-box;height:50px;overflow:hidden;border-radius:8px;background:#f7f8fa}.plv-product-form-input__input{display:block;flex:1;box-sizing:border-box;height:100%;color:inherit}.plv-product-form-input__input-inner{border:none;border-radius:0;outline:none;-webkit-tap-highlight-color:transparent;-webkit-focus-ring-color:transparent;tap-highlight-color:transparent;display:block;box-sizing:border-box;width:100%;height:100%;padding:0 12px;background:none;font-size:14px}.plv-product-form-input__input-inner::placeholder{color:#9e9e9e}.plv-product-form-input__input-inner::-webkit-outer-spin-button,.plv-product-form-input__input-inner::-webkit-inner-spin-button{margin:0;appearance:none!important}.plv-product-form-input__input-inner[type=number]{appearance:textfield}.plv-product-form-input__input-inner[disabled]{opacity:100%}.plv-product-form-input__input-inner[type=button],.plv-product-form-input__input-inner[type=submit],.plv-product-form-input__input-inner[type=reset]{appearance:none;background:#fff}.plv-product-form-input__clearable{display:flex;margin-right:16px;color:#999;font-size:20px}.plv-product-form-input__suffix-text{color:#aaa;font-size:16px}.plv-product-form-input--textarea .plv-product-form-input__main{height:initial}.plv-product-form-input--textarea .plv-product-form-input__input-inner{padding-top:8px}.plv-product-form-input__suffix{display:flex;align-items:center;padding-right:12px}.plv-product-form-input__suffix .polyv-icon{display:flex;color:#0006;font-size:18px}.plv-product-form-input__suffix:empty{display:none}.plv-product-c-loading{display:inline-block;width:32px;height:32px;background-image:url(data:image/png;base64,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);background-position:center;background-size:cover;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.plv-product-c-label-panel{position:relative;background-color:#f7f8fa}.plv-product-c-label-list__wrapper{position:relative;z-index:1060;display:flex;box-sizing:border-box;margin-bottom:4px;padding:0 12px;background-color:#f7f8fa}.plv-product-c-label-list__inner{display:flex}.plv-product-c-label-list__item{display:flex;flex:none;flex-direction:column;align-items:center;box-sizing:border-box;height:26px;margin-right:8px;margin-bottom:8px;padding:4px 12px;border:1px solid rgba(0,0,0,.06);border-radius:20px;color:#0009;font-size:12px;line-height:18px}.plv-product-c-label-list__item.plv-product-c-label-list__item--active{border-color:#ff62644d;color:#ff6264;font-weight:500}.plv-product-c-label-list__arrow{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;box-sizing:border-box;width:26px;height:26px;margin-left:auto;border:1px solid rgba(0,0,0,.1);border-radius:20px}.plv-product-c-label-list__arrow-icon{display:flex;color:#0006;font-size:16px;transition:.3s}.plv-product-c-label-list__arrow--active .plv-product-c-label-list__arrow-icon{transform:rotate(180deg)}.plv-product-c-label-list__shadow{position:absolute;top:0;right:0;z-index:0;width:80px;height:42px;background:linear-gradient(90deg,#f7f8fa00,#f7f8fa 39%)}.plv-product-c-label-list-panel{position:absolute;top:100%;right:0;left:0;z-index:1050;box-sizing:border-box;padding:0 12px;border-bottom-right-radius:16px;border-bottom-left-radius:16px;background-color:#f7f8fa}.plv-product-c-label-list-panel__content{flex-wrap:wrap;box-sizing:border-box;max-height:216px;overflow-y:auto;transform:translateZ(0)}.slide-fade-enter-active,.slide-fade-leave-active{overflow:hidden;transition:transform .3s ease,opacity .3s ease}.slide-fade-enter,.slide-fade-leave-to{opacity:0%;transform:translateY(-10px)}.fade-overlay-enter-active,.fade-overlay-leave-active{transition:opacity .3s ease}.fade-overlay-enter,.fade-overlay-leave-to{opacity:0%}.plv-product-c-label-overlay{position:fixed;inset:45% 0 0;z-index:1040;background-color:#0006}.plv-product-c-label-overlay-pc{position:absolute;inset:45% 0 0;z-index:1040;height:600px;background-color:#0006}.plv-product-c-explain--explaining{display:flex;justify-content:center;align-items:center;width:100%;height:20px;border-radius:0 0 4px 4px;background:#ff6264cc;color:#fff;font-size:12px;font-weight:500;backdrop-filter:blur(3px)}.plv-product-c-explain--explaining .plv-product-c-explain--explaining-icon{width:14px;height:14px;margin-right:2px;vertical-align:top}.plv-product-c-explain--explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(255,98,100,.3);border-radius:20px;background:#fff;color:#ff6264;font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer}.plv-product-c-explain--not-explained{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:20px;padding:4px 12px;border:1px solid rgba(0,0,0,.1);border-radius:20px;background:#fff;color:#666;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--explaining-cover{position:absolute;bottom:0;left:0}.plv-product-c-explain--not-explained-cover,.plv-product-c-explain--explained-cover{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.plv-product-c-explain--explained-cover{z-index:12}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining{width:52px;height:16px;padding:1px 2px;border:1px solid rgba(255,82,82,.6);border-radius:2px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;transform:scale(.8333)}.plv-product-c-explain--no-cover .plv-product-c-explain--explaining span{margin-top:2px}.plv-product-c-explain--no-cover .plv-product-c-explain--explained{width:60px;height:24px;padding:3px 12px;background:transparent;color:#ff5252;font-size:12px}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained{display:flex;box-sizing:border-box;height:16px;margin-left:4px;padding:1px 4px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;white-space:nowrap}.plv-product-c-explain--no-cover .plv-product-c-explain--not-explained span{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__title-container{position:relative;margin-bottom:6px}.plv-product-c-item__title{color:#000c;font-size:14px;font-weight:500;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.plv-product-c-item__title--single{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__title-more{position:absolute;top:22px;right:-6px;display:flex;border:none;background:none}.plv-product-c-item__title-more-icon{display:flex;color:#0006;font-size:16px}.plv-product-c-item__title--expanded{-webkit-line-clamp:unset}.plv-product-c-item__tag-container{box-sizing:border-box;margin-right:4px;padding:0 1px;border:.5px solid rgba(0,0,0,.2);border-radius:2px;color:#0009;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-c-item__tag-container:last-child{margin-right:0}.plv-product-c-item__tag{display:inline-block;transform:scale(.833);user-select:none}.plv-product-c-item__price-area{display:flex;flex-wrap:wrap;gap:2px;align-items:baseline}.plv-product-c-item__price{color:#ff5252;font-size:18px;line-height:18px;word-break:break-all}.plv-product-c-item__price-custom{font-size:14px}.plv-product-c-item__price-symbol{color:#ff5252;font-size:12px}.plv-product-c-item__price-placeholder{margin-left:2px;color:#ff5252;font-size:18px}.plv-product-c-item__placeholder-text{margin:6px 2px 0 3px;color:#0006;font-size:12px}.plv-product-c-item__original-price{color:#0006;font-size:12px;line-height:14px;text-decoration:line-through;word-break:break-all}.plv-product-c-item__price-finance{color:#ff5252;font-size:14px}.plv-product-button,.plv-product-button__render{position:relative}.plv-product-button__inner{position:absolute;top:0;left:0;z-index:11;width:100%;height:100%;cursor:pointer}.plv-product-item{position:relative;display:flex;box-sizing:border-box;min-height:124px;margin-bottom:8px;padding:12px;border-radius:8px;background-color:#fff;cursor:pointer}.plv-product-item__ranking{box-sizing:border-box;min-width:19px;height:16px;padding:1px 6px;border-radius:2px;background:#0006;color:#fff;font-size:12px;font-weight:700;line-height:14px}.plv-product-item__ranking--cover{position:absolute;top:2px;left:2px}.plv-product-item__cover-area{position:relative;flex-shrink:0;width:100px;height:100px;overflow:hidden;margin-right:8px;border-radius:4px}.plv-product-item__cover-stock{position:absolute;top:0;left:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#00000080;color:#fff;font-size:12px}.plv-product-item__cover{width:100px;height:100px;object-fit:cover}.plv-product-item__content{display:flex;flex-grow:1;flex-direction:column;justify-content:space-between;min-width:0}.plv-product-item__content .plv-product-c-item__title-container{min-width:0;margin-bottom:0}.plv-product-item__title-area{display:flex;align-items:center}.plv-product-item__tags{display:flex;margin-top:6px;margin-bottom:6px}.plv-product-item__description{margin:0;color:#0006;font-size:12px;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__footer{display:flex;gap:4px;justify-content:space-between;align-items:flex-end;margin-top:auto}.plv-product-item__position-detail-button{position:relative;z-index:12;box-sizing:border-box;width:64px;max-width:64px;height:24px;margin-right:12px;margin-left:auto;padding:0 4px;border:1px solid rgba(0,0,0,.2);border-radius:456px;background:transparent;color:#0009;font-size:12px;line-height:23px;text-align:center;cursor:pointer;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plv-product-item__explained--no-cover{margin-right:12px;margin-left:auto}.plv-product-item__explained--no-cover-position{margin-left:0}.plv-product-item__buy-button{display:flex;justify-content:center;align-items:center;box-sizing:border-box;height:24px;padding:3px 12px;border:none;border-radius:16px;background:#ff5252;color:#fff;font-size:12px;white-space:nowrap;outline:none}.plv-product-item__buy-button--disabled{background:#ff525299;color:#fff}.plv-product-item-no-cover .plv-product-c-item__title{margin-left:4px}.plv-product-item--topping{background:#f15d5d14}.plv-product-list-empty{position:absolute;top:50%;left:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;padding:0 10px;font-size:14px;line-height:18px;text-align:center;transform:translate(-50%,-50%)}.plv-product-list-empty__icon{display:flex;opacity:40%;margin-bottom:16px;color:#999;font-size:70px}.plv-product-list-empty__text{color:#999}.plv-product-list{height:100%;overflow-y:auto;background-color:#f7f8fa;-webkit-overflow-scrolling:touch}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__main{height:32px;border-radius:8px;background:#0000000a}.plv-product-list .plv-product-form-input.plv-product-form-input--theme-dark .plv-product-form-input__input-inner{padding-left:4px}.plv-product-list__header-search-icon{display:flex;margin-left:11px;color:#0006}.plv-product-list__header{position:sticky;top:0;left:0;z-index:30;padding-bottom:12px;background-color:#f7f8fa}.plv-product-list__header-search-wrapper{display:flex;align-items:center;margin:0 0 12px;padding:7px 12px 0}.plv-product-list__search-input{flex:1;margin-right:8px}.plv-product-list__header-right{display:flex;flex-direction:column;margin-left:auto;padding:6px 10px 3px}.plv-product-list__header-right-icon{display:flex;margin:0 auto 2px}.plv-product-list__header-right-text{color:#333a47;font-size:12px}.plv-product-list__wrapper{padding:0 8px}.plv-product-list__product-total{display:flex;align-items:center;margin-top:12px;padding:0 12px}.plv-product-list__product-total-icon{display:flex;margin-right:4px;color:#000c;font-size:12px}.plv-product-list__product-total-text,.plv-product-list__product-total-num{color:#0009;font-size:12px}.plv-product-list__product-total-num{margin-left:8px;font-weight:500}.plv-product-list__loading{position:absolute;top:0;left:0;z-index:999;display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:#fff9}.plv-product-list-popup__icon-close{display:flex;margin:0 4px 0 8px;color:#0009;font-size:24px;cursor:pointer}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}}();
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defProps = Object.defineProperties;
|
|
4
4
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
@@ -39,7 +39,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
39
39
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
-
import { computed, unref, watch, onBeforeUnmount, inject, onMounted, ref, defineComponent, nextTick, getCurrentInstance, onUnmounted, provide,
|
|
42
|
+
import { computed, unref, watch, onBeforeUnmount, inject, onMounted, ref, defineComponent, nextTick, getCurrentInstance, onUnmounted, provide, shallowRef, watchEffect } from "vue";
|
|
43
43
|
function getDefaultExportFromCjs(x2) {
|
|
44
44
|
return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
|
|
45
45
|
}
|
|
@@ -76,10 +76,10 @@ function requirePopperManager() {
|
|
|
76
76
|
return t2.d(n3, "a", n3), n3;
|
|
77
77
|
}, t2.o = function(e2, n3) {
|
|
78
78
|
return Object.prototype.hasOwnProperty.call(e2, n3);
|
|
79
|
-
}, t2.p = "", t2(t2.s =
|
|
80
|
-
}({
|
|
79
|
+
}, t2.p = "", t2(t2.s = 15);
|
|
80
|
+
}({ 15: function(e, n2, t2) {
|
|
81
81
|
t2.r(n2);
|
|
82
|
-
t2(
|
|
82
|
+
t2(48);
|
|
83
83
|
var r2 = "@@polyvAdminUIzIndex", o2 = { ctx: r2, openPopper: function(e2) {
|
|
84
84
|
o2.zIndex++, e2.style.zIndex = o2.zIndex;
|
|
85
85
|
}, install: function(e2) {
|
|
@@ -91,7 +91,7 @@ function requirePopperManager() {
|
|
|
91
91
|
}, set: function(e2) {
|
|
92
92
|
window[r2] = e2;
|
|
93
93
|
} }), n2.default = o2;
|
|
94
|
-
},
|
|
94
|
+
}, 48: function(e, n2, t2) {
|
|
95
95
|
} }).default;
|
|
96
96
|
return popperManager;
|
|
97
97
|
}
|
|
@@ -130,31 +130,31 @@ function requireRadio() {
|
|
|
130
130
|
return r2.d(e2, "a", e2), e2;
|
|
131
131
|
}, r2.o = function(t3, e2) {
|
|
132
132
|
return Object.prototype.hasOwnProperty.call(t3, e2);
|
|
133
|
-
}, r2.p = "", r2(r2.s =
|
|
133
|
+
}, r2.p = "", r2(r2.s = 160);
|
|
134
134
|
}({ 0: function(t2, e, r2) {
|
|
135
|
-
function n2(t3, e2, r3, n3, o2, i2,
|
|
136
|
-
var
|
|
137
|
-
if (e2 && (c2.render = e2, c2.staticRenderFns = r3, c2._compiled = true), n3 && (c2.functional = true), i2 && (c2._scopeId = "data-v-" + i2),
|
|
138
|
-
(t4 = t4 || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t4 = __VUE_SSR_CONTEXT__), o2 && o2.call(this, t4), t4 && t4._registeredComponents && t4._registeredComponents.add(
|
|
139
|
-
}, c2._ssrRegister =
|
|
140
|
-
o2.call(this, this.$root.$options.shadowRoot);
|
|
141
|
-
} : o2),
|
|
142
|
-
c2._injectStyles =
|
|
135
|
+
function n2(t3, e2, r3, n3, o2, i2, u2, a2) {
|
|
136
|
+
var s2, c2 = "function" == typeof t3 ? t3.options : t3;
|
|
137
|
+
if (e2 && (c2.render = e2, c2.staticRenderFns = r3, c2._compiled = true), n3 && (c2.functional = true), i2 && (c2._scopeId = "data-v-" + i2), u2 ? (s2 = function(t4) {
|
|
138
|
+
(t4 = t4 || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) || "undefined" == typeof __VUE_SSR_CONTEXT__ || (t4 = __VUE_SSR_CONTEXT__), o2 && o2.call(this, t4), t4 && t4._registeredComponents && t4._registeredComponents.add(u2);
|
|
139
|
+
}, c2._ssrRegister = s2) : o2 && (s2 = a2 ? function() {
|
|
140
|
+
o2.call(this, (c2.functional ? this.parent : this).$root.$options.shadowRoot);
|
|
141
|
+
} : o2), s2) if (c2.functional) {
|
|
142
|
+
c2._injectStyles = s2;
|
|
143
143
|
var l2 = c2.render;
|
|
144
144
|
c2.render = function(t4, e3) {
|
|
145
|
-
return
|
|
145
|
+
return s2.call(e3), l2(t4, e3);
|
|
146
146
|
};
|
|
147
147
|
} else {
|
|
148
148
|
var f2 = c2.beforeCreate;
|
|
149
|
-
c2.beforeCreate = f2 ? [].concat(f2,
|
|
149
|
+
c2.beforeCreate = f2 ? [].concat(f2, s2) : [s2];
|
|
150
150
|
}
|
|
151
151
|
return { exports: t3, options: c2 };
|
|
152
152
|
}
|
|
153
153
|
r2.d(e, "a", function() {
|
|
154
154
|
return n2;
|
|
155
155
|
});
|
|
156
|
-
},
|
|
157
|
-
var n2 = { name: "plv-radio", mixins: [r2(
|
|
156
|
+
}, 104: function(t2, e, r2) {
|
|
157
|
+
var n2 = { name: "plv-radio", mixins: [r2(16).a], inject: { radioGroup: { default: "" } }, props: { checked: { type: Boolean, default: false }, value: [String, Number, Boolean], label: String, trueLabel: String, falseLabel: String, type: { type: String, default: "", validator: function(t3) {
|
|
158
158
|
return -1 !== ["", "border"].indexOf(t3);
|
|
159
159
|
} }, disabled: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, corner: { type: Boolean, default: false } }, model: { prop: "checked", event: "change" }, computed: { inGroup: function() {
|
|
160
160
|
return !!this.radioGroup;
|
|
@@ -174,300 +174,300 @@ function requireRadio() {
|
|
|
174
174
|
this.$emit("change", t3);
|
|
175
175
|
}, handleClick: function() {
|
|
176
176
|
this.isDisabled || this.isReadonly || (this.inGroup ? this.radioGroup.radioClick(this.value) : this.checked || this.emitChange(true), this.blurToValidateItem());
|
|
177
|
-
} } }, o2 = (r2(
|
|
177
|
+
} } }, o2 = (r2(207), r2(208), r2(0)), i2 = Object(o2.a)(n2, function() {
|
|
178
178
|
var t3 = this, e2 = t3.$createElement, r3 = t3._self._c || e2;
|
|
179
179
|
return r3("label", { staticClass: "plv-radio", class: { "plv-radio--checked": t3.isChecked, "plv-radio--disabled": t3.isDisabled, "plv-radio--readonly": t3.isReadonly, "plv-radio--border": "border" === t3.radioType }, on: { click: t3.handleClick } }, ["border" !== t3.radioType ? r3("span", { staticClass: "plv-radio__inner", class: { "plv-radio__inner--checked": t3.isChecked } }) : t3._e(), t3._v(" "), t3.radioLabel || t3.isHasSlot ? r3("span", { staticClass: "plv-radio__label" }, [t3.isChecked ? [t3.$slots.trueLabel ? [t3._t("trueLabel", [t3._v(t3._s(t3.trueLabel))])] : [t3._t("default", [t3._v(t3._s(t3.radioLabel))])]] : [t3.$slots.falseLabel ? [t3._t("falseLabel", [t3._v(t3._s(t3.falseLabel))])] : [t3._t("default", [t3._v(t3._s(t3.radioLabel))])]]], 2) : t3._e(), t3._v(" "), "border" === t3.type && t3.isChecked && t3.corner ? r3("div", { staticClass: "plv-radio__corner" }) : t3._e()]);
|
|
180
180
|
}, [], false, null, null, null);
|
|
181
181
|
e.a = i2.exports;
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
},
|
|
182
|
+
}, 156: function(t2, e, r2) {
|
|
183
|
+
}, 157: function(t2, e, r2) {
|
|
184
|
+
}, 16: function(t2, e, r2) {
|
|
185
185
|
r2.d(e, "a", function() {
|
|
186
|
-
return
|
|
186
|
+
return a2;
|
|
187
187
|
});
|
|
188
|
-
var n2 = r2(
|
|
189
|
-
return !!this.formItem && this.formItem.formItemIsError;
|
|
188
|
+
var n2 = r2(8), o2 = r2.n(n2), i2 = r2(3), u2 = r2.n(i2), a2 = { inject: { formItem: { default: void 0 } }, props: { forceFormError: { type: Boolean, default: false } }, computed: { formItemIsError: function() {
|
|
189
|
+
return !!this.forceFormError || !!this.formItem && this.formItem.formItemIsError;
|
|
190
190
|
} }, watch: { showPopper: function() {
|
|
191
191
|
this.showPopper ? this.focusToRemoveError() : this.blurToValidateItem();
|
|
192
192
|
} }, methods: { validateCurrentFormItem: function() {
|
|
193
193
|
if (this.formItem) return this.formItem.validate();
|
|
194
194
|
}, blurToValidateItem: function() {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
195
|
+
var t3 = this;
|
|
196
|
+
return o2()(u2.a.mark(function e2() {
|
|
197
|
+
var r3;
|
|
198
|
+
return u2.a.wrap(function(e3) {
|
|
199
|
+
for (; ; ) switch (e3.prev = e3.next) {
|
|
200
|
+
case 0:
|
|
201
|
+
return e3.prev = 0, e3.next = 1, t3.validateCurrentFormItem();
|
|
202
|
+
case 1:
|
|
203
|
+
e3.next = 3;
|
|
204
|
+
break;
|
|
205
|
+
case 2:
|
|
206
|
+
e3.prev = 2, r3 = e3.catch(0), console.error("blur-validate", r3.message);
|
|
207
|
+
case 3:
|
|
208
|
+
case "end":
|
|
209
|
+
return e3.stop();
|
|
210
|
+
}
|
|
211
|
+
}, e2, null, [[0, 2]]);
|
|
212
|
+
}))();
|
|
209
213
|
}, focusToRemoveError: function() {
|
|
210
214
|
this.formItem && this.formItem.removeErrorMessage();
|
|
211
215
|
} } };
|
|
212
|
-
},
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
function
|
|
228
|
-
var
|
|
229
|
-
return
|
|
230
|
-
var
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
216
|
+
}, 160: function(t2, e, r2) {
|
|
217
|
+
r2.r(e);
|
|
218
|
+
var n2 = r2(104);
|
|
219
|
+
n2.a.install = function(t3) {
|
|
220
|
+
t3.component(n2.a.name, n2.a);
|
|
221
|
+
}, e.default = n2.a;
|
|
222
|
+
}, 19: function(t2, e) {
|
|
223
|
+
t2.exports = function(t3, e2) {
|
|
224
|
+
this.v = t3, this.k = e2;
|
|
225
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
226
|
+
}, 20: function(t2, e, r2) {
|
|
227
|
+
var n2 = r2(21);
|
|
228
|
+
function o2() {
|
|
229
|
+
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
230
|
+
var e2, r3, i2 = "function" == typeof Symbol ? Symbol : {}, u2 = i2.iterator || "@@iterator", a2 = i2.toStringTag || "@@toStringTag";
|
|
231
|
+
function s2(t3, o3, i3, u3) {
|
|
232
|
+
var a3 = o3 && o3.prototype instanceof l2 ? o3 : l2, s3 = Object.create(a3.prototype);
|
|
233
|
+
return n2(s3, "_invoke", function(t4, n3, o4) {
|
|
234
|
+
var i4, u4, a4, s4 = 0, l3 = o4 || [], f3 = false, p3 = { p: 0, n: 0, v: e2, a: d3, f: d3.bind(e2, 4), d: function(t5, r4) {
|
|
235
|
+
return i4 = t5, u4 = 0, a4 = e2, p3.n = r4, c2;
|
|
236
|
+
} };
|
|
237
|
+
function d3(t5, n4) {
|
|
238
|
+
for (u4 = t5, a4 = n4, r3 = 0; !f3 && s4 && !o5 && r3 < l3.length; r3++) {
|
|
239
|
+
var o5, i5 = l3[r3], d4 = p3.p, h3 = i5[2];
|
|
240
|
+
t5 > 3 ? (o5 = h3 === n4) && (a4 = i5[(u4 = i5[4]) ? 5 : (u4 = 3, 3)], i5[4] = i5[5] = e2) : i5[0] <= d4 && ((o5 = t5 < 2 && d4 < i5[1]) ? (u4 = 0, p3.v = n4, p3.n = i5[1]) : d4 < h3 && (o5 = t5 < 3 || i5[0] > n4 || n4 > h3) && (i5[4] = t5, i5[5] = n4, p3.n = h3, u4 = 0));
|
|
236
241
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
242
|
+
if (o5 || t5 > 1) return c2;
|
|
243
|
+
throw f3 = true, n4;
|
|
244
|
+
}
|
|
245
|
+
return function(o5, l4, h3) {
|
|
246
|
+
if (s4 > 1) throw TypeError("Generator is already running");
|
|
247
|
+
for (f3 && 1 === l4 && d3(l4, h3), u4 = l4, a4 = h3; (r3 = u4 < 2 ? e2 : a4) || !f3; ) {
|
|
248
|
+
i4 || (u4 ? u4 < 3 ? (u4 > 1 && (p3.n = -1), d3(u4, a4)) : p3.n = a4 : p3.v = a4);
|
|
249
|
+
try {
|
|
250
|
+
if (s4 = 2, i4) {
|
|
251
|
+
if (u4 || (o5 = "next"), r3 = i4[o5]) {
|
|
252
|
+
if (!(r3 = r3.call(i4, a4))) throw TypeError("iterator result is not an object");
|
|
253
|
+
if (!r3.done) return r3;
|
|
254
|
+
a4 = r3.value, u4 < 2 && (u4 = 0);
|
|
255
|
+
} else 1 === u4 && (r3 = i4.return) && r3.call(i4), u4 < 2 && (a4 = TypeError("The iterator does not provide a '" + o5 + "' method"), u4 = 1);
|
|
256
|
+
i4 = e2;
|
|
257
|
+
} else if ((r3 = (f3 = p3.n < 0) ? a4 : t4.call(n3, p3)) !== c2) break;
|
|
258
|
+
} catch (t5) {
|
|
259
|
+
i4 = e2, u4 = 1, a4 = t5;
|
|
260
|
+
} finally {
|
|
261
|
+
s4 = 1;
|
|
256
262
|
}
|
|
257
|
-
"throw" === u3.type && (n5 = p2, r5.method = "throw", r5.arg = u3.arg);
|
|
258
263
|
}
|
|
264
|
+
return { value: r3, done: f3 };
|
|
259
265
|
};
|
|
260
|
-
}(
|
|
266
|
+
}(t3, i3, u3), true), s3;
|
|
261
267
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
return { type: "normal", arg: t4.call(e3, r4) };
|
|
265
|
-
} catch (t5) {
|
|
266
|
-
return { type: "throw", arg: t5 };
|
|
267
|
-
}
|
|
268
|
+
var c2 = {};
|
|
269
|
+
function l2() {
|
|
268
270
|
}
|
|
269
|
-
|
|
270
|
-
var f2 = "suspendedStart", h2 = "suspendedYield", d2 = "executing", p2 = "completed", v2 = {};
|
|
271
|
-
function y2() {
|
|
271
|
+
function f2() {
|
|
272
272
|
}
|
|
273
|
-
function
|
|
273
|
+
function p2() {
|
|
274
274
|
}
|
|
275
|
-
|
|
275
|
+
r3 = Object.getPrototypeOf;
|
|
276
|
+
var d2 = [][u2] ? r3(r3([][u2]())) : (n2(r3 = {}, u2, function() {
|
|
277
|
+
return this;
|
|
278
|
+
}), r3), h2 = p2.prototype = l2.prototype = Object.create(d2);
|
|
279
|
+
function v2(t3) {
|
|
280
|
+
return Object.setPrototypeOf ? Object.setPrototypeOf(t3, p2) : (t3.__proto__ = p2, n2(t3, a2, "GeneratorFunction")), t3.prototype = Object.create(h2), t3;
|
|
276
281
|
}
|
|
277
|
-
|
|
278
|
-
u2(b2, i2, function() {
|
|
282
|
+
return f2.prototype = p2, n2(h2, "constructor", p2), n2(p2, "constructor", f2), f2.displayName = "GeneratorFunction", n2(p2, a2, "GeneratorFunction"), n2(h2), n2(h2, a2, "Generator"), n2(h2, u2, function() {
|
|
279
283
|
return this;
|
|
280
|
-
})
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
284
|
+
}), n2(h2, "toString", function() {
|
|
285
|
+
return "[object Generator]";
|
|
286
|
+
}), (t2.exports = o2 = function() {
|
|
287
|
+
return { w: s2, m: v2 };
|
|
288
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports)();
|
|
289
|
+
}
|
|
290
|
+
t2.exports = o2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
291
|
+
}, 207: function(t2, e, r2) {
|
|
292
|
+
r2(156);
|
|
293
|
+
}, 208: function(t2, e, r2) {
|
|
294
|
+
r2(157);
|
|
295
|
+
}, 21: function(t2, e) {
|
|
296
|
+
function r2(e2, n2, o2, i2) {
|
|
297
|
+
var u2 = Object.defineProperty;
|
|
298
|
+
try {
|
|
299
|
+
u2({}, "", {});
|
|
300
|
+
} catch (e3) {
|
|
301
|
+
u2 = 0;
|
|
290
302
|
}
|
|
291
|
-
function
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
function
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
var u3 = l2(t4[o4], t4, i4);
|
|
298
|
-
if ("throw" !== u3.type) {
|
|
299
|
-
var c3 = u3.arg, f3 = c3.value;
|
|
300
|
-
return f3 && "object" == typeof f3 && n3.call(f3, "__await") ? e3.resolve(f3.__await).then(function(t5) {
|
|
301
|
-
r6("next", t5, a5, s3);
|
|
302
|
-
}, function(t5) {
|
|
303
|
-
r6("throw", t5, a5, s3);
|
|
304
|
-
}) : e3.resolve(f3).then(function(t5) {
|
|
305
|
-
c3.value = t5, a5(c3);
|
|
306
|
-
}, function(t5) {
|
|
307
|
-
return r6("throw", t5, a5, s3);
|
|
308
|
-
});
|
|
309
|
-
}
|
|
310
|
-
s3(u3.arg);
|
|
311
|
-
}(o3, i3, r5, a4);
|
|
303
|
+
t2.exports = r2 = function(t3, e3, n3, o3) {
|
|
304
|
+
if (e3) u2 ? u2(t3, e3, { value: n3, enumerable: !o3, configurable: !o3, writable: !o3 }) : t3[e3] = n3;
|
|
305
|
+
else {
|
|
306
|
+
var i3 = function(e4, n4) {
|
|
307
|
+
r2(t3, e4, function(t4) {
|
|
308
|
+
return this._invoke(e4, n4, t4);
|
|
312
309
|
});
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
function k2(t4, r4) {
|
|
318
|
-
var n4 = t4.iterator[r4.method];
|
|
319
|
-
if (n4 === e2) {
|
|
320
|
-
if (r4.delegate = null, "throw" === r4.method) {
|
|
321
|
-
if (t4.iterator.return && (r4.method = "return", r4.arg = e2, k2(t4, r4), "throw" === r4.method)) return v2;
|
|
322
|
-
r4.method = "throw", r4.arg = new TypeError("The iterator does not provide a 'throw' method");
|
|
323
|
-
}
|
|
324
|
-
return v2;
|
|
310
|
+
};
|
|
311
|
+
i3("next", 0), i3("throw", 1), i3("return", 2);
|
|
325
312
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
};
|
|
352
|
-
return a3.next = a3;
|
|
353
|
-
}
|
|
313
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports, r2(e2, n2, o2, i2);
|
|
314
|
+
}
|
|
315
|
+
t2.exports = r2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
316
|
+
}, 22: function(t2, e, r2) {
|
|
317
|
+
var n2 = r2(20), o2 = r2(23);
|
|
318
|
+
t2.exports = function(t3, e2, r3, i2, u2) {
|
|
319
|
+
return new o2(n2().w(t3, e2, r3, i2), u2 || Promise);
|
|
320
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
321
|
+
}, 23: function(t2, e, r2) {
|
|
322
|
+
var n2 = r2(19), o2 = r2(21);
|
|
323
|
+
t2.exports = function t3(e2, r3) {
|
|
324
|
+
function i2(t4, o3, u3, a2) {
|
|
325
|
+
try {
|
|
326
|
+
var s2 = e2[t4](o3), c2 = s2.value;
|
|
327
|
+
return c2 instanceof n2 ? r3.resolve(c2.v).then(function(t5) {
|
|
328
|
+
i2("next", t5, u3, a2);
|
|
329
|
+
}, function(t5) {
|
|
330
|
+
i2("throw", t5, u3, a2);
|
|
331
|
+
}) : r3.resolve(c2).then(function(t5) {
|
|
332
|
+
s2.value = t5, u3(s2);
|
|
333
|
+
}, function(t5) {
|
|
334
|
+
return i2("throw", t5, u3, a2);
|
|
335
|
+
});
|
|
336
|
+
} catch (t5) {
|
|
337
|
+
a2(t5);
|
|
354
338
|
}
|
|
355
|
-
return { next: T2 };
|
|
356
|
-
}
|
|
357
|
-
function T2() {
|
|
358
|
-
return { value: e2, done: true };
|
|
359
339
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
return !!e3 && (e3 === m2 || "GeneratorFunction" === (e3.displayName || e3.name));
|
|
363
|
-
}, t3.mark = function(t4) {
|
|
364
|
-
return Object.setPrototypeOf ? Object.setPrototypeOf(t4, g2) : (t4.__proto__ = g2, u2(t4, s2, "GeneratorFunction")), t4.prototype = Object.create(L2), t4;
|
|
365
|
-
}, t3.awrap = function(t4) {
|
|
366
|
-
return { __await: t4 };
|
|
367
|
-
}, x2(E2.prototype), u2(E2.prototype, a2, function() {
|
|
368
|
-
return this;
|
|
369
|
-
}), t3.AsyncIterator = E2, t3.async = function(e3, r4, n4, o3, i3) {
|
|
370
|
-
void 0 === i3 && (i3 = Promise);
|
|
371
|
-
var a3 = new E2(c2(e3, r4, n4, o3), i3);
|
|
372
|
-
return t3.isGeneratorFunction(r4) ? a3 : a3.next().then(function(t4) {
|
|
373
|
-
return t4.done ? t4.value : a3.next();
|
|
374
|
-
});
|
|
375
|
-
}, x2(L2), u2(L2, s2, "Generator"), u2(L2, i2, function() {
|
|
340
|
+
var u2;
|
|
341
|
+
this.next || (o2(t3.prototype), o2(t3.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() {
|
|
376
342
|
return this;
|
|
377
|
-
}),
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
return e3.reverse(), function r5() {
|
|
383
|
-
for (; e3.length; ) {
|
|
384
|
-
var n4 = e3.pop();
|
|
385
|
-
if (n4 in t4) return r5.value = n4, r5.done = false, r5;
|
|
386
|
-
}
|
|
387
|
-
return r5.done = true, r5;
|
|
388
|
-
};
|
|
389
|
-
}, t3.values = S2, O2.prototype = { constructor: O2, reset: function(t4) {
|
|
390
|
-
if (this.prev = 0, this.next = 0, this.sent = this._sent = e2, this.done = false, this.delegate = null, this.method = "next", this.arg = e2, this.tryEntries.forEach(j2), !t4) for (var r4 in this) "t" === r4.charAt(0) && n3.call(this, r4) && !isNaN(+r4.slice(1)) && (this[r4] = e2);
|
|
391
|
-
}, stop: function() {
|
|
392
|
-
this.done = true;
|
|
393
|
-
var t4 = this.tryEntries[0].completion;
|
|
394
|
-
if ("throw" === t4.type) throw t4.arg;
|
|
395
|
-
return this.rval;
|
|
396
|
-
}, dispatchException: function(t4) {
|
|
397
|
-
if (this.done) throw t4;
|
|
398
|
-
var r4 = this;
|
|
399
|
-
function o3(n4, o4) {
|
|
400
|
-
return s3.type = "throw", s3.arg = t4, r4.next = n4, o4 && (r4.method = "next", r4.arg = e2), !!o4;
|
|
401
|
-
}
|
|
402
|
-
for (var i3 = this.tryEntries.length - 1; i3 >= 0; --i3) {
|
|
403
|
-
var a3 = this.tryEntries[i3], s3 = a3.completion;
|
|
404
|
-
if ("root" === a3.tryLoc) return o3("end");
|
|
405
|
-
if (a3.tryLoc <= this.prev) {
|
|
406
|
-
var u3 = n3.call(a3, "catchLoc"), c3 = n3.call(a3, "finallyLoc");
|
|
407
|
-
if (u3 && c3) {
|
|
408
|
-
if (this.prev < a3.catchLoc) return o3(a3.catchLoc, true);
|
|
409
|
-
if (this.prev < a3.finallyLoc) return o3(a3.finallyLoc);
|
|
410
|
-
} else if (u3) {
|
|
411
|
-
if (this.prev < a3.catchLoc) return o3(a3.catchLoc, true);
|
|
412
|
-
} else {
|
|
413
|
-
if (!c3) throw new Error("try statement without catch or finally");
|
|
414
|
-
if (this.prev < a3.finallyLoc) return o3(a3.finallyLoc);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
}
|
|
418
|
-
}, abrupt: function(t4, e3) {
|
|
419
|
-
for (var r4 = this.tryEntries.length - 1; r4 >= 0; --r4) {
|
|
420
|
-
var o3 = this.tryEntries[r4];
|
|
421
|
-
if (o3.tryLoc <= this.prev && n3.call(o3, "finallyLoc") && this.prev < o3.finallyLoc) {
|
|
422
|
-
var i3 = o3;
|
|
423
|
-
break;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
i3 && ("break" === t4 || "continue" === t4) && i3.tryLoc <= e3 && e3 <= i3.finallyLoc && (i3 = null);
|
|
427
|
-
var a3 = i3 ? i3.completion : {};
|
|
428
|
-
return a3.type = t4, a3.arg = e3, i3 ? (this.method = "next", this.next = i3.finallyLoc, v2) : this.complete(a3);
|
|
429
|
-
}, complete: function(t4, e3) {
|
|
430
|
-
if ("throw" === t4.type) throw t4.arg;
|
|
431
|
-
return "break" === t4.type || "continue" === t4.type ? this.next = t4.arg : "return" === t4.type ? (this.rval = this.arg = t4.arg, this.method = "return", this.next = "end") : "normal" === t4.type && e3 && (this.next = e3), v2;
|
|
432
|
-
}, finish: function(t4) {
|
|
433
|
-
for (var e3 = this.tryEntries.length - 1; e3 >= 0; --e3) {
|
|
434
|
-
var r4 = this.tryEntries[e3];
|
|
435
|
-
if (r4.finallyLoc === t4) return this.complete(r4.completion, r4.afterLoc), j2(r4), v2;
|
|
436
|
-
}
|
|
437
|
-
}, catch: function(t4) {
|
|
438
|
-
for (var e3 = this.tryEntries.length - 1; e3 >= 0; --e3) {
|
|
439
|
-
var r4 = this.tryEntries[e3];
|
|
440
|
-
if (r4.tryLoc === t4) {
|
|
441
|
-
var n4 = r4.completion;
|
|
442
|
-
if ("throw" === n4.type) {
|
|
443
|
-
var o3 = n4.arg;
|
|
444
|
-
j2(r4);
|
|
445
|
-
}
|
|
446
|
-
return o3;
|
|
447
|
-
}
|
|
343
|
+
})), o2(this, "_invoke", function(t4, e3, n3) {
|
|
344
|
+
function o3() {
|
|
345
|
+
return new r3(function(e4, r4) {
|
|
346
|
+
i2(t4, n3, e4, r4);
|
|
347
|
+
});
|
|
448
348
|
}
|
|
449
|
-
|
|
450
|
-
},
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
349
|
+
return u2 = u2 ? u2.then(o3, o3) : o3();
|
|
350
|
+
}, true);
|
|
351
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
352
|
+
}, 3: function(t2, e, r2) {
|
|
353
|
+
var n2 = r2(30)();
|
|
354
|
+
t2.exports = n2;
|
|
454
355
|
try {
|
|
455
356
|
regeneratorRuntime = n2;
|
|
456
357
|
} catch (t3) {
|
|
457
358
|
"object" == typeof globalThis ? globalThis.regeneratorRuntime = n2 : Function("r", "regeneratorRuntime = r")(n2);
|
|
458
359
|
}
|
|
459
|
-
},
|
|
460
|
-
r2
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
t3
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
360
|
+
}, 30: function(t2, e, r2) {
|
|
361
|
+
var n2 = r2(19), o2 = r2(20), i2 = r2(31), u2 = r2(22), a2 = r2(23), s2 = r2(32), c2 = r2(33);
|
|
362
|
+
function l2() {
|
|
363
|
+
var e2 = o2(), r3 = e2.m(l2), f2 = (Object.getPrototypeOf ? Object.getPrototypeOf(r3) : r3.__proto__).constructor;
|
|
364
|
+
function p2(t3) {
|
|
365
|
+
var e3 = "function" == typeof t3 && t3.constructor;
|
|
366
|
+
return !!e3 && (e3 === f2 || "GeneratorFunction" === (e3.displayName || e3.name));
|
|
367
|
+
}
|
|
368
|
+
var d2 = { throw: 1, return: 2, break: 3, continue: 3 };
|
|
369
|
+
function h2(t3) {
|
|
370
|
+
var e3, r4;
|
|
371
|
+
return function(n3) {
|
|
372
|
+
e3 || (e3 = { stop: function() {
|
|
373
|
+
return r4(n3.a, 2);
|
|
374
|
+
}, catch: function() {
|
|
375
|
+
return n3.v;
|
|
376
|
+
}, abrupt: function(t4, e4) {
|
|
377
|
+
return r4(n3.a, d2[t4], e4);
|
|
378
|
+
}, delegateYield: function(t4, o3, i3) {
|
|
379
|
+
return e3.resultName = o3, r4(n3.d, c2(t4), i3);
|
|
380
|
+
}, finish: function(t4) {
|
|
381
|
+
return r4(n3.f, t4);
|
|
382
|
+
} }, r4 = function(t4, r5, o3) {
|
|
383
|
+
n3.p = e3.prev, n3.n = e3.next;
|
|
384
|
+
try {
|
|
385
|
+
return t4(r5, o3);
|
|
386
|
+
} finally {
|
|
387
|
+
e3.next = n3.n;
|
|
388
|
+
}
|
|
389
|
+
}), e3.resultName && (e3[e3.resultName] = n3.v, e3.resultName = void 0), e3.sent = n3.v, e3.next = n3.n;
|
|
390
|
+
try {
|
|
391
|
+
return t3.call(this, e3);
|
|
392
|
+
} finally {
|
|
393
|
+
n3.p = e3.prev, n3.n = e3.next;
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
return (t2.exports = l2 = function() {
|
|
398
|
+
return { wrap: function(t3, r4, n3, o3) {
|
|
399
|
+
return e2.w(h2(t3), r4, n3, o3 && o3.reverse());
|
|
400
|
+
}, isGeneratorFunction: p2, mark: e2.m, awrap: function(t3, e3) {
|
|
401
|
+
return new n2(t3, e3);
|
|
402
|
+
}, AsyncIterator: a2, async: function(t3, e3, r4, n3, o3) {
|
|
403
|
+
return (p2(e3) ? u2 : i2)(h2(t3), e3, r4, n3, o3);
|
|
404
|
+
}, keys: s2, values: c2 };
|
|
405
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports)();
|
|
406
|
+
}
|
|
407
|
+
t2.exports = l2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
408
|
+
}, 31: function(t2, e, r2) {
|
|
409
|
+
var n2 = r2(22);
|
|
410
|
+
t2.exports = function(t3, e2, r3, o2, i2) {
|
|
411
|
+
var u2 = n2(t3, e2, r3, o2, i2);
|
|
412
|
+
return u2.next().then(function(t4) {
|
|
413
|
+
return t4.done ? t4.value : u2.next();
|
|
414
|
+
});
|
|
415
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
416
|
+
}, 32: function(t2, e) {
|
|
417
|
+
t2.exports = function(t3) {
|
|
418
|
+
var e2 = Object(t3), r2 = [];
|
|
419
|
+
for (var n2 in e2) r2.unshift(n2);
|
|
420
|
+
return function t4() {
|
|
421
|
+
for (; r2.length; ) if ((n2 = r2.pop()) in e2) return t4.value = n2, t4.done = false, t4;
|
|
422
|
+
return t4.done = true, t4;
|
|
423
|
+
};
|
|
424
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
425
|
+
}, 33: function(t2, e, r2) {
|
|
426
|
+
var n2 = r2(4).default;
|
|
427
|
+
t2.exports = function(t3) {
|
|
428
|
+
if (null != t3) {
|
|
429
|
+
var e2 = t3["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r3 = 0;
|
|
430
|
+
if (e2) return e2.call(t3);
|
|
431
|
+
if ("function" == typeof t3.next) return t3;
|
|
432
|
+
if (!isNaN(t3.length)) return { next: function() {
|
|
433
|
+
return t3 && r3 >= t3.length && (t3 = void 0), { value: t3 && t3[r3++], done: !t3 };
|
|
434
|
+
} };
|
|
435
|
+
}
|
|
436
|
+
throw new TypeError(n2(t3) + " is not iterable");
|
|
437
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
438
|
+
}, 4: function(t2, e) {
|
|
439
|
+
function r2(e2) {
|
|
440
|
+
return t2.exports = r2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t3) {
|
|
441
|
+
return typeof t3;
|
|
442
|
+
} : function(t3) {
|
|
443
|
+
return t3 && "function" == typeof Symbol && t3.constructor === Symbol && t3 !== Symbol.prototype ? "symbol" : typeof t3;
|
|
444
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports, r2(e2);
|
|
445
|
+
}
|
|
446
|
+
t2.exports = r2, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
447
|
+
}, 8: function(t2, e) {
|
|
448
|
+
function r2(t3, e2, r3, n2, o2, i2, u2) {
|
|
449
|
+
try {
|
|
450
|
+
var a2 = t3[i2](u2), s2 = a2.value;
|
|
451
|
+
} catch (t4) {
|
|
452
|
+
return void r3(t4);
|
|
453
|
+
}
|
|
454
|
+
a2.done ? e2(s2) : Promise.resolve(s2).then(n2, o2);
|
|
455
|
+
}
|
|
456
|
+
t2.exports = function(t3) {
|
|
457
|
+
return function() {
|
|
458
|
+
var e2 = this, n2 = arguments;
|
|
459
|
+
return new Promise(function(o2, i2) {
|
|
460
|
+
var u2 = t3.apply(e2, n2);
|
|
461
|
+
function a2(t4) {
|
|
462
|
+
r2(u2, o2, i2, a2, s2, "next", t4);
|
|
463
|
+
}
|
|
464
|
+
function s2(t4) {
|
|
465
|
+
r2(u2, o2, i2, a2, s2, "throw", t4);
|
|
466
|
+
}
|
|
467
|
+
a2(void 0);
|
|
468
|
+
});
|
|
469
|
+
};
|
|
470
|
+
}, t2.exports.__esModule = true, t2.exports.default = t2.exports;
|
|
471
471
|
} }).default;
|
|
472
472
|
return radio;
|
|
473
473
|
}
|
|
@@ -1463,12 +1463,12 @@ function getCurrentUAInfo() {
|
|
|
1463
1463
|
return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
|
|
1464
1464
|
}
|
|
1465
1465
|
const ua = navigator.userAgent.toLowerCase();
|
|
1466
|
-
const uaInfo = getCurrentUAInfo();
|
|
1467
|
-
const isAndroid = uaInfo.os.isAndroid;
|
|
1468
|
-
const isIOS = uaInfo.os.isIOS;
|
|
1469
|
-
const weixinVersion = uaInfo.client.version;
|
|
1470
|
-
const isWeixin = uaInfo.client.isWx;
|
|
1471
|
-
const isWorkWeixin = uaInfo.client.isWxWork;
|
|
1466
|
+
const uaInfo$1 = getCurrentUAInfo();
|
|
1467
|
+
const isAndroid$1 = uaInfo$1.os.isAndroid;
|
|
1468
|
+
const isIOS$1 = uaInfo$1.os.isIOS;
|
|
1469
|
+
const weixinVersion = uaInfo$1.client.version;
|
|
1470
|
+
const isWeixin = uaInfo$1.client.isWx;
|
|
1471
|
+
const isWorkWeixin = uaInfo$1.client.isWxWork;
|
|
1472
1472
|
const isPcMiniProgram = (isWeixin || isWorkWeixin) && /miniprogramenv/.test(ua);
|
|
1473
1473
|
function __isMobile() {
|
|
1474
1474
|
const ua2 = navigator.userAgent;
|
|
@@ -1485,7 +1485,7 @@ function __isMobile() {
|
|
|
1485
1485
|
function __isTablet() {
|
|
1486
1486
|
const ua2 = navigator.userAgent;
|
|
1487
1487
|
if (/(?:iPad|PlayBook)/.test(ua2)) return true;
|
|
1488
|
-
if (uaInfo.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
|
|
1488
|
+
if (uaInfo$1.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
|
|
1489
1489
|
return false;
|
|
1490
1490
|
}
|
|
1491
1491
|
const isMob = __isMobile();
|
|
@@ -1565,6 +1565,11 @@ const useEventBusListener = (event, callback) => {
|
|
|
1565
1565
|
getEmitter().off(event, callback);
|
|
1566
1566
|
});
|
|
1567
1567
|
};
|
|
1568
|
+
var ScreenOrientationMode = /* @__PURE__ */ ((ScreenOrientationMode2) => {
|
|
1569
|
+
ScreenOrientationMode2["Vertical"] = "Vertical";
|
|
1570
|
+
ScreenOrientationMode2["Horizontal"] = "Horizontal";
|
|
1571
|
+
return ScreenOrientationMode2;
|
|
1572
|
+
})(ScreenOrientationMode || {});
|
|
1568
1573
|
const useScreenOrientHook = (params = {}) => {
|
|
1569
1574
|
const { autoListen = true, autoListenCb = () => {
|
|
1570
1575
|
} } = params;
|
|
@@ -1877,7 +1882,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
1877
1882
|
const props = __props;
|
|
1878
1883
|
const { injectData: globalInjectData } = useGlobalInject();
|
|
1879
1884
|
const popupInjectData = useCommonPopupInject();
|
|
1880
|
-
const { isHorizontalScreenOrientation, pageFullscreen } = useScreenOrientHook();
|
|
1885
|
+
const { isHorizontalScreenOrientation, pageFullscreen, screenOrientationMode } = useScreenOrientHook();
|
|
1881
1886
|
const { isFullscreen } = useFullscreen();
|
|
1882
1887
|
const { dynamicContentHeightPercent, handleScroll, reset: resetContentHeight } = useDynamicHeight(props.dynamicHeightOptions);
|
|
1883
1888
|
function getOriginAppendTo() {
|
|
@@ -1946,7 +1951,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
1946
1951
|
cls.push(props.horizontalScreenClassName);
|
|
1947
1952
|
}
|
|
1948
1953
|
}
|
|
1949
|
-
if (pageFullscreen.value) {
|
|
1954
|
+
if (pageFullscreen.value && screenOrientationMode.value !== ScreenOrientationMode.Horizontal) {
|
|
1950
1955
|
cls.push("plv-product-common-popup--page-fullscreen");
|
|
1951
1956
|
}
|
|
1952
1957
|
return cls;
|
|
@@ -1992,6 +1997,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
1992
1997
|
if (props.fillBody) {
|
|
1993
1998
|
return "90%";
|
|
1994
1999
|
}
|
|
2000
|
+
if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
|
|
1995
2001
|
if (props.enableDynamicHeight) {
|
|
1996
2002
|
return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
|
|
1997
2003
|
}
|
|
@@ -2102,7 +2108,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2102
2108
|
expose({
|
|
2103
2109
|
resetScroll
|
|
2104
2110
|
});
|
|
2105
|
-
return { __sfc: true, props, emit, globalInjectData, popupInjectData, isHorizontalScreenOrientation, pageFullscreen, isFullscreen, dynamicContentHeightPercent, handleScroll, resetContentHeight, getOriginAppendTo, popupAppendTo, popupShowModal, getOriginPosition, popupPosition, wrapClass, wrapStyle, headerStyle, bodyWidth, bodyHeight, bodyClass, bodyStyle, wrapVisible, bodyVisible, wrapRef, innerRef, topicPopup, onBodyScroll, open, closeBody, close, onClickMask, back, onAfterLeave, resetScroll, ProductIconClose, ProductIconArrowLeft };
|
|
2111
|
+
return { __sfc: true, props, emit, globalInjectData, popupInjectData, isHorizontalScreenOrientation, pageFullscreen, screenOrientationMode, isFullscreen, dynamicContentHeightPercent, handleScroll, resetContentHeight, getOriginAppendTo, popupAppendTo, popupShowModal, getOriginPosition, popupPosition, wrapClass, wrapStyle, headerStyle, bodyWidth, bodyHeight, bodyClass, bodyStyle, wrapVisible, bodyVisible, wrapRef, innerRef, topicPopup, onBodyScroll, open, closeBody, close, onClickMask, back, onAfterLeave, resetScroll, ProductIconClose, ProductIconArrowLeft };
|
|
2106
2112
|
}
|
|
2107
2113
|
});
|
|
2108
2114
|
function normalizeComponent(scriptExports, render14, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
|
|
@@ -2188,7 +2194,15 @@ const productEvents = {
|
|
|
2188
2194
|
/**
|
|
2189
2195
|
* 打开 iframe 链接弹层
|
|
2190
2196
|
*/
|
|
2191
|
-
OpenProductIframeLinkPopup: "openProductIframeLinkPopup"
|
|
2197
|
+
OpenProductIframeLinkPopup: "openProductIframeLinkPopup",
|
|
2198
|
+
/**
|
|
2199
|
+
* 打开大卡片弹层
|
|
2200
|
+
*/
|
|
2201
|
+
OpenProductBigCardPopup: "openProductBigCardPopup",
|
|
2202
|
+
/**
|
|
2203
|
+
* 打开小卡片弹层
|
|
2204
|
+
*/
|
|
2205
|
+
OpenProductSmallCardPopup: "openProductSmallCardPopup"
|
|
2192
2206
|
};
|
|
2193
2207
|
const useVue = () => {
|
|
2194
2208
|
const instanceVm = getCurrentInstance();
|
|
@@ -3263,6 +3277,7 @@ function useScrollPagination(request, options = {}) {
|
|
|
3263
3277
|
}
|
|
3264
3278
|
const order$5 = { "title": "订单中心", "chooseAddress": "请添加收货地址", "add": "去添加", "phone": "手机号码:", "phonePlaceholder": "请输入手机号码", "submitOrder": "提交订单", "addAddress": "添加地址", "applyRefund": "申请退款", "refundTips": "退款金额 ", "confirmRefund": "退款", "refundFailed": "退款失败", "failed": "发起失败", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待发货", "delivering": "待收货", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合计", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看详情", "deliveringBtnText": "确认收货", "finishBtnText": "查看详情", "closeBtnText": "查看详情", "emptyText": "暂无订单" }, "detail": { "orderNo": "订单号", "createTime": "下单时间", "payTime": "支付时间", "deliveryTime": "发货时间", "finishTime": "完成时间", "actualPay": "实付", "payNow": "立即支付", "confirmReceipt": "确认收货", "expired": "已失效", "payAutoCancel": " 后自动取消", "cancelReason": "取消原因", "payTimeOut": "超时未支付", "refundTips": "退款金额原路返回", "qrCodeTips": "长按识别或截图保存,联系客服", "qrCodeExpiredTips": "二维码已失效,暂时无法联系客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付宝" }, "confirmOrder": "确认订单", "shippingAddress": "收货地址", "noAddressTips": "请填写收货地址", "paySuccess": "支付成功", "cancelPay": "取消支付", "payFailed": "支付失败", "createOrderFailed": "无法创建订单,请稍后重试", "wechatPayTips": "请在微信中打开本页进行支付", "confirmReceiptTips": "请确认已经收到包裹", "confirmedReceipt": "已确认收货" };
|
|
3265
3279
|
const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
|
|
3280
|
+
const bigCard$5 = { "title": "商品推荐" };
|
|
3266
3281
|
const zhCNLang = {
|
|
3267
3282
|
"common.confirm": "确认",
|
|
3268
3283
|
"common.cancel": "取消",
|
|
@@ -3289,11 +3304,14 @@ const zhCNLang = {
|
|
|
3289
3304
|
"product.disableBuy": "暂不支持购买",
|
|
3290
3305
|
"product.allProduct": "全部商品",
|
|
3291
3306
|
"product.stock.soldOut": "已抢光",
|
|
3307
|
+
"product.position.detail": "职位详情",
|
|
3292
3308
|
order: order$5,
|
|
3293
|
-
addressEdit: addressEdit$5
|
|
3309
|
+
addressEdit: addressEdit$5,
|
|
3310
|
+
bigCard: bigCard$5
|
|
3294
3311
|
};
|
|
3295
3312
|
const order$4 = { "title": "訂單中心", "chooseAddress": "請添加收貨地址", "add": "去添加", "phone": "手機號碼:", "phonePlaceholder": "請輸入手機號碼", "submitOrder": "提交訂單", "addAddress": "添加地址", "applyRefund": "申請退款", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "发起失敗", "list": { "all": "全部", "waitPay": "待支付", "waitDelivery": "待發貨", "delivering": "待收貨", "finish": "已完成", "close": "已取消", "refunding": "退款中", "refunded": "已退款", "total": "合計", "waitPayBtnText": "立即支付", "waitDeliveryBtnText": "查看詳情", "deliveringBtnText": "確認收貨", "finishBtnText": "查看詳情", "closeBtnText": "查看詳情", "emptyText": "暫無訂單" }, "detail": { "orderNo": "訂單號", "createTime": "下單時間", "payTime": "支付時間", "deliveryTime": "發貨時間", "finishTime": "完成時間", "actualPay": "實付", "payNow": "立即支付", "confirmReceipt": "確認收貨", "expired": "已失效", "payAutoCancel": " 後自動取消", "cancelReason": "取消原因", "payTimeOut": "超時未支付", "refundTips": "退款金額原路返回", "qrCodeTips": "長按識別或截圖保存,聯繫客服", "qrCodeExpiredTips": "二維碼已失效,暫時無法聯繫客服", "paymentMethod": "支付方式", "wechat": "微信", "alipay": "支付寶" }, "confirmOrder": "確認訂單", "shippingAddress": "收貨地址", "noAddressTips": "請填寫收貨地址", "paySuccess": "支付成功", "payFailed": "支付失敗", "cancelPay": "取消支付", "createOrderFailed": "無法創建訂單,請稍後重試", "wechatPayTips": "請在微信中打開本頁進行支付", "confirmReceiptTips": "請確認已經收到包裹", "confirmedReceipt": "已確認收貨" };
|
|
3296
3313
|
const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
|
|
3314
|
+
const bigCard$4 = { "title": "商品推薦" };
|
|
3297
3315
|
const zhTWLang = {
|
|
3298
3316
|
"common.confirm": "確認",
|
|
3299
3317
|
"common.cancel": "取消",
|
|
@@ -3320,11 +3338,14 @@ const zhTWLang = {
|
|
|
3320
3338
|
"product.disableBuy": "暫不支持購買",
|
|
3321
3339
|
"product.allProduct": "全部商品",
|
|
3322
3340
|
"product.stock.soldOut": "已搶光",
|
|
3341
|
+
"product.position.detail": "職位詳情",
|
|
3323
3342
|
order: order$4,
|
|
3324
|
-
addressEdit: addressEdit$4
|
|
3343
|
+
addressEdit: addressEdit$4,
|
|
3344
|
+
bigCard: bigCard$4
|
|
3325
3345
|
};
|
|
3326
3346
|
const order$3 = { "title": "Order Center", "chooseAddress": "Add Shipping Address", "add": "Add Shipping Address", "phone": "Phone:", "phonePlaceholder": "Enter Phone", "submitOrder": "Submit", "addAddress": "Add Address", "applyRefund": "Apply Refund", "refundTips": "Refund Amount ", "confirmRefund": "Refund", "refundFailed": "Refund Failed", "failed": "Failed", "list": { "all": "All", "waitPay": "Wait Payment", "waitDelivery": "Wait Delivery", "delivering": "Delivering", "finish": "Finished", "close": "Closed", "refunding": "Refunding", "refunded": "Refunded", "total": "Total", "waitPayBtnText": "Pay Now", "waitDeliveryBtnText": "View Details", "deliveringBtnText": "Confirm Receipt", "finishBtnText": "View Details", "closeBtnText": "View Details", "emptyText": "No Order History" }, "detail": { "orderNo": "Order Number", "createTime": "Order Time", "payTime": "Payment Time", "deliveryTime": "Delivery Time", "finishTime": "Completion Time", "actualPay": "Total Amount", "payNow": "Pay Now", "confirmReceipt": "Confirm Receipt", "expired": "Expired", "payAutoCancel": "Cancel", "cancelReason": "Cancel Reason", "payTimeOut": "Pay Time Out", "refundTips": "Refund amount returned to the original path", "qrCodeTips": "Long press to scan or save screenshot for support", "qrCodeExpiredTips": "QR code expired, support unavailable", "paymentMethod": "Payment Method", "wechat": "Wechat", "alipay": "Alipay" }, "confirmOrder": "Confirm Order", "shippingAddress": "Shipping Address", "noAddressTips": "Please fill in the shipping address", "paySuccess": "Payment Success", "cancelPay": "Cancel Payment", "payFailed": "Payment Failed", "createOrderFailed": "Failed to create order, please try again later", "wechatPayTips": "Please open this page in WeChat to pay", "confirmReceiptTips": "Have you received the package?", "confirmedReceipt": "Confirmed Receipt" };
|
|
3327
3347
|
const addressEdit$3 = { "name": "Name", "namePlaceholder": "Enter Name", "choiceAddress": "Select Area", "addressPlaceholder": "Select Area", "phone": "Phone", "phonePlaceholder": "Enter Phone", "phoneError": "Please enter a valid phone number", "addressDetail": "Address Detail", "addressDetailPlaceholder": "Enter Address Detail", "error": "Please fill in all required fields", "submit": "Save", "deleteConfirm": "Delete this address?", "deleteAddress": "Yes", "addAddress": "Add Address", "editAddress": "Edit Address", "addSuccess": "Save Success", "addError": "Save Failed", "editSuccess": "Edit Success", "editError": "Edit Failed" };
|
|
3348
|
+
const bigCard$3 = { "title": "Top Picks" };
|
|
3328
3349
|
const enLang = {
|
|
3329
3350
|
"common.confirm": "Confirm",
|
|
3330
3351
|
"common.cancel": "Cancel",
|
|
@@ -3351,11 +3372,14 @@ const enLang = {
|
|
|
3351
3372
|
"product.disableBuy": "Purchase not supported",
|
|
3352
3373
|
"product.allProduct": "Products",
|
|
3353
3374
|
"product.stock.soldOut": "Sold Out",
|
|
3375
|
+
"product.position.detail": "Job Details",
|
|
3354
3376
|
order: order$3,
|
|
3355
|
-
addressEdit: addressEdit$3
|
|
3377
|
+
addressEdit: addressEdit$3,
|
|
3378
|
+
bigCard: bigCard$3
|
|
3356
3379
|
};
|
|
3357
3380
|
const order$2 = { "title": "注文中心", "chooseAddress": "配送先を追加", "add": "配送先を追加", "phone": "電話番号:", "phonePlaceholder": "電話番号を入力", "submitOrder": "注文を提出", "addAddress": "配送先を追加", "applyRefund": "退款申請", "refundTips": "退款金額 ", "confirmRefund": "退款", "refundFailed": "退款失敗", "failed": "失敗", "list": { "all": "全て", "waitPay": "支払い待ち", "waitDelivery": "発送待ち", "delivering": "配送中", "finish": "完了", "close": "キャンセル", "refunding": "退款中", "refunded": "退款完了", "total": "合計", "waitPayBtnText": "支払い", "waitDeliveryBtnText": "詳細を見る", "deliveringBtnText": "確認受け取り", "finishBtnText": "詳細を見る", "closeBtnText": "詳細を見る", "emptyText": "注文履歴がありません" }, "detail": { "orderNo": "注文番号", "createTime": "注文日時", "payTime": "支払い日時", "deliveryTime": "発送日時", "finishTime": "完了日時", "actualPay": "実払い", "payNow": "支払い", "confirmReceipt": "確認受け取り", "expired": "失効", "payAutoCancel": " 後自動キャンセル", "cancelReason": "キャンセル理由", "payTimeOut": "超時未支払い", "refundTips": "退款金額原路返回", "qrCodeTips": "長押し識別またはスクリーンショット保存、サポートにお問い合わせください", "qrCodeExpiredTips": "QRコードは失効しました。暫時的にサポートに連絡できません", "paymentMethod": "支払い方法", "wechat": "ウェブアプリ", "alipay": "アリペイ" }, "confirmOrder": "注文を確認", "shippingAddress": "配送先", "noAddressTips": "配送先を入力してください", "paySuccess": "支払い成功", "cancelPay": "支払いをキャンセル", "payFailed": "支払い失敗", "createOrderFailed": "注文の作成に失敗しました。後で再試行してください。", "wechatPayTips": "WeChatでこのページを開いて支払いしてください", "confirmReceiptTips": "パッケージを確認しましたか?", "confirmedReceipt": "確認受け取り完了" };
|
|
3358
3381
|
const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
|
|
3382
|
+
const bigCard$2 = { "title": "商品推薦" };
|
|
3359
3383
|
const jaLang = {
|
|
3360
3384
|
"common.confirm": "確認",
|
|
3361
3385
|
"common.cancel": "キャンセル",
|
|
@@ -3382,11 +3406,14 @@ const jaLang = {
|
|
|
3382
3406
|
"product.disableBuy": "購入不可",
|
|
3383
3407
|
"product.allProduct": "すべての商品",
|
|
3384
3408
|
"product.stock.soldOut": "売り切れ",
|
|
3409
|
+
"product.position.detail": "職務詳細",
|
|
3385
3410
|
order: order$2,
|
|
3386
|
-
addressEdit: addressEdit$2
|
|
3411
|
+
addressEdit: addressEdit$2,
|
|
3412
|
+
bigCard: bigCard$2
|
|
3387
3413
|
};
|
|
3388
3414
|
const order$1 = { "title": "주문 센터", "chooseAddress": "주문 주소 추가", "add": "주문 주소 추가", "phone": "전화번호:", "phonePlaceholder": "전화번호 입력", "submitOrder": "주문 제출", "addAddress": "주문 주소 추가", "applyRefund": "환불 신청", "refundTips": "환불 금액 ", "confirmRefund": "환불", "refundFailed": "환불 실패", "failed": "실패", "list": { "all": "전체", "waitPay": "결제 대기", "waitDelivery": "배송 대기", "delivering": "배송 중", "finish": "완료", "close": "취소", "refunding": "환불 중", "refunded": "환불 완료", "total": "총 금액", "waitPayBtnText": "결제하기", "waitDeliveryBtnText": "상세 보기", "deliveringBtnText": "확인 받기", "finishBtnText": "상세 보기", "closeBtnText": "상세 보기", "emptyText": "주문 내역이 없습니다." }, "detail": { "orderNo": "주문번호", "createTime": "주문일시", "payTime": "결제일시", "deliveryTime": "배송일시", "finishTime": "완료일시", "actualPay": "총 금액", "payNow": "결제하기", "confirmReceipt": "확인 받기", "expired": "만료", "payAutoCancel": " 후 자동 취소", "cancelReason": "취소 사유", "payTimeOut": "결제 시간 초과", "refundTips": "환불 금액 원래 경로로 반환", "qrCodeTips": "장치 인식 또는 스크린샷 저장 후 문의", "qrCodeExpiredTips": "이미 만료되었습니다. 잠시 후 다시 시도해주세요.", "paymentMethod": "결제 방법", "wechat": "웹앱", "alipay": "알리페이" }, "confirmOrder": "주문 확인", "shippingAddress": "배송 주소", "noAddressTips": "배송 주소를 입력해주세요", "paySuccess": "결제 성공", "cancelPay": "결제 취소", "payFailed": "결제 실패", "createOrderFailed": "주문 생성에 실패했습니다. 나중에 다시 시도해주세요.", "wechatPayTips": "카카오톡에서 이 페이지를 열어 결제해주세요", "confirmReceiptTips": "패키지를 확인하셨습니까?", "confirmedReceipt": "확인 받기 완료" };
|
|
3389
3415
|
const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
|
|
3416
|
+
const bigCard$1 = { "title": "상품 추천" };
|
|
3390
3417
|
const koLang = {
|
|
3391
3418
|
"common.confirm": "확인",
|
|
3392
3419
|
"common.cancel": "취소",
|
|
@@ -3413,11 +3440,14 @@ const koLang = {
|
|
|
3413
3440
|
"product.disableBuy": "구매 불가",
|
|
3414
3441
|
"product.allProduct": "모든 상품",
|
|
3415
3442
|
"product.stock.soldOut": "품절",
|
|
3443
|
+
"product.position.detail": "직무 상세",
|
|
3416
3444
|
order: order$1,
|
|
3417
|
-
addressEdit: addressEdit$1
|
|
3445
|
+
addressEdit: addressEdit$1,
|
|
3446
|
+
bigCard: bigCard$1
|
|
3418
3447
|
};
|
|
3419
3448
|
const order = { "title": "Центр заказов", "chooseAddress": "Пожалуйста, добавьте адрес доставки", "add": "Добавить", "phone": "Номер телефона:", "phonePlaceholder": "Пожалуйста, введите номер телефона", "submitOrder": "Отправить заказ", "addAddress": "Добавить адрес", "applyRefund": "Заявить о возврате", "refundTips": "Сумма возврата ", "confirmRefund": "Возврат", "refundFailed": "Возврат не удался", "failed": "Не удалось инициировать", "list": { "all": "Все", "waitPay": "Ожидает оплаты", "waitDelivery": "Ожидает отправки", "delivering": "Ожидает получения", "finish": "Завершено", "close": "Отменено", "refunding": "В процессе возврата", "refunded": "Возвращено", "total": "Итого", "waitPayBtnText": "Оплатить сейчас", "waitDeliveryBtnText": "Посмотреть детали", "deliveringBtnText": "Подтвердить получение", "finishBtnText": "Посмотреть детали", "closeBtnText": "Посмотреть детали", "emptyText": "Пока нет заказов" }, "detail": { "orderNo": "Номер заказа", "createTime": "Время создания заказа", "payTime": "Время оплаты", "deliveryTime": "Время отправки", "finishTime": "Время завершения", "actualPay": "Фактически оплачено", "payNow": "Оплатить сейчас", "confirmReceipt": "Подтвердить получение", "expired": "Истек срок действия", "payAutoCancel": " автоматическая отмена", "cancelReason": "Причина отмены", "payTimeOut": "Время оплаты истекло", "refundTips": "Сумма возврата вернется тем же способом", "qrCodeTips": "Долго нажмите для распознавания или сохраните скриншот, свяжитесь с сервисом", "qrCodeExpiredTips": "QR-код истек, временно невозможно связаться с сервисом", "paymentMethod": "Способ оплаты", "wechat": "Веб-приложение", "alipay": "АлиПай" }, "confirmOrder": "Подтвердить заказ", "shippingAddress": "Адрес доставки", "noAddressTips": "Пожалуйста, заполните адрес доставки", "paySuccess": "Оплата успешна", "cancelPay": "Отменить оплату", "payFailed": "Оплата не удалась", "createOrderFailed": "Не удается создать заказ, попробуйте позже", "wechatPayTips": "Пожалуйста, откройте эту страницу в WeChat для оплаты", "confirmReceiptTips": "Пожалуйста, подтвердите, что посылка получена", "confirmedReceipt": "Получение подтверждено" };
|
|
3420
3449
|
const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
|
|
3450
|
+
const bigCard = { "title": "Товары" };
|
|
3421
3451
|
const ruLang = {
|
|
3422
3452
|
"common.confirm": "Подтвердить",
|
|
3423
3453
|
"common.cancel": "Отмена",
|
|
@@ -3444,8 +3474,10 @@ const ruLang = {
|
|
|
3444
3474
|
"product.disableBuy": "Покупка временно недоступна",
|
|
3445
3475
|
"product.allProduct": "Все товары",
|
|
3446
3476
|
"product.stock.soldOut": "Распродано",
|
|
3477
|
+
"product.position.detail": "Детали вакансии",
|
|
3447
3478
|
order,
|
|
3448
|
-
addressEdit
|
|
3479
|
+
addressEdit,
|
|
3480
|
+
bigCard
|
|
3449
3481
|
};
|
|
3450
3482
|
const fullI18nData = {
|
|
3451
3483
|
[LangType.ZH_CN]: zhCNLang,
|
|
@@ -3829,7 +3861,8 @@ function getProductTargetExport(productTarget) {
|
|
|
3829
3861
|
ProductExplainStatus: productTarget.ProductExplainStatus,
|
|
3830
3862
|
ProductMediaType: productTarget.ProductMediaType,
|
|
3831
3863
|
ProductDeliveryType: productTarget.ProductDeliveryType,
|
|
3832
|
-
ProductEvents: productTarget.ProductEvents
|
|
3864
|
+
ProductEvents: productTarget.ProductEvents,
|
|
3865
|
+
ProductPushRule: productTarget.ProductPushRule
|
|
3833
3866
|
};
|
|
3834
3867
|
}
|
|
3835
3868
|
const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
|
|
@@ -3894,17 +3927,25 @@ const useProductStock = (options) => {
|
|
|
3894
3927
|
ProductBuyType = result.ProductBuyType;
|
|
3895
3928
|
}
|
|
3896
3929
|
function getStock(target) {
|
|
3897
|
-
if (!ProductType || !ProductBuyType) {
|
|
3930
|
+
if (!ProductType || !ProductBuyType || !target) {
|
|
3898
3931
|
return {
|
|
3899
3932
|
enabled: false,
|
|
3900
3933
|
stock: 0
|
|
3901
3934
|
};
|
|
3902
3935
|
}
|
|
3903
|
-
if (
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3936
|
+
if (target.productType === ProductType.Normal) {
|
|
3937
|
+
if (target.buyType === ProductBuyType.Link && target.forceShowSoldOut) {
|
|
3938
|
+
return {
|
|
3939
|
+
enabled: true,
|
|
3940
|
+
stock: 0
|
|
3941
|
+
};
|
|
3942
|
+
}
|
|
3943
|
+
if (target.buyType === ProductBuyType.DirectBuy && (target == null ? void 0 : target.stockEnabled)) {
|
|
3944
|
+
return {
|
|
3945
|
+
enabled: true,
|
|
3946
|
+
stock: target.stock
|
|
3947
|
+
};
|
|
3948
|
+
}
|
|
3908
3949
|
}
|
|
3909
3950
|
return {
|
|
3910
3951
|
enabled: false,
|
|
@@ -3928,6 +3969,37 @@ const useProductStock = (options) => {
|
|
|
3928
3969
|
isSoldOut
|
|
3929
3970
|
};
|
|
3930
3971
|
};
|
|
3972
|
+
const useProductExplain = (options) => {
|
|
3973
|
+
const { props } = options;
|
|
3974
|
+
const productExplainEnabled = ref(false);
|
|
3975
|
+
function getProductExplainEnabled() {
|
|
3976
|
+
return __async(this, null, function* () {
|
|
3977
|
+
if (!props.productTarget) return;
|
|
3978
|
+
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
3979
|
+
productExplainEnabled.value = enabled;
|
|
3980
|
+
});
|
|
3981
|
+
}
|
|
3982
|
+
function handleClickExplain(product) {
|
|
3983
|
+
return __async(this, null, function* () {
|
|
3984
|
+
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
3985
|
+
props.productConfig.customClickExplainHandler(product);
|
|
3986
|
+
return;
|
|
3987
|
+
}
|
|
3988
|
+
if (!props.productTarget) return;
|
|
3989
|
+
const url = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
3990
|
+
if (url) {
|
|
3991
|
+
window.open(url, "_blank");
|
|
3992
|
+
}
|
|
3993
|
+
});
|
|
3994
|
+
}
|
|
3995
|
+
onMounted(() => {
|
|
3996
|
+
getProductExplainEnabled();
|
|
3997
|
+
});
|
|
3998
|
+
return {
|
|
3999
|
+
productExplainEnabled,
|
|
4000
|
+
handleClickExplain
|
|
4001
|
+
};
|
|
4002
|
+
};
|
|
3931
4003
|
const liveGif = "data:image/gif;base64,R0lGODlhKgAqAKIEAP7//////v3//////////wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzFEQjYxNzBBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzFEQjYxNzFBNjg5MTFFQjhBN0REMjM4Qzk4RDRFMzciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENzE0QTU2QkE2NkUxMUVCOEE3REQyMzhDOThENEUzNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENzE0QTU2Q0E2NkUxMUVCOEE3REQyMzhDOThENEUzNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS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";
|
|
3932
4004
|
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
3933
4005
|
__name: "product-explain",
|
|
@@ -4094,12 +4166,22 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
4094
4166
|
if (isFreeProduct.value) return $t("product.price.free");
|
|
4095
4167
|
return props.product.realPrice;
|
|
4096
4168
|
});
|
|
4097
|
-
|
|
4169
|
+
const originPrice = computed(() => {
|
|
4170
|
+
if (!props.product || props.product.productType !== ProductType.Normal) return;
|
|
4171
|
+
if (props.product.originPriceType === ProductPriceType.Amount) {
|
|
4172
|
+
if (!props.product.originPrice) {
|
|
4173
|
+
return;
|
|
4174
|
+
}
|
|
4175
|
+
return `¥${props.product.originPrice}`;
|
|
4176
|
+
}
|
|
4177
|
+
return props.product.customOriginalPrice;
|
|
4178
|
+
});
|
|
4179
|
+
return { __sfc: true, props, $t, ProductType, ProductPriceType, isFreeProduct, hiddenPriceMarks, displayPrice, originPrice };
|
|
4098
4180
|
}
|
|
4099
4181
|
});
|
|
4100
4182
|
var _sfc_render$5 = function render8() {
|
|
4101
4183
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
4102
|
-
return _vm.product ? _c("div", { staticClass: "plv-product-c-item__price-area" }, [_vm.product.productType === _setup.ProductType.Normal ? [_c("span", { staticClass: "plv-product-c-item__price" }, [!_setup.isFreeProduct && _vm.product.priceType === _setup.ProductPriceType.Amount ? _c("span", { staticClass: "plv-product-c-item__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _vm.product.priceVisible || _setup.isFreeProduct ? _c("span", [_vm.product.priceType === _setup.ProductPriceType.Custom ? _c("span", { staticClass: "plv-product-c-item__price-custom" }, [_vm._v(_vm._s(_vm.product.customPrice))]) : _c("span", { staticClass: "plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayPrice))])]) : [_c("span", { staticClass: "plv-product-c-item__price-placeholder plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.hiddenPriceMarks))]), _c("span", { staticClass: "plv-product-c-item__placeholder-text plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.$t("product.price.hidden")))])]], 2),
|
|
4184
|
+
return _vm.product ? _c("div", { staticClass: "plv-product-c-item__price-area" }, [_vm.product.productType === _setup.ProductType.Normal ? [_c("span", { staticClass: "plv-product-c-item__price" }, [!_setup.isFreeProduct && _vm.product.priceType === _setup.ProductPriceType.Amount ? _c("span", { staticClass: "plv-product-c-item__price-symbol" }, [_vm._v("¥")]) : _vm._e(), _vm.product.priceVisible || _setup.isFreeProduct ? _c("span", [_vm.product.priceType === _setup.ProductPriceType.Custom ? _c("span", { staticClass: "plv-product-c-item__price-custom" }, [_vm._v(_vm._s(_vm.product.customPrice))]) : _c("span", { staticClass: "plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.displayPrice))])]) : [_c("span", { staticClass: "plv-product-c-item__price-placeholder plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.hiddenPriceMarks))]), _c("span", { staticClass: "plv-product-c-item__placeholder-text plv-font-din-pro-regular" }, [_vm._v(_vm._s(_setup.$t("product.price.hidden")))])]], 2), _setup.originPrice ? _c("span", { staticClass: "plv-product-c-item__original-price" }, [_vm._v(_vm._s(_setup.originPrice))]) : _vm._e()] : _vm._e(), _vm.product.productType === _setup.ProductType.Finance ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.yield) + " ")])] : _vm._e(), _vm.product.productType === _setup.ProductType.Position ? [_c("div", { staticClass: "plv-product-c-item__price-finance" }, [_vm._v(" " + _vm._s(_vm.product.treatment) + " ")])] : _vm._e()], 2) : _vm._e();
|
|
4103
4185
|
};
|
|
4104
4186
|
var _sfc_staticRenderFns$5 = [];
|
|
4105
4187
|
var __component__$5 = /* @__PURE__ */ normalizeComponent(
|
|
@@ -4156,6 +4238,104 @@ function concat(i2, r2, t2) {
|
|
|
4156
4238
|
let e = n2.search || "";
|
|
4157
4239
|
return e && "&" !== e.slice(-1) && (e += "&"), e += r2, n2.search = e, joinURL(n2);
|
|
4158
4240
|
}
|
|
4241
|
+
var __awaiter = function(i2, n2, o2, t2) {
|
|
4242
|
+
return new (o2 || (o2 = Promise))(function(e, a2) {
|
|
4243
|
+
function r2(i3) {
|
|
4244
|
+
try {
|
|
4245
|
+
k2(t2.next(i3));
|
|
4246
|
+
} catch (i4) {
|
|
4247
|
+
a2(i4);
|
|
4248
|
+
}
|
|
4249
|
+
}
|
|
4250
|
+
function l2(i3) {
|
|
4251
|
+
try {
|
|
4252
|
+
k2(t2.throw(i3));
|
|
4253
|
+
} catch (i4) {
|
|
4254
|
+
a2(i4);
|
|
4255
|
+
}
|
|
4256
|
+
}
|
|
4257
|
+
function k2(i3) {
|
|
4258
|
+
var n3;
|
|
4259
|
+
i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
|
|
4260
|
+
i4(n3);
|
|
4261
|
+
})).then(r2, l2);
|
|
4262
|
+
}
|
|
4263
|
+
k2((t2 = t2.apply(i2, n2 || [])).next());
|
|
4264
|
+
});
|
|
4265
|
+
};
|
|
4266
|
+
const uaInfo = getCurrentUAInfo();
|
|
4267
|
+
const isAndroid = uaInfo.os.isAndroid;
|
|
4268
|
+
const isIOS = uaInfo.os.isIOS;
|
|
4269
|
+
var LinkType;
|
|
4270
|
+
!function(i2) {
|
|
4271
|
+
i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
|
|
4272
|
+
}(LinkType || (LinkType = {}));
|
|
4273
|
+
var LinkJumpWay;
|
|
4274
|
+
function getNativeToPointMallFn() {
|
|
4275
|
+
var i2, n2, o2, t2;
|
|
4276
|
+
return isAndroid ? null === (i2 = window.AndroidNative) || void 0 === i2 ? void 0 : i2.toPointMall : isIOS ? null === (t2 = null === (o2 = null === (n2 = window.webkit) || void 0 === n2 ? void 0 : n2.messageHandlers) || void 0 === o2 ? void 0 : o2.gotoPointsMall) || void 0 === t2 ? void 0 : t2.postMessage : void 0;
|
|
4277
|
+
}
|
|
4278
|
+
function toNativeLink(i2) {
|
|
4279
|
+
const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
|
|
4280
|
+
if (e) {
|
|
4281
|
+
let i3 = isAndroid ? n2 : o2;
|
|
4282
|
+
const t3 = encodeURIComponent(location.href);
|
|
4283
|
+
i3 = concat(i3, { plt_back_uri: t3 });
|
|
4284
|
+
e(JSON.stringify({ url: i3 }));
|
|
4285
|
+
} else window.open(t2, "_blank", "noopener=yes");
|
|
4286
|
+
}
|
|
4287
|
+
function toPlvWebviewBridge(i2) {
|
|
4288
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4289
|
+
const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
|
|
4290
|
+
e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
|
|
4291
|
+
});
|
|
4292
|
+
}
|
|
4293
|
+
function toMultiPlatformLink(i2) {
|
|
4294
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4295
|
+
const { linkData: n2, isWxMiniProgramEnv: o2, toWxMiniProgram: t2, openLink: e, getLinkParams: a2, isMobile: r2 } = i2, { wxMiniprogramLink: l2, mobileLink: k2, pcLink: d2 } = n2, s2 = (null == r2 ? void 0 : r2()) || false;
|
|
4296
|
+
let u2 = false;
|
|
4297
|
+
try {
|
|
4298
|
+
u2 = (yield null == o2 ? void 0 : o2()) || false;
|
|
4299
|
+
} catch (i3) {
|
|
4300
|
+
u2 = false;
|
|
4301
|
+
}
|
|
4302
|
+
u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
|
|
4303
|
+
});
|
|
4304
|
+
}
|
|
4305
|
+
!function(i2) {
|
|
4306
|
+
i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
|
|
4307
|
+
}(LinkJumpWay || (LinkJumpWay = {}));
|
|
4308
|
+
function formatLink(i2, n2) {
|
|
4309
|
+
let o2 = {};
|
|
4310
|
+
if (n2) {
|
|
4311
|
+
const t2 = n2(i2);
|
|
4312
|
+
o2 = Object.assign({}, o2, t2);
|
|
4313
|
+
}
|
|
4314
|
+
return concat(i2, o2);
|
|
4315
|
+
}
|
|
4316
|
+
function navigateToLink(i2) {
|
|
4317
|
+
const { linkData: n2, openLink: o2, isPlvWebview: t2, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, getLinkParams: k2, isMobile: d2 } = i2, { linkType: s2 } = n2, u2 = (null == t2 ? void 0 : t2()) || false;
|
|
4318
|
+
if (s2 !== LinkType.Native) {
|
|
4319
|
+
if (u2) {
|
|
4320
|
+
let i3 = "";
|
|
4321
|
+
const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
|
|
4322
|
+
switch (s2) {
|
|
4323
|
+
case LinkType.Normal:
|
|
4324
|
+
i3 = o3;
|
|
4325
|
+
break;
|
|
4326
|
+
case LinkType.MultiPlatform:
|
|
4327
|
+
i3 = r3 || t3;
|
|
4328
|
+
}
|
|
4329
|
+
let u3 = null;
|
|
4330
|
+
return s2 !== LinkType.Normal && (u3 = { mobileLink: formatLink(t3, k2), wxMiniprogramOriginalId: l3, wxMiniprogramLink: formatLink(d3, k2), mobileAppLink: formatLink(r3, k2) }), void toPlvWebviewBridge({ link: formatLink(i3, k2), data: u3, getPlvWebviewSmallWindowSize: e, getPlvWebviewBridge: a2 });
|
|
4331
|
+
}
|
|
4332
|
+
if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
|
|
4333
|
+
else {
|
|
4334
|
+
const { link: i3, jumpWay: t3 } = n2;
|
|
4335
|
+
o2(formatLink(i3, k2), t3);
|
|
4336
|
+
}
|
|
4337
|
+
} else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
|
|
4338
|
+
}
|
|
4159
4339
|
const useTrackEvent = (iarCore) => {
|
|
4160
4340
|
const { injectData } = useGlobalInject();
|
|
4161
4341
|
function trackEvent(data) {
|
|
@@ -4169,7 +4349,7 @@ const useTrackEvent = (iarCore) => {
|
|
|
4169
4349
|
trackEvent
|
|
4170
4350
|
};
|
|
4171
4351
|
};
|
|
4172
|
-
const htmlChars = ['"', "'", "&", "<", ">"], htmlEntities = [""", "'", "&", "<", ">"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
|
|
4352
|
+
const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = [""", "'", "&", "<", ">", " "], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
|
|
4173
4353
|
htmlChars.forEach((n2, e) => {
|
|
4174
4354
|
charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
|
|
4175
4355
|
});
|
|
@@ -4224,7 +4404,7 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
4224
4404
|
}
|
|
4225
4405
|
const wx = yield injectData.getWeixinSdk();
|
|
4226
4406
|
(_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
|
|
4227
|
-
url
|
|
4407
|
+
url: url.startsWith("/") ? url : `/${url}`
|
|
4228
4408
|
});
|
|
4229
4409
|
return;
|
|
4230
4410
|
});
|
|
@@ -4279,7 +4459,9 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
4279
4459
|
watch(
|
|
4280
4460
|
() => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
|
|
4281
4461
|
() => {
|
|
4282
|
-
|
|
4462
|
+
setTimeout(() => {
|
|
4463
|
+
createWxMiniProgramButton();
|
|
4464
|
+
}, 500);
|
|
4283
4465
|
},
|
|
4284
4466
|
{
|
|
4285
4467
|
immediate: true
|
|
@@ -4296,25 +4478,25 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
4296
4478
|
};
|
|
4297
4479
|
};
|
|
4298
4480
|
const useAppNative = () => {
|
|
4299
|
-
function
|
|
4481
|
+
function getNativeToPointMallFn2() {
|
|
4300
4482
|
var _a, _b, _c, _d;
|
|
4301
|
-
if (isAndroid) {
|
|
4483
|
+
if (isAndroid$1) {
|
|
4302
4484
|
return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
|
|
4303
|
-
} else if (isIOS) {
|
|
4485
|
+
} else if (isIOS$1) {
|
|
4304
4486
|
return (_d = (_c = (_b = window.webkit) == null ? void 0 : _b.messageHandlers) == null ? void 0 : _c.gotoPointsMall) == null ? void 0 : _d.postMessage;
|
|
4305
4487
|
}
|
|
4306
4488
|
}
|
|
4307
4489
|
function supportNativeToPointMall() {
|
|
4308
|
-
return !!
|
|
4490
|
+
return !!getNativeToPointMallFn2();
|
|
4309
4491
|
}
|
|
4310
4492
|
const supportAppNative = computed(() => {
|
|
4311
4493
|
return supportNativeToPointMall();
|
|
4312
4494
|
});
|
|
4313
|
-
function
|
|
4495
|
+
function toNativeLink2(options) {
|
|
4314
4496
|
const { androidLink, iosLink, otherLink } = options;
|
|
4315
|
-
const nativePointMallFn =
|
|
4497
|
+
const nativePointMallFn = getNativeToPointMallFn2();
|
|
4316
4498
|
if (nativePointMallFn) {
|
|
4317
|
-
let url = isAndroid ? androidLink : iosLink;
|
|
4499
|
+
let url = isAndroid$1 ? androidLink : iosLink;
|
|
4318
4500
|
const pltBackUri = encodeURIComponent(location.href);
|
|
4319
4501
|
url = concat(url, {
|
|
4320
4502
|
plt_back_uri: pltBackUri
|
|
@@ -4328,60 +4510,10 @@ const useAppNative = () => {
|
|
|
4328
4510
|
window.open(otherLink, "_blank", "noopener=yes");
|
|
4329
4511
|
}
|
|
4330
4512
|
return {
|
|
4331
|
-
getNativeToPointMallFn,
|
|
4513
|
+
getNativeToPointMallFn: getNativeToPointMallFn2,
|
|
4332
4514
|
supportNativeToPointMall,
|
|
4333
4515
|
supportAppNative,
|
|
4334
|
-
toNativeLink
|
|
4335
|
-
};
|
|
4336
|
-
};
|
|
4337
|
-
const usePolyvWebview = () => {
|
|
4338
|
-
const { injectData } = useGlobalInject();
|
|
4339
|
-
const isPlvWebview = ref(false);
|
|
4340
|
-
const supportPlvWebview = computed(() => {
|
|
4341
|
-
return isPlvWebview.value;
|
|
4342
|
-
});
|
|
4343
|
-
function getPlvWebviewBridge() {
|
|
4344
|
-
return __async(this, null, function* () {
|
|
4345
|
-
if (injectData.getPlvWebviewBridge) {
|
|
4346
|
-
return yield injectData.getPlvWebviewBridge();
|
|
4347
|
-
}
|
|
4348
|
-
});
|
|
4349
|
-
}
|
|
4350
|
-
function toPlvWebviewBridge(options) {
|
|
4351
|
-
return __async(this, null, function* () {
|
|
4352
|
-
if (!supportPlvWebview.value) {
|
|
4353
|
-
return;
|
|
4354
|
-
}
|
|
4355
|
-
let plvWebviewDataSize = {
|
|
4356
|
-
width: 90,
|
|
4357
|
-
height: 160
|
|
4358
|
-
};
|
|
4359
|
-
if (injectData.getPlvWebviewSmallWindowSize) {
|
|
4360
|
-
plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
|
|
4361
|
-
}
|
|
4362
|
-
const webviewBridge = yield getPlvWebviewBridge();
|
|
4363
|
-
if (!webviewBridge) {
|
|
4364
|
-
return;
|
|
4365
|
-
}
|
|
4366
|
-
webviewBridge.sendData("clickProduct", {
|
|
4367
|
-
width: plvWebviewDataSize.width,
|
|
4368
|
-
height: plvWebviewDataSize.height,
|
|
4369
|
-
newPage: true,
|
|
4370
|
-
link: options.link,
|
|
4371
|
-
data: options.data
|
|
4372
|
-
});
|
|
4373
|
-
});
|
|
4374
|
-
}
|
|
4375
|
-
onMounted(() => {
|
|
4376
|
-
if (injectData.isPlvWebview) {
|
|
4377
|
-
isPlvWebview.value = injectData.isPlvWebview();
|
|
4378
|
-
}
|
|
4379
|
-
});
|
|
4380
|
-
return {
|
|
4381
|
-
isPlvWebview,
|
|
4382
|
-
supportPlvWebview,
|
|
4383
|
-
getPlvWebviewBridge,
|
|
4384
|
-
toPlvWebviewBridge
|
|
4516
|
+
toNativeLink: toNativeLink2
|
|
4385
4517
|
};
|
|
4386
4518
|
};
|
|
4387
4519
|
const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
@@ -4400,12 +4532,12 @@ const useProductButton = (options) => {
|
|
|
4400
4532
|
const { isSoldOut } = useProductStock({
|
|
4401
4533
|
product: () => props.productData
|
|
4402
4534
|
});
|
|
4403
|
-
const { getEmitter } = useGlobalInject();
|
|
4535
|
+
const { getEmitter, injectData } = useGlobalInject();
|
|
4404
4536
|
const { $t } = useI18n();
|
|
4405
4537
|
const productConfig = computed(() => {
|
|
4406
4538
|
return props.productConfig;
|
|
4407
4539
|
});
|
|
4408
|
-
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
|
|
4540
|
+
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
|
|
4409
4541
|
getButtonOptions: () => {
|
|
4410
4542
|
const productData = props.productData;
|
|
4411
4543
|
return {
|
|
@@ -4416,10 +4548,9 @@ const useProductButton = (options) => {
|
|
|
4416
4548
|
},
|
|
4417
4549
|
launchCallback: () => sendClickEvent()
|
|
4418
4550
|
});
|
|
4419
|
-
const { supportAppNative
|
|
4420
|
-
const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
|
|
4551
|
+
const { supportAppNative } = useAppNative();
|
|
4421
4552
|
const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
|
|
4422
|
-
const { ProductBuyType, ProductType
|
|
4553
|
+
const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
|
|
4423
4554
|
const isDirectBuy = computed(() => {
|
|
4424
4555
|
return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
|
|
4425
4556
|
});
|
|
@@ -4446,13 +4577,13 @@ const useProductButton = (options) => {
|
|
|
4446
4577
|
if (isDirectBuy.value) {
|
|
4447
4578
|
return false;
|
|
4448
4579
|
}
|
|
4449
|
-
if (productData.linkType ===
|
|
4580
|
+
if (productData.linkType === LinkType.Normal) {
|
|
4450
4581
|
return !productData.link;
|
|
4451
4582
|
}
|
|
4452
|
-
if (productData.linkType ===
|
|
4583
|
+
if (productData.linkType === LinkType.MultiPlatform) {
|
|
4453
4584
|
return isMultiPlatformDisabled.value;
|
|
4454
4585
|
}
|
|
4455
|
-
if (productData.linkType ===
|
|
4586
|
+
if (productData.linkType === LinkType.Native) {
|
|
4456
4587
|
if (supportAppNative.value) {
|
|
4457
4588
|
return !productData.androidLink && !productData.iosLink;
|
|
4458
4589
|
}
|
|
@@ -4511,9 +4642,26 @@ const useProductButton = (options) => {
|
|
|
4511
4642
|
}
|
|
4512
4643
|
return concat(url, urlParams);
|
|
4513
4644
|
}
|
|
4645
|
+
function getLinkData() {
|
|
4646
|
+
const productData = props.productData;
|
|
4647
|
+
const linkData = {
|
|
4648
|
+
linkType: productData.linkType,
|
|
4649
|
+
jumpWay: productData.jumpWay,
|
|
4650
|
+
link: productData.link,
|
|
4651
|
+
pcLink: productData.pcLink,
|
|
4652
|
+
mobileLink: productData.mobileLink,
|
|
4653
|
+
mobileAppLink: productData.mobileAppLink,
|
|
4654
|
+
androidLink: productData.androidLink,
|
|
4655
|
+
iosLink: productData.iosLink,
|
|
4656
|
+
otherLink: productData.otherLink,
|
|
4657
|
+
wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
|
|
4658
|
+
wxMiniprogramAppId: productData.wxMiniprogramAppId,
|
|
4659
|
+
wxMiniprogramLink: productData.wxMiniprogramLink
|
|
4660
|
+
};
|
|
4661
|
+
return linkData;
|
|
4662
|
+
}
|
|
4514
4663
|
function onClickLinkBtn() {
|
|
4515
4664
|
const productData = props.productData;
|
|
4516
|
-
const { linkType } = productData;
|
|
4517
4665
|
sendClickEvent();
|
|
4518
4666
|
if (productConfig.value.customClickButtonHandler) {
|
|
4519
4667
|
productConfig.value.customClickButtonHandler(productData);
|
|
@@ -4523,70 +4671,28 @@ const useProductButton = (options) => {
|
|
|
4523
4671
|
toDirectBuy();
|
|
4524
4672
|
return;
|
|
4525
4673
|
}
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
case ProductLinkType.Normal:
|
|
4539
|
-
linkTo = link;
|
|
4540
|
-
break;
|
|
4541
|
-
case ProductLinkType.MultiPlatform:
|
|
4542
|
-
linkTo = mobileAppLink || mobileLink;
|
|
4543
|
-
break;
|
|
4544
|
-
}
|
|
4545
|
-
let otherData = null;
|
|
4546
|
-
if (productData.linkType !== ProductLinkType.Normal) {
|
|
4547
|
-
otherData = {
|
|
4548
|
-
mobileLink: formatProductLink(mobileLink),
|
|
4549
|
-
wxMiniprogramOriginalId,
|
|
4550
|
-
wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
|
|
4551
|
-
mobileAppLink: formatProductLink(mobileAppLink)
|
|
4552
|
-
};
|
|
4553
|
-
}
|
|
4554
|
-
toPlvWebviewBridge({
|
|
4555
|
-
link: formatProductLink(linkTo),
|
|
4556
|
-
data: otherData
|
|
4557
|
-
});
|
|
4558
|
-
return;
|
|
4559
|
-
}
|
|
4560
|
-
if (linkType === ProductLinkType.Normal) {
|
|
4561
|
-
const { link, jumpWay } = productData;
|
|
4562
|
-
openLink(formatProductLink(link), jumpWay);
|
|
4563
|
-
return;
|
|
4564
|
-
}
|
|
4565
|
-
if (linkType === ProductLinkType.MultiPlatform) {
|
|
4566
|
-
const { wxMiniprogramLink, mobileLink, pcLink } = productData;
|
|
4567
|
-
if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
|
|
4568
|
-
toWxMiniProgram(formatProductLink(wxMiniprogramLink));
|
|
4569
|
-
return;
|
|
4570
|
-
}
|
|
4571
|
-
if (isMobile) {
|
|
4572
|
-
openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
|
|
4573
|
-
return;
|
|
4574
|
-
}
|
|
4575
|
-
if (!isMobile) {
|
|
4576
|
-
openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
|
|
4577
|
-
return;
|
|
4578
|
-
}
|
|
4579
|
-
}
|
|
4674
|
+
const linkData = getLinkData();
|
|
4675
|
+
navigateToLink({
|
|
4676
|
+
linkData,
|
|
4677
|
+
getLinkParams: productConfig.value.getLinkParams,
|
|
4678
|
+
openLink,
|
|
4679
|
+
isPlvWebview: injectData.isPlvWebview,
|
|
4680
|
+
isMobile: injectData.isMobile,
|
|
4681
|
+
getPlvWebviewBridge: injectData.getPlvWebviewBridge,
|
|
4682
|
+
getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
|
|
4683
|
+
isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
|
|
4684
|
+
toWxMiniProgram
|
|
4685
|
+
});
|
|
4580
4686
|
}
|
|
4581
4687
|
function openLink(url, jumpWay) {
|
|
4582
4688
|
switch (jumpWay) {
|
|
4583
|
-
case
|
|
4689
|
+
case LinkJumpWay.NewWindow:
|
|
4584
4690
|
window.open(url, "_blank", "noopener=yes");
|
|
4585
4691
|
break;
|
|
4586
|
-
case
|
|
4692
|
+
case LinkJumpWay.CurrentWindow:
|
|
4587
4693
|
window.location.href = url;
|
|
4588
4694
|
break;
|
|
4589
|
-
case
|
|
4695
|
+
case LinkJumpWay.PopUp:
|
|
4590
4696
|
getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url);
|
|
4591
4697
|
break;
|
|
4592
4698
|
default:
|
|
@@ -4609,7 +4715,7 @@ const useProductButton = (options) => {
|
|
|
4609
4715
|
name: productData.name,
|
|
4610
4716
|
productId: productData.productId,
|
|
4611
4717
|
productType: productData.productType,
|
|
4612
|
-
productPushRule: data == null ? void 0 : data.pushRule
|
|
4718
|
+
productPushRule: (data == null ? void 0 : data.pushRule) || ""
|
|
4613
4719
|
}
|
|
4614
4720
|
});
|
|
4615
4721
|
props.productTarget.sendProductClickEvent({
|
|
@@ -4663,84 +4769,210 @@ var __component__$4 = /* @__PURE__ */ normalizeComponent(
|
|
|
4663
4769
|
);
|
|
4664
4770
|
const ProductButton = __component__$4.exports;
|
|
4665
4771
|
const supportWebP = /* @__PURE__ */ (() => {
|
|
4666
|
-
let
|
|
4772
|
+
let e;
|
|
4667
4773
|
return () => {
|
|
4668
|
-
if (null ==
|
|
4669
|
-
|
|
4670
|
-
const
|
|
4671
|
-
if (
|
|
4672
|
-
const
|
|
4673
|
-
return 0 ===
|
|
4774
|
+
if (null == e) try {
|
|
4775
|
+
e = function() {
|
|
4776
|
+
const e2 = document.createElement("canvas");
|
|
4777
|
+
if (e2.getContext && e2.getContext("2d")) {
|
|
4778
|
+
const A2 = "image/webp";
|
|
4779
|
+
return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
|
|
4674
4780
|
}
|
|
4675
4781
|
return false;
|
|
4782
|
+
}() || function() {
|
|
4783
|
+
let e2 = false;
|
|
4784
|
+
const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
|
|
4785
|
+
if (t2) e2 = parseInt(t2[1]) >= 14;
|
|
4786
|
+
else {
|
|
4787
|
+
const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
|
|
4788
|
+
t3 && (e2 = parseInt(t3[1]) >= 16);
|
|
4789
|
+
}
|
|
4790
|
+
return e2;
|
|
4676
4791
|
}();
|
|
4677
|
-
} catch (
|
|
4678
|
-
|
|
4792
|
+
} catch (A2) {
|
|
4793
|
+
e = false;
|
|
4679
4794
|
}
|
|
4680
|
-
return
|
|
4795
|
+
return e;
|
|
4681
4796
|
};
|
|
4682
4797
|
})();
|
|
4683
|
-
function getExtname(
|
|
4684
|
-
const
|
|
4798
|
+
function getExtname(e) {
|
|
4799
|
+
const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
|
|
4685
4800
|
return t2 ? t2.toLowerCase() : "";
|
|
4686
4801
|
}
|
|
4687
|
-
function handleCompressOptions(
|
|
4688
|
-
var
|
|
4689
|
-
const
|
|
4690
|
-
return
|
|
4802
|
+
function handleCompressOptions(e) {
|
|
4803
|
+
var A2, t2;
|
|
4804
|
+
const n2 = "number" == typeof e ? { width: e } : e;
|
|
4805
|
+
return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
|
|
4691
4806
|
}
|
|
4692
|
-
function createURLObject(
|
|
4693
|
-
let
|
|
4807
|
+
function createURLObject(e) {
|
|
4808
|
+
let A2;
|
|
4694
4809
|
if ("undefined" != typeof document) {
|
|
4695
4810
|
const t2 = document.createElement("a");
|
|
4696
|
-
t2.href =
|
|
4811
|
+
t2.href = e, A2 = t2;
|
|
4697
4812
|
} else if ("function" == typeof URL) try {
|
|
4698
|
-
|
|
4699
|
-
} catch (
|
|
4813
|
+
A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
|
|
4814
|
+
} catch (e2) {
|
|
4700
4815
|
}
|
|
4701
|
-
return
|
|
4816
|
+
return A2;
|
|
4702
4817
|
}
|
|
4703
|
-
function genOSSCompressParams(
|
|
4818
|
+
function genOSSCompressParams(e, A2) {
|
|
4704
4819
|
let t2 = "";
|
|
4705
|
-
return null ==
|
|
4820
|
+
return null == A2.width && null == A2.height || (t2 += "/resize", A2.width && (t2 += ",w_" + A2.width), A2.height && (t2 += ",h_" + A2.height), t2 += ",limit_1"), A2.allowAVIF && "gif" !== e ? t2 += "/format,avif" : true === A2.allowWebP || "auto" === A2.allowWebP && supportWebP() ? t2 += "/format,webp/quality,Q_80" : A2.allowJPG && "gif" !== e && (t2 += "/format,jpg/quality,Q_80"), t2;
|
|
4706
4821
|
}
|
|
4707
|
-
function setOSSCompressParams(
|
|
4822
|
+
function setOSSCompressParams(e, A2) {
|
|
4708
4823
|
let t2 = false;
|
|
4709
|
-
return
|
|
4710
|
-
}
|
|
4711
|
-
function ossCompress(
|
|
4712
|
-
const t2 = createURLObject(
|
|
4713
|
-
if (!t2) return
|
|
4714
|
-
|
|
4715
|
-
|
|
4824
|
+
return e = e.replace(/([?&]x-oss-process)(?:=([^&]*))?/, (e2, n2, r2) => (t2 = true, /^image/.test(r2) ? n2 + "=" + r2.replace(/\/(?:resize|format|quality)[^/]*/gi, "") + A2 : e2)), t2 ? e : e + (-1 === e.indexOf("?") ? "?" : "&") + "x-oss-process=image" + A2;
|
|
4825
|
+
}
|
|
4826
|
+
function ossCompress(e, A2) {
|
|
4827
|
+
const t2 = createURLObject(e);
|
|
4828
|
+
if (!t2) return e;
|
|
4829
|
+
const n2 = getExtname(t2.pathname.split("/").pop());
|
|
4830
|
+
if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
|
|
4831
|
+
const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
|
|
4716
4832
|
return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
|
|
4717
4833
|
}
|
|
4834
|
+
var ProductItemScene = /* @__PURE__ */ ((ProductItemScene2) => {
|
|
4835
|
+
ProductItemScene2["ProductList"] = "productList";
|
|
4836
|
+
ProductItemScene2["BigCard"] = "bigCard";
|
|
4837
|
+
ProductItemScene2["AggregateStation"] = "aggregateStation";
|
|
4838
|
+
return ProductItemScene2;
|
|
4839
|
+
})(ProductItemScene || {});
|
|
4840
|
+
const useProductTrack = (options) => {
|
|
4841
|
+
const { productTarget } = options;
|
|
4842
|
+
const { ProductType } = getProductTargetExport(productTarget);
|
|
4843
|
+
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
4844
|
+
const trackedProductIds = ref({});
|
|
4845
|
+
const productListRef = ref(null);
|
|
4846
|
+
const productItemsRef = shallowRef([]);
|
|
4847
|
+
function setItemRef(el) {
|
|
4848
|
+
if (el) {
|
|
4849
|
+
productItemsRef.value.push(el);
|
|
4850
|
+
}
|
|
4851
|
+
}
|
|
4852
|
+
function trackProductViewEvent(productData) {
|
|
4853
|
+
const specAttrs = {
|
|
4854
|
+
name: productData.name,
|
|
4855
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
4856
|
+
productId: productData.productId,
|
|
4857
|
+
productType: productData.productType,
|
|
4858
|
+
productFeature: JSON.stringify(productData.featureTags)
|
|
4859
|
+
};
|
|
4860
|
+
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
4861
|
+
specAttrs.price = productData.originPrice;
|
|
4862
|
+
}
|
|
4863
|
+
trackEvent({
|
|
4864
|
+
event_id: "product_list_item_view",
|
|
4865
|
+
event_type: "show",
|
|
4866
|
+
spec_attrs: specAttrs
|
|
4867
|
+
});
|
|
4868
|
+
}
|
|
4869
|
+
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
4870
|
+
const offsetTop = element.offsetTop;
|
|
4871
|
+
const offsetHeight = element.offsetHeight;
|
|
4872
|
+
const elementBottom = offsetTop + offsetHeight;
|
|
4873
|
+
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
4874
|
+
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
4875
|
+
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
4876
|
+
}
|
|
4877
|
+
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
4878
|
+
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
4879
|
+
return;
|
|
4880
|
+
}
|
|
4881
|
+
const element = itemInstance.$el;
|
|
4882
|
+
const productId = itemInstance.product.productId;
|
|
4883
|
+
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
4884
|
+
if (isVisible && !trackedProductIds.value[productId]) {
|
|
4885
|
+
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
4886
|
+
trackProductViewEvent(itemInstance.product);
|
|
4887
|
+
}
|
|
4888
|
+
}
|
|
4889
|
+
function trackProduct() {
|
|
4890
|
+
return __async(this, null, function* () {
|
|
4891
|
+
yield nextTick();
|
|
4892
|
+
const container = productListRef.value;
|
|
4893
|
+
if (!container || !productItemsRef.value.length) return;
|
|
4894
|
+
const scrollTop = container.scrollTop;
|
|
4895
|
+
const scrollClientHeight = container.clientHeight;
|
|
4896
|
+
const viewportBottom = scrollTop + scrollClientHeight;
|
|
4897
|
+
productItemsRef.value.forEach((itemInstance) => {
|
|
4898
|
+
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
4899
|
+
});
|
|
4900
|
+
});
|
|
4901
|
+
}
|
|
4902
|
+
function clearTrackedProducts() {
|
|
4903
|
+
trackedProductIds.value = {};
|
|
4904
|
+
productItemsRef.value = [];
|
|
4905
|
+
}
|
|
4906
|
+
function getCommonSpecAttrs(productData) {
|
|
4907
|
+
return {
|
|
4908
|
+
clickTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
4909
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
4910
|
+
productName: productData.name,
|
|
4911
|
+
productId: productData.productId,
|
|
4912
|
+
productType: productData.productType,
|
|
4913
|
+
feature: JSON.stringify(productData.featureTags),
|
|
4914
|
+
price: productData.productType === ProductType.Normal ? productData.originPrice : "",
|
|
4915
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : ""
|
|
4916
|
+
};
|
|
4917
|
+
}
|
|
4918
|
+
function trackProductItemClick(productData) {
|
|
4919
|
+
trackEvent({
|
|
4920
|
+
event_id: "product_list_item_click",
|
|
4921
|
+
event_type: "click",
|
|
4922
|
+
spec_attrs: __spreadValues({}, getCommonSpecAttrs(productData))
|
|
4923
|
+
});
|
|
4924
|
+
}
|
|
4925
|
+
function trackProductPushItemClick(productData) {
|
|
4926
|
+
trackEvent({
|
|
4927
|
+
event_id: "product_push_item_click",
|
|
4928
|
+
event_type: "click",
|
|
4929
|
+
spec_attrs: __spreadProps(__spreadValues({}, getCommonSpecAttrs(productData)), {
|
|
4930
|
+
pushId: productData.pushLogId || ""
|
|
4931
|
+
})
|
|
4932
|
+
});
|
|
4933
|
+
}
|
|
4934
|
+
function trackProductPushItemView(productData) {
|
|
4935
|
+
trackEvent({
|
|
4936
|
+
event_id: "product_push_item_view",
|
|
4937
|
+
event_type: "show",
|
|
4938
|
+
spec_attrs: {
|
|
4939
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
4940
|
+
productId: productData.productId,
|
|
4941
|
+
pushId: productData.pushLogId || ""
|
|
4942
|
+
}
|
|
4943
|
+
});
|
|
4944
|
+
}
|
|
4945
|
+
return {
|
|
4946
|
+
productListRef,
|
|
4947
|
+
setItemRef,
|
|
4948
|
+
trackProduct,
|
|
4949
|
+
clearTrackedProducts,
|
|
4950
|
+
trackProductItemClick,
|
|
4951
|
+
trackProductPushItemClick,
|
|
4952
|
+
trackProductPushItemView
|
|
4953
|
+
};
|
|
4954
|
+
};
|
|
4718
4955
|
const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
4719
|
-
product: PropUtils.object().isRequired
|
|
4956
|
+
product: PropUtils.object().isRequired,
|
|
4957
|
+
scene: PropUtils.enum()
|
|
4720
4958
|
});
|
|
4721
4959
|
const productItemEmits = () => ({
|
|
4722
|
-
"click-explain": emitFunc(),
|
|
4723
4960
|
"click-product-item": emitFunc(),
|
|
4724
|
-
"direct-buy": emitFunc()
|
|
4961
|
+
"direct-buy": emitFunc(),
|
|
4962
|
+
"open-position-detail": emitFunc()
|
|
4725
4963
|
});
|
|
4726
4964
|
const useProductItem = (options) => {
|
|
4727
4965
|
const { props, emit } = options;
|
|
4728
4966
|
const { ProductType, ProductBuyType } = getProductTargetExport(props.productTarget);
|
|
4729
4967
|
const { getEmitter } = useGlobalInject();
|
|
4730
|
-
const productExplainEnabled =
|
|
4968
|
+
const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
|
|
4969
|
+
const { trackProductItemClick, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
|
|
4731
4970
|
const isProductRedirectLinkDirectly = ref(false);
|
|
4732
4971
|
const shouldEllipsisTitle = computed(() => {
|
|
4733
4972
|
const { product } = props;
|
|
4734
4973
|
return !!(product.name && product.featureTags.length && (product.description && product.productType !== ProductType.Position));
|
|
4735
4974
|
});
|
|
4736
|
-
function
|
|
4737
|
-
return __async(this, null, function* () {
|
|
4738
|
-
if (!props.productTarget) return;
|
|
4739
|
-
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
4740
|
-
productExplainEnabled.value = enabled;
|
|
4741
|
-
});
|
|
4742
|
-
}
|
|
4743
|
-
function setIsProductRedirectLinkDirectly() {
|
|
4975
|
+
function getIsProductRedirectLinkDirectly() {
|
|
4744
4976
|
return __async(this, null, function* () {
|
|
4745
4977
|
const { product, productTarget } = props;
|
|
4746
4978
|
if (!product || !productTarget) return false;
|
|
@@ -4748,11 +4980,13 @@ const useProductItem = (options) => {
|
|
|
4748
4980
|
isProductRedirectLinkDirectly.value = product.productType === ProductType.Normal && product.buyType === ProductBuyType.Link && enabled;
|
|
4749
4981
|
});
|
|
4750
4982
|
}
|
|
4751
|
-
function onClickExplain(product) {
|
|
4752
|
-
emit("click-explain", product);
|
|
4753
|
-
}
|
|
4754
4983
|
function onClickProductItem() {
|
|
4755
4984
|
emit("click-product-item", props.product);
|
|
4985
|
+
if (props.scene === ProductItemScene.BigCard) {
|
|
4986
|
+
trackProductPushItemClick(props.product);
|
|
4987
|
+
} else {
|
|
4988
|
+
trackProductItemClick(props.product);
|
|
4989
|
+
}
|
|
4756
4990
|
if (props.product.productType !== ProductType.Finance) {
|
|
4757
4991
|
getEmitter().emit(productEvents.OpenProductDetailPopup, props.product);
|
|
4758
4992
|
}
|
|
@@ -4760,18 +4994,15 @@ const useProductItem = (options) => {
|
|
|
4760
4994
|
function onDirectBuy(product) {
|
|
4761
4995
|
emit("direct-buy", product);
|
|
4762
4996
|
}
|
|
4763
|
-
onMounted(() => {
|
|
4764
|
-
setProductExplainEnabled();
|
|
4765
|
-
});
|
|
4766
4997
|
watchEffect(() => {
|
|
4767
|
-
|
|
4998
|
+
getIsProductRedirectLinkDirectly();
|
|
4768
4999
|
});
|
|
4769
5000
|
return {
|
|
4770
5001
|
productExplainEnabled,
|
|
4771
5002
|
isProductRedirectLinkDirectly,
|
|
4772
5003
|
shouldEllipsisTitle,
|
|
4773
5004
|
onDirectBuy,
|
|
4774
|
-
|
|
5005
|
+
handleClickExplain,
|
|
4775
5006
|
onClickProductItem
|
|
4776
5007
|
};
|
|
4777
5008
|
};
|
|
@@ -4781,7 +5012,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4781
5012
|
emits: productItemEmits(),
|
|
4782
5013
|
setup(__props, { emit }) {
|
|
4783
5014
|
const props = __props;
|
|
4784
|
-
const { ProductExplainStatus } = getProductTargetExport(props.productTarget);
|
|
5015
|
+
const { ProductExplainStatus, ProductType } = getProductTargetExport(props.productTarget);
|
|
4785
5016
|
const { $t } = useI18n();
|
|
4786
5017
|
const { isSoldOut } = useProductStock({
|
|
4787
5018
|
product: () => props.product
|
|
@@ -4791,22 +5022,25 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
4791
5022
|
isProductRedirectLinkDirectly,
|
|
4792
5023
|
shouldEllipsisTitle,
|
|
4793
5024
|
onDirectBuy,
|
|
4794
|
-
|
|
4795
|
-
|
|
5025
|
+
onClickProductItem,
|
|
5026
|
+
handleClickExplain
|
|
4796
5027
|
} = useProductItem({
|
|
4797
5028
|
props,
|
|
4798
5029
|
emit
|
|
4799
5030
|
});
|
|
4800
|
-
return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy,
|
|
5031
|
+
return { __sfc: true, props, emit, ProductExplainStatus, ProductType, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy, onClickProductItem, handleClickExplain, ProductExplain, ProductTitle, ProductFeatureTag, ProductPrice, ProductButton, ossCompress, ProductItemScene };
|
|
4801
5032
|
}
|
|
4802
5033
|
});
|
|
4803
5034
|
var _sfc_render$3 = function render10() {
|
|
4804
5035
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
4805
|
-
return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.
|
|
5036
|
+
return _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig, "disabled": !_setup.isProductRedirectLinkDirectly } }, [_c("div", { class: ["plv-product-item", { "plv-product-item-no-cover": !_vm.product.cover, "plv-product-item--topping": _vm.product.isTopping }], on: { "click": _setup.onClickProductItem } }, [_vm.product.cover ? _c("div", { staticClass: "plv-product-item__cover-area" }, [_c("img", { staticClass: "plv-product-item__cover", attrs: { "src": _setup.ossCompress(_vm.product.cover, { width: 300 }), "alt": _vm.product.name } }), _setup.isSoldOut ? _c("div", { staticClass: "plv-product-item__cover-stock" }, [_vm._v(" - " + _vm._s(_setup.$t("product.stock.soldOut")) + " - ")]) : _vm._e(), _vm.product.displayNumber ? _c("div", { staticClass: "plv-product-item__ranking plv-product-item__ranking--cover plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e()], 1) : _vm._e(), _c("div", { staticClass: "plv-product-item__content" }, [_c("div", { staticClass: "plv-product-item__title-area" }, [_vm.product.displayNumber && !_vm.product.cover ? _c("div", { staticClass: "plv-product-item__ranking plv-font-din-pro-regular" }, [_vm._v(" " + _vm._s(_vm.product.displayNumber) + " ")]) : _vm._e(), _setup.productExplainEnabled && !_vm.product.cover && _vm.product.explainStatus !== _setup.ProductExplainStatus.Explained ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explain", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _c(_setup.ProductTitle, { attrs: { "title": _vm.product.name, "use-ellipsis": _setup.shouldEllipsisTitle } })], 1), _c("div", { staticClass: "plv-product-item__tags" }, _vm._l(_vm.product.featureTags, function(tag, index) {
|
|
4806
5037
|
return _c(_setup.ProductFeatureTag, { key: index, attrs: { "tag": tag } });
|
|
4807
|
-
}), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }),
|
|
5038
|
+
}), 1), _vm.product.description ? _c("p", { staticClass: "plv-product-item__description" }, [_vm._v(" " + _vm._s(_vm.product.description) + " ")]) : _vm._e(), _c("div", { staticClass: "plv-product-item__footer" }, [_c(_setup.ProductPrice, { attrs: { "product": _vm.product } }), _vm.product.productType === _setup.ProductType.Position && _vm.productConfig.isProductWebview ? _c("div", { staticClass: "plv-product-item__position-detail-button", on: { "click": function($event) {
|
|
5039
|
+
$event.stopPropagation();
|
|
5040
|
+
return _setup.emit("open-position-detail", _vm.product);
|
|
5041
|
+
} } }, [_vm._v(" " + _vm._s(_setup.$t("product.position.detail")) + " ")]) : _vm._e(), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", class: { "plv-product-item__explained--no-cover-position": _vm.product.productType === _setup.ProductType.Position && _vm.productConfig.isProductWebview }, attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.handleClickExplain } }) : _vm._e(), _vm.scene !== _setup.ProductItemScene.BigCard ? _c(_setup.ProductButton, { attrs: { "product-data": _vm.product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.onDirectBuy }, scopedSlots: _vm._u([{ key: "default", fn: function({ buttonText, disabled }) {
|
|
4808
5042
|
return [_c("button", { staticClass: "plv-product-item__buy-button", class: { "plv-product-item__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
|
|
4809
|
-
} }]) })], 1)])])]);
|
|
5043
|
+
} }], null, false, 477326030) }) : _vm._e()], 1)])])]);
|
|
4810
5044
|
};
|
|
4811
5045
|
var _sfc_staticRenderFns$3 = [];
|
|
4812
5046
|
var __component__$3 = /* @__PURE__ */ normalizeComponent(
|
|
@@ -4833,79 +5067,6 @@ var __component__$2 = /* @__PURE__ */ normalizeComponent(
|
|
|
4833
5067
|
_sfc_staticRenderFns$2
|
|
4834
5068
|
);
|
|
4835
5069
|
const ProductEmpty = __component__$2.exports;
|
|
4836
|
-
const useProductTrack = (options) => {
|
|
4837
|
-
const { productTarget, ProductType } = options;
|
|
4838
|
-
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
4839
|
-
const trackedProductIds = ref({});
|
|
4840
|
-
const productListRef = ref(null);
|
|
4841
|
-
const productItemsRef = shallowRef([]);
|
|
4842
|
-
function setItemRef(el) {
|
|
4843
|
-
if (el) {
|
|
4844
|
-
productItemsRef.value.push(el);
|
|
4845
|
-
}
|
|
4846
|
-
}
|
|
4847
|
-
function trackProductViewEvent(productData) {
|
|
4848
|
-
const specAttrs = {
|
|
4849
|
-
exposureTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
4850
|
-
name: productData.name,
|
|
4851
|
-
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
4852
|
-
productId: productData.productId,
|
|
4853
|
-
productType: productData.productType,
|
|
4854
|
-
productFeature: JSON.stringify(productData.featureTags)
|
|
4855
|
-
};
|
|
4856
|
-
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
4857
|
-
specAttrs.price = productData.originPrice;
|
|
4858
|
-
}
|
|
4859
|
-
trackEvent({
|
|
4860
|
-
event_id: "product_list_item_view",
|
|
4861
|
-
event_type: "show",
|
|
4862
|
-
spec_attrs: specAttrs
|
|
4863
|
-
});
|
|
4864
|
-
}
|
|
4865
|
-
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
4866
|
-
const offsetTop = element.offsetTop;
|
|
4867
|
-
const offsetHeight = element.offsetHeight;
|
|
4868
|
-
const elementBottom = offsetTop + offsetHeight;
|
|
4869
|
-
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
4870
|
-
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
4871
|
-
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
4872
|
-
}
|
|
4873
|
-
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
4874
|
-
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
4875
|
-
return;
|
|
4876
|
-
}
|
|
4877
|
-
const element = itemInstance.$el;
|
|
4878
|
-
const productId = itemInstance.product.productId;
|
|
4879
|
-
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
4880
|
-
if (isVisible && !trackedProductIds.value[productId]) {
|
|
4881
|
-
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
4882
|
-
trackProductViewEvent(itemInstance.product);
|
|
4883
|
-
}
|
|
4884
|
-
}
|
|
4885
|
-
function trackProduct() {
|
|
4886
|
-
return __async(this, null, function* () {
|
|
4887
|
-
yield nextTick();
|
|
4888
|
-
const container = productListRef.value;
|
|
4889
|
-
if (!container || !productItemsRef.value.length) return;
|
|
4890
|
-
const scrollTop = container.scrollTop;
|
|
4891
|
-
const scrollClientHeight = container.clientHeight;
|
|
4892
|
-
const viewportBottom = scrollTop + scrollClientHeight;
|
|
4893
|
-
productItemsRef.value.forEach((itemInstance) => {
|
|
4894
|
-
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
4895
|
-
});
|
|
4896
|
-
});
|
|
4897
|
-
}
|
|
4898
|
-
function clearTrackedProducts() {
|
|
4899
|
-
trackedProductIds.value = {};
|
|
4900
|
-
productItemsRef.value = [];
|
|
4901
|
-
}
|
|
4902
|
-
return {
|
|
4903
|
-
productListRef,
|
|
4904
|
-
setItemRef,
|
|
4905
|
-
trackProduct,
|
|
4906
|
-
clearTrackedProducts
|
|
4907
|
-
};
|
|
4908
|
-
};
|
|
4909
5070
|
const useTargetEventEmitter = (eventEmitter, listeners) => {
|
|
4910
5071
|
onMounted(() => {
|
|
4911
5072
|
if (!eventEmitter) return;
|
|
@@ -4928,7 +5089,7 @@ const useProductList = (options) => {
|
|
|
4928
5089
|
const { props } = options;
|
|
4929
5090
|
const { getEmitter } = useGlobalInject();
|
|
4930
5091
|
const { ProductStatus, ProductType, ProductEvents } = getProductTargetExport(props.productTarget);
|
|
4931
|
-
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget
|
|
5092
|
+
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget });
|
|
4932
5093
|
const { isSupportPay, getPayProviders } = usePayment({ props });
|
|
4933
5094
|
const pageNumber = ref(1);
|
|
4934
5095
|
const pageSize = ref(10);
|
|
@@ -4989,6 +5150,7 @@ const useProductList = (options) => {
|
|
|
4989
5150
|
page: pageNumber.value,
|
|
4990
5151
|
count: pageSize.value
|
|
4991
5152
|
});
|
|
5153
|
+
console.info("商品列表:", data.contents);
|
|
4992
5154
|
toppingProduct.value = data.toppingProduct;
|
|
4993
5155
|
isNoMore.value = data.contents.length < pageSize.value;
|
|
4994
5156
|
setProductTotal(data.total);
|
|
@@ -5039,18 +5201,6 @@ const useProductList = (options) => {
|
|
|
5039
5201
|
}
|
|
5040
5202
|
});
|
|
5041
5203
|
}
|
|
5042
|
-
function handleClickExplain(product) {
|
|
5043
|
-
return __async(this, null, function* () {
|
|
5044
|
-
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
5045
|
-
props.productConfig.customClickExplainHandler(product);
|
|
5046
|
-
return;
|
|
5047
|
-
}
|
|
5048
|
-
const url = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
5049
|
-
if (url) {
|
|
5050
|
-
window.open(url, "_blank");
|
|
5051
|
-
}
|
|
5052
|
-
});
|
|
5053
|
-
}
|
|
5054
5204
|
function getProductOrderEnabled() {
|
|
5055
5205
|
return __async(this, null, function* () {
|
|
5056
5206
|
if (!props.productTarget) return;
|
|
@@ -5096,10 +5246,24 @@ const useProductList = (options) => {
|
|
|
5096
5246
|
const productTarget = props.productTarget;
|
|
5097
5247
|
if (!productTarget) return;
|
|
5098
5248
|
const ProductEvents2 = productTarget.ProductEvents;
|
|
5249
|
+
productTarget.eventEmitter.on(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
5250
|
+
productTarget.eventEmitter.on(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
5251
|
+
productTarget.eventEmitter.on(ProductEvents2.DeleteProduct, refreshProductList);
|
|
5252
|
+
productTarget.eventEmitter.on(ProductEvents2.AddProduct, refreshProductList);
|
|
5253
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProduct, refreshProductList);
|
|
5254
|
+
productTarget.eventEmitter.on(ProductEvents2.MoveProduct, refreshProductList);
|
|
5255
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
5099
5256
|
productTarget.eventEmitter.on(ProductEvents2.RefreshProductList, refreshProductList);
|
|
5100
5257
|
}
|
|
5101
5258
|
function unbindProductEvent() {
|
|
5102
5259
|
const ProductEvents2 = props.productTarget.ProductEvents;
|
|
5260
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
5261
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
5262
|
+
props.productTarget.eventEmitter.off(ProductEvents2.DeleteProduct, refreshProductList);
|
|
5263
|
+
props.productTarget.eventEmitter.off(ProductEvents2.AddProduct, refreshProductList);
|
|
5264
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProduct, refreshProductList);
|
|
5265
|
+
props.productTarget.eventEmitter.off(ProductEvents2.MoveProduct, refreshProductList);
|
|
5266
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
5103
5267
|
props.productTarget.eventEmitter.off(ProductEvents2.RefreshProductList, refreshProductList);
|
|
5104
5268
|
}
|
|
5105
5269
|
function init() {
|
|
@@ -5157,7 +5321,8 @@ const useProductList = (options) => {
|
|
|
5157
5321
|
}
|
|
5158
5322
|
});
|
|
5159
5323
|
const instance = {
|
|
5160
|
-
init
|
|
5324
|
+
init,
|
|
5325
|
+
refreshProductList
|
|
5161
5326
|
};
|
|
5162
5327
|
return {
|
|
5163
5328
|
instance,
|
|
@@ -5174,14 +5339,16 @@ const useProductList = (options) => {
|
|
|
5174
5339
|
productList,
|
|
5175
5340
|
toppingProduct,
|
|
5176
5341
|
onScroll,
|
|
5177
|
-
handleClickExplain,
|
|
5178
5342
|
openOrderList
|
|
5179
5343
|
};
|
|
5180
5344
|
};
|
|
5181
5345
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
5182
5346
|
__name: "product-list",
|
|
5183
5347
|
props: productListProps(),
|
|
5184
|
-
|
|
5348
|
+
emits: {
|
|
5349
|
+
"open-position-detail": emitFunc()
|
|
5350
|
+
},
|
|
5351
|
+
setup(__props, { expose, emit }) {
|
|
5185
5352
|
const props = __props;
|
|
5186
5353
|
const { $t } = useI18n();
|
|
5187
5354
|
const closeProductListPopup = inject("closeProductListPopup", () => {
|
|
@@ -5210,11 +5377,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
5210
5377
|
productTotal,
|
|
5211
5378
|
orderEntranceVisible,
|
|
5212
5379
|
onScroll,
|
|
5213
|
-
handleClickExplain,
|
|
5214
5380
|
openOrderList
|
|
5215
5381
|
} = useProductList({ props });
|
|
5216
5382
|
expose(instance);
|
|
5217
|
-
return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll,
|
|
5383
|
+
return { __sfc: true, props, emit, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList, productTotal, orderEntranceVisible, onScroll, openOrderList, FormInput, FormTheme, Loading, ProductIconClose, ProductIconOrderEnter, ProductIconSearch, ProductIconProduct, ProductTagPanel, isMobile, ProductItem, ProductEmpty };
|
|
5218
5384
|
}
|
|
5219
5385
|
});
|
|
5220
5386
|
var _sfc_render$1 = function render12() {
|
|
@@ -5224,7 +5390,9 @@ var _sfc_render$1 = function render12() {
|
|
|
5224
5390
|
}, expression: "searchKeyword" } }, [_c(_setup.ProductIconSearch, { staticClass: "plv-product-list__header-search-icon", attrs: { "slot": "prefix" }, slot: "prefix" })], 1), _setup.orderEntranceVisible ? _c("div", { staticClass: "plv-product-list__header-right", on: { "click": _setup.openOrderList } }, [_c(_setup.ProductIconOrderEnter, { staticClass: "plv-product-list__header-right-icon" }), _c("div", { staticClass: "plv-product-list__header-right-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.order")) + " ")])], 1) : _vm._e(), !_setup.isMobile ? _c(_setup.ProductIconClose, { staticClass: "plv-product-list-popup__icon-close", on: { "click": _setup.closeProductListPopup } }) : _vm._e()], 1), !_setup.isSearchMode ? [_c(_setup.ProductTagPanel, { ref: "productTagPanelRef", attrs: { "product-target": _vm.productTarget }, model: { value: _setup.activeTagId, callback: function($$v) {
|
|
5225
5391
|
_setup.activeTagId = $$v;
|
|
5226
5392
|
}, expression: "activeTagId" } }), _c("div", { staticClass: "plv-product-list__product-total" }, [_c(_setup.ProductIconProduct, { staticClass: "plv-product-list__product-total-icon" }), _c("div", { staticClass: "plv-product-list__product-total-text" }, [_vm._v(" " + _vm._s(_setup.$t("product.num")) + ": ")]), _c("div", { staticClass: "plv-product-list__product-total-num" }, [_vm._v(" " + _vm._s(_setup.productTotal) + " ")])], 1)] : _vm._e()], 2), !_setup.initialLoading ? [_setup.productList.length ? _c("div", { staticClass: "plv-product-list__wrapper" }, _vm._l(_setup.productList, function(product, index) {
|
|
5227
|
-
return _c(_setup.ProductItem, { key: index, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "
|
|
5393
|
+
return _c(_setup.ProductItem, { key: index, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "direct-buy": _setup.handleDirectBuy, "open-position-detail": function($event) {
|
|
5394
|
+
return _setup.emit("open-position-detail", $event);
|
|
5395
|
+
} } });
|
|
5228
5396
|
}), 1) : _c(_setup.ProductEmpty)] : _vm._e(), _setup.isLoading ? _c("div", { staticClass: "plv-product-list__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 2);
|
|
5229
5397
|
};
|
|
5230
5398
|
var _sfc_staticRenderFns$1 = [];
|
|
@@ -5298,8 +5466,8 @@ console.log(
|
|
|
5298
5466
|
"%c@polyv/product-ui",
|
|
5299
5467
|
"background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
|
|
5300
5468
|
"[component: product-list-popup]",
|
|
5301
|
-
"[version: 1.
|
|
5302
|
-
"[buildTime: 2025-
|
|
5469
|
+
"[version: 1.2.0-rc-20250724.2]",
|
|
5470
|
+
"[buildTime: 2025-07-24 03:57:17]"
|
|
5303
5471
|
);
|
|
5304
5472
|
export {
|
|
5305
5473
|
productListPopup as default
|