@polyv/product-ui 1.0.0-rc-20250612.4 → 1.1.0-rc-20250703.1
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 +2 -2
- package/address-edit.es.js +22 -9
- package/address-edit.umd.js +2 -2
- package/address-item.cjs.js +2 -2
- package/address-item.es.js +12 -12
- package/address-item.umd.js +2 -2
- package/address-list.cjs.js +2 -2
- package/address-list.es.js +30 -18
- package/address-list.umd.js +3 -3
- package/big-card-popup.cjs.js +9 -0
- package/big-card-popup.es.d.ts +3 -0
- package/big-card-popup.es.js +4402 -0
- package/big-card-popup.umd.js +9 -0
- package/index.cjs.js +3 -3
- package/index.es.js +1418 -692
- package/index.umd.js +3 -3
- package/mobile-product-pendant.cjs.js +3 -3
- package/mobile-product-pendant.es.js +45 -35
- package/mobile-product-pendant.umd.js +3 -3
- package/order-confirm.cjs.js +2 -2
- package/order-confirm.es.js +30 -18
- package/order-confirm.umd.js +2 -2
- package/order-detail.cjs.js +2 -2
- package/order-detail.es.js +30 -18
- package/order-detail.umd.js +2 -2
- package/order-item.cjs.js +2 -2
- package/order-item.es.js +21 -9
- package/order-item.umd.js +2 -2
- package/order-list-popup.cjs.js +3 -3
- package/order-list-popup.es.js +40 -19
- package/order-list-popup.umd.js +2 -2
- package/order-list.cjs.js +2 -2
- package/order-list.es.js +21 -9
- package/order-list.umd.js +2 -2
- package/order-popup.cjs.js +2 -2
- package/order-popup.es.js +40 -19
- package/order-popup.umd.js +2 -2
- package/package.json +2 -1
- package/pc-product-pendant.cjs.js +3 -3
- package/pc-product-pendant.es.js +21 -9
- package/pc-product-pendant.umd.js +3 -3
- package/product-button.cjs.js +3 -3
- package/product-button.es.js +298 -261
- package/product-button.umd.js +3 -3
- package/product-detail-popup.cjs.js +3 -3
- package/product-detail-popup.es.js +243 -185
- package/product-detail-popup.umd.js +3 -3
- package/product-detail.cjs.js +3 -3
- package/product-detail.es.js +315 -265
- package/product-detail.umd.js +3 -3
- package/product-iframe-link-popup.cjs.js +2 -2
- package/product-iframe-link-popup.es.js +13 -4
- package/product-iframe-link-popup.umd.js +2 -2
- package/product-item.cjs.js +3 -3
- package/product-item.es.js +397 -204
- package/product-item.umd.js +3 -3
- package/product-list-popup.cjs.js +3 -3
- package/product-list-popup.es.js +423 -295
- package/product-list-popup.umd.js +3 -3
- package/product-list.cjs.js +3 -3
- package/product-list.es.js +414 -294
- package/product-list.umd.js +3 -3
- package/small-card.cjs.js +8 -0
- package/small-card.es.d.ts +3 -0
- package/small-card.es.js +4463 -0
- package/small-card.umd.js +9 -0
package/product-list.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";@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,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAIcUlEQVR4Ae2aS2xVRRjHe/t+gWIL9AWWpFiB2hYoRRRioyaGkLhwY9TEnUs3GhM3xrgwLElcSWIMK10QH/ERdSGpiSywtNVSi00r8mxpS2npgz7vvf7+xzP1cO3l3nvOubc1OZPMnTkzc2a++Z3v+2bOuZOVFYSAQEAgIBAQCAgEBAICAYGAQEAgIBAQCAisMwKhtZRn//79eQUFBZuWlpYKwuFwaU5OTkE0Gg2RzihFtvGZmZnpvr6+xbWSM+OAmpubH2SytUDYFAqFKgSCmK0QiUSsVNd2mVVH+2Gux5eXl//q6em5nklYGQOEtmxnkrsgUGoDCImGDcJKYwEBMBsY2UppJ1l1PcRtfR0dHb9nAlTaATU2NtagLY8SSzRJAyQWhmDFlsUAsiDaZepnhvx3nZ2dV9MJKm2ADh06VLSwsLCTSWwTGAEQHGfelNlgcpyABIK2ObrHhnKPJtn1anPt9u3bn12+fHk+HaDSAqi+vn5DcXHxXiZRbEP4j+YwmTnircXFxSEmOYuTnjXOePfu3fmlpaUbAFZO3WbiHvoqdEBZgUad4E+hoafPnTs34jck3wHt3bt3M8LuQdA8aQR5C45DO+Rkr2Iat1KZjEw1Nzf3CSBtXwWU5rEI5B9+JaTSb6K2vgI6cOBABSB2CQaTCSm1n3A2wo/xpPsAczeRUPerx9k/QP0x4sP0bTTJegiA03w+ZYw/7tdHKnW+AcIsSjGrJgbPExQnJPL93d3dV1IRLFHbpqamVrTzKZgU2aA0F4FaoOxjIA0n6iOZ+pxkGiVq09bWlstm7zHayazkE7L0MNm3zN+9e7ezt7d3NFEfqdaPjIzcqKmpucR4WgiKuN/SItJ84iPl5eUXR0dHPTtu7Ss8h9nZ2XpMKh9Bo8SIIk9ybnJysqu/v3/a8wBxOmAvdBNAp6i+Iy0iMHRIP2X5+fnPxrktpWLPGnTw4MGNaEoNgmah8pbm4G/CLPG9AwMDnvxNMjO5efPmfFVV1WWgPE57PXBpksytuqKiYoL6oWT6idfGswaxTO/gyekdIQIXaU+Uwa6wZM/EG9Tvcvkbxv1WWqRI3oo8sOe8juVJg1pbW8vQnDJpjglAmsIhXzLXmUqHhoauoUnVwKlgTAsUsIqrq6snqLvhVg5PGoT2PGQ0R9qj/PT09J9uhfF6H/J8RR+WiSELrKx3uaNe+nUNSMt6Xl5eiaCYiIB3BgcHF7wI5OXeCxcuTHB/p8DI1Mjr/a5cm0y3/boGVFRUtEFaYzRHkFjqPTlEt5Nw3geYXwRGgBQJ+r4kB+4quAaE9hQYzREktGcpk4453my7uroGqZuUFhlNAtC2eO0TlbsFlM0yXszAEUWBYt8xnmiwTNUDRpA0N2vziJnV6+uCm/FdAaqrq8sTFPY/VpQGYV6ed61uJrDaPcjVI/MyWqQU+bav1jZRWW6iBqvVl5WV6dtxxNTxhEJTU1P6fLEuAuY/jkzyQZLHvG8WuxHOFSANJO1xDsjqteS8Xss8cMalQbYMFiC0qNyNTKaTlO7lBRTX84//MSkd3AMspQ59bqxPKg7zImst+yVuhnGlQUCJYtPrBshqE0eDrO09cCw749qY2mrN45a5AlRSUhKen5+PBSRtjC2LO3A6K/ioJn9jWYcDUEpfMI18rkwMG1/m80bEGRHq3xcy0/sapci32Qa0smHMqAaNjY1F0CJtUy31FYeJiQkBWheOmgdXa5w0sIyMVyRnqsGVBrFiLTq1R3kt/akOnq727Mt2CJCiHLQiYczNeK4AMVAUH7QgDWJHrc2ifNK6MTHke8YAIi9AF7WyZRJQFgLw+rUYYVOmV40oJhfCD+W5EcLPe1paWhoAUmo0R6AwM1fmJbncalDWli1b5gWHdzArzs3NaQVbc0AAeVlQ7LkZ8+rQZN0E14Da29uXsfVljqdEBUeg8EXaNrjab7gRPvaehoaGrZQ1SnsEiaiX1b7z58/3xrZN9to1IA0AmDmB4YxPpLCwUF8TI7W1tWvmrJHlTaM9DhM7kyyM1dp5AqT/0mEUFhhFPqJFKisrpUEZd9j79u17ASj649Joj9Ixvo//uNrEky3zBEiDyBdhWVH8UZQnGB0eHo7yOVaAMmZqwKkDzqvSHltztK6TDZ1IFkS8dr5MQqcxeIHV//EWJDRpIwNux0dd4izBZLzB/SjXeQDGOQGMrQDSptD89fQbS/tbXsfwrEESAFNb4n95Oeoovkh/QWvV6OSltpsjd81qk45A1ztZwj+g7yqiNEZBcxrF9N/zY0xfACFIVJAwNz29d7iutYXTWcQz7I9et699SzCrFzGjU3RYJSoyL/LKzpK+69f3cV9MDIFM0GZRq0abKUBwQVvmup34Gmp/1dS5Sem/kvveIB4hyqqMSek8gEzsOB/uvyf1JfgNKIudbBtyfoF0Os0qgZftSWgjqfgT8TigfiZNOnAwqwWNeZ4bjqk/UuughMlzPcWDeD/VfhMJ4DsgDchkmpjM52T1d4s1GTs1kJROMLlPSC9ghr20v8YRuimus3Qggg9y1ZRX42OepqiFqCPD0harD/IWIMqlOUO0e5sFYYBrX0NaAElCnYdmVTuN8Ie5tFYXUjO5lYnGlIVpH6/OCdeYk9p+TR8foTnDpL6HtAEykuJMjzCJk1wbbTITdUILU2/K75fCbwXgDfIn8TffmLHSkaYdkBEaUK8A6iWunyRaEByTXYHiLCO/YkaOe65T/CE7ZB1USHvIGCAzE1ahw0zwKLD2UHaIuALHkbe0i3bG3M5R18c9X/Li2U8+YyHjgJwzkzPGuW5jJ6xz0PCI1lAvOHdw2tKUKTaefWfPnk3bMT6nPEE+IBAQCAgEBAICAYGAQEAgIBAQCAgEBAIC/wsCfwM3LbhUlkvVLgAAAABJRU5ErkJggg==);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}.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-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-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}.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--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;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}.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}.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}.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-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;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}.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 { getCurrentInstance, computed, inject, unref, ref, defineComponent, onBeforeUnmount, onMounted, watch, nextTick, onUnmounted, provide,
|
|
42
|
+
import { getCurrentInstance, computed, inject, unref, ref, defineComponent, onBeforeUnmount, onMounted, watch, nextTick, 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
|
}
|
|
@@ -1040,12 +1040,12 @@ function getCurrentUAInfo() {
|
|
|
1040
1040
|
return currentUAInfo || (currentUAInfo = Object.freeze("undefined" != typeof window ? new UAInfo(window.navigator.userAgent, window.navigator) : new UAInfo(""))), currentUAInfo;
|
|
1041
1041
|
}
|
|
1042
1042
|
const ua = navigator.userAgent.toLowerCase();
|
|
1043
|
-
const uaInfo = getCurrentUAInfo();
|
|
1044
|
-
const isAndroid = uaInfo.os.isAndroid;
|
|
1045
|
-
const isIOS = uaInfo.os.isIOS;
|
|
1046
|
-
const weixinVersion = uaInfo.client.version;
|
|
1047
|
-
const isWeixin = uaInfo.client.isWx;
|
|
1048
|
-
const isWorkWeixin = uaInfo.client.isWxWork;
|
|
1043
|
+
const uaInfo$1 = getCurrentUAInfo();
|
|
1044
|
+
const isAndroid$1 = uaInfo$1.os.isAndroid;
|
|
1045
|
+
const isIOS$1 = uaInfo$1.os.isIOS;
|
|
1046
|
+
const weixinVersion = uaInfo$1.client.version;
|
|
1047
|
+
const isWeixin = uaInfo$1.client.isWx;
|
|
1048
|
+
const isWorkWeixin = uaInfo$1.client.isWxWork;
|
|
1049
1049
|
const isPcMiniProgram = (isWeixin || isWorkWeixin) && /miniprogramenv/.test(ua);
|
|
1050
1050
|
function __isMobile() {
|
|
1051
1051
|
const ua2 = navigator.userAgent;
|
|
@@ -1062,7 +1062,7 @@ function __isMobile() {
|
|
|
1062
1062
|
function __isTablet() {
|
|
1063
1063
|
const ua2 = navigator.userAgent;
|
|
1064
1064
|
if (/(?:iPad|PlayBook)/.test(ua2)) return true;
|
|
1065
|
-
if (uaInfo.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
|
|
1065
|
+
if (uaInfo$1.os.isAndroid && !/(?:Mobile)/.test(ua2) || /(?:Tablet)/.test(ua2)) return true;
|
|
1066
1066
|
return false;
|
|
1067
1067
|
}
|
|
1068
1068
|
const isMob = __isMobile();
|
|
@@ -2186,6 +2186,7 @@ const useGlobalInject = () => {
|
|
|
2186
2186
|
};
|
|
2187
2187
|
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": "已确认收货" };
|
|
2188
2188
|
const addressEdit$5 = { "name": "联系人", "namePlaceholder": "请填写联系人姓名", "choiceAddress": "选择地区", "addressPlaceholder": "请选择地区", "phone": "手机号码", "phonePlaceholder": "请填写手机号码", "phoneError": "请输入正确的手机号", "addressDetail": "详细地址", "addressDetailPlaceholder": "请填写详细地址", "error": "请完善信息", "submit": "保存", "deleteConfirm": "确定要删除该地址吗?", "addAddress": "添加地址", "editAddress": "修改地址", "deleteAddress": "删除地址", "addSuccess": "保存成功", "addError": "保存失败", "editSuccess": "修改成功", "editError": "修改失败" };
|
|
2189
|
+
const bigCard$5 = { "title": "商品推荐" };
|
|
2189
2190
|
const zhCNLang = {
|
|
2190
2191
|
"common.confirm": "确认",
|
|
2191
2192
|
"common.cancel": "取消",
|
|
@@ -2213,10 +2214,12 @@ const zhCNLang = {
|
|
|
2213
2214
|
"product.allProduct": "全部商品",
|
|
2214
2215
|
"product.stock.soldOut": "已抢光",
|
|
2215
2216
|
order: order$5,
|
|
2216
|
-
addressEdit: addressEdit$5
|
|
2217
|
+
addressEdit: addressEdit$5,
|
|
2218
|
+
bigCard: bigCard$5
|
|
2217
2219
|
};
|
|
2218
2220
|
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": "已確認收貨" };
|
|
2219
2221
|
const addressEdit$4 = { "name": "聯絡人", "namePlaceholder": "請填寫聯絡人", "choiceAddress": "選擇地區", "addressPlaceholder": "請選擇地區", "phone": "手機號碼", "phonePlaceholder": "請填寫手機號碼", "phoneError": "請輸入正確的手機號", "addressDetail": "詳細地址", "addressDetailPlaceholder": "請填寫詳細地址", "error": "請完善信息", "submit": "保存", "deleteConfirm": "確定要刪除該地址嗎?", "deleteAddress": "刪除地址", "addAddress": "添加地址", "editAddress": "修改地址", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "修改成功", "editError": "修改失敗" };
|
|
2222
|
+
const bigCard$4 = { "title": "商品推薦" };
|
|
2220
2223
|
const zhTWLang = {
|
|
2221
2224
|
"common.confirm": "確認",
|
|
2222
2225
|
"common.cancel": "取消",
|
|
@@ -2244,10 +2247,12 @@ const zhTWLang = {
|
|
|
2244
2247
|
"product.allProduct": "全部商品",
|
|
2245
2248
|
"product.stock.soldOut": "已搶光",
|
|
2246
2249
|
order: order$4,
|
|
2247
|
-
addressEdit: addressEdit$4
|
|
2250
|
+
addressEdit: addressEdit$4,
|
|
2251
|
+
bigCard: bigCard$4
|
|
2248
2252
|
};
|
|
2249
2253
|
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" };
|
|
2250
2254
|
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" };
|
|
2255
|
+
const bigCard$3 = { "title": "Top Picks" };
|
|
2251
2256
|
const enLang = {
|
|
2252
2257
|
"common.confirm": "Confirm",
|
|
2253
2258
|
"common.cancel": "Cancel",
|
|
@@ -2275,10 +2280,12 @@ const enLang = {
|
|
|
2275
2280
|
"product.allProduct": "Products",
|
|
2276
2281
|
"product.stock.soldOut": "Sold Out",
|
|
2277
2282
|
order: order$3,
|
|
2278
|
-
addressEdit: addressEdit$3
|
|
2283
|
+
addressEdit: addressEdit$3,
|
|
2284
|
+
bigCard: bigCard$3
|
|
2279
2285
|
};
|
|
2280
2286
|
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": "確認受け取り完了" };
|
|
2281
2287
|
const addressEdit$2 = { "name": "連絡先", "namePlaceholder": "連絡先を入力", "choiceAddress": "地域を選択", "addressPlaceholder": "地域を選択", "phone": "電話番号", "phonePlaceholder": "電話番号を入力", "phoneError": "正しい電話番号を入力してください", "addressDetail": "詳細住所", "addressDetailPlaceholder": "詳細住所を入力", "error": "情報を入力してください", "submit": "保存", "deleteConfirm": "この住所を削除しますか?", "deleteAddress": "住所を削除", "addAddress": "住所を追加", "editAddress": "住所を編集", "addSuccess": "保存成功", "addError": "保存失敗", "editSuccess": "編集成功", "editError": "編集失敗" };
|
|
2288
|
+
const bigCard$2 = { "title": "商品推薦" };
|
|
2282
2289
|
const jaLang = {
|
|
2283
2290
|
"common.confirm": "確認",
|
|
2284
2291
|
"common.cancel": "キャンセル",
|
|
@@ -2306,10 +2313,12 @@ const jaLang = {
|
|
|
2306
2313
|
"product.allProduct": "すべての商品",
|
|
2307
2314
|
"product.stock.soldOut": "売り切れ",
|
|
2308
2315
|
order: order$2,
|
|
2309
|
-
addressEdit: addressEdit$2
|
|
2316
|
+
addressEdit: addressEdit$2,
|
|
2317
|
+
bigCard: bigCard$2
|
|
2310
2318
|
};
|
|
2311
2319
|
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": "확인 받기 완료" };
|
|
2312
2320
|
const addressEdit$1 = { "name": "연락처", "namePlaceholder": "연락처 입력", "choiceAddress": "지역 선택", "addressPlaceholder": "지역 선택", "phone": "전화번호", "phonePlaceholder": "전화번호 입력", "phoneError": "올바른 전화번호를 입력해주세요", "addressDetail": "상세 주소", "addressDetailPlaceholder": "상세 주소 입력", "error": "정보를 입력해주세요.", "submit": "저장", "deleteConfirm": "주소를 삭제하시겠습니까?", "deleteAddress": "주소 삭제", "addAddress": "주소 추가", "editAddress": "주소 수정", "addSuccess": "저장 성공", "addError": "저장 실패", "editSuccess": "수정 성공", "editError": "수정 실패" };
|
|
2321
|
+
const bigCard$1 = { "title": "상품 추천" };
|
|
2313
2322
|
const koLang = {
|
|
2314
2323
|
"common.confirm": "확인",
|
|
2315
2324
|
"common.cancel": "취소",
|
|
@@ -2337,10 +2346,12 @@ const koLang = {
|
|
|
2337
2346
|
"product.allProduct": "모든 상품",
|
|
2338
2347
|
"product.stock.soldOut": "품절",
|
|
2339
2348
|
order: order$1,
|
|
2340
|
-
addressEdit: addressEdit$1
|
|
2349
|
+
addressEdit: addressEdit$1,
|
|
2350
|
+
bigCard: bigCard$1
|
|
2341
2351
|
};
|
|
2342
2352
|
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": "Получение подтверждено" };
|
|
2343
2353
|
const addressEdit = { "name": "Контактное лицо", "namePlaceholder": "Пожалуйста, введите имя контактного лица", "choiceAddress": "Выберите регион", "addressPlaceholder": "Пожалуйста, выберите регион", "phone": "Номер телефона", "phonePlaceholder": "Пожалуйста, введите номер телефона", "phoneError": "Пожалуйста, введите правильный номер телефона", "addressDetail": "Подробный адрес", "addressDetailPlaceholder": "Пожалуйста, заполните подробный адрес", "error": "Пожалуйста, дополните информацию", "submit": "Сохранить", "deleteConfirm": "Вы уверены, что хотите удалить этот адрес?", "addAddress": "Добавить адрес", "editAddress": "Изменить адрес", "deleteAddress": "Удалить адрес", "addSuccess": "Успешно сохранено", "addError": "Не удалось сохранить", "editSuccess": "Успешно изменено", "editError": "Не удалось изменить" };
|
|
2354
|
+
const bigCard = { "title": "Товары" };
|
|
2344
2355
|
const ruLang = {
|
|
2345
2356
|
"common.confirm": "Подтвердить",
|
|
2346
2357
|
"common.cancel": "Отмена",
|
|
@@ -2368,7 +2379,8 @@ const ruLang = {
|
|
|
2368
2379
|
"product.allProduct": "Все товары",
|
|
2369
2380
|
"product.stock.soldOut": "Распродано",
|
|
2370
2381
|
order,
|
|
2371
|
-
addressEdit
|
|
2382
|
+
addressEdit,
|
|
2383
|
+
bigCard
|
|
2372
2384
|
};
|
|
2373
2385
|
const fullI18nData = {
|
|
2374
2386
|
[LangType.ZH_CN]: zhCNLang,
|
|
@@ -2774,7 +2786,8 @@ function getProductTargetExport(productTarget) {
|
|
|
2774
2786
|
ProductExplainStatus: productTarget.ProductExplainStatus,
|
|
2775
2787
|
ProductMediaType: productTarget.ProductMediaType,
|
|
2776
2788
|
ProductDeliveryType: productTarget.ProductDeliveryType,
|
|
2777
|
-
ProductEvents: productTarget.ProductEvents
|
|
2789
|
+
ProductEvents: productTarget.ProductEvents,
|
|
2790
|
+
ProductPushRule: productTarget.ProductPushRule
|
|
2778
2791
|
};
|
|
2779
2792
|
}
|
|
2780
2793
|
const PRODUCT_PROVIDE_KEY = Symbol("PRODUCT_PROVIDE_KEY");
|
|
@@ -2873,6 +2886,37 @@ const useProductStock = (options) => {
|
|
|
2873
2886
|
isSoldOut
|
|
2874
2887
|
};
|
|
2875
2888
|
};
|
|
2889
|
+
const useProductExplain = (options) => {
|
|
2890
|
+
const { props } = options;
|
|
2891
|
+
const productExplainEnabled = ref(false);
|
|
2892
|
+
function getProductExplainEnabled() {
|
|
2893
|
+
return __async(this, null, function* () {
|
|
2894
|
+
if (!props.productTarget) return;
|
|
2895
|
+
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
2896
|
+
productExplainEnabled.value = enabled;
|
|
2897
|
+
});
|
|
2898
|
+
}
|
|
2899
|
+
function handleClickExplain(product) {
|
|
2900
|
+
return __async(this, null, function* () {
|
|
2901
|
+
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
2902
|
+
props.productConfig.customClickExplainHandler(product);
|
|
2903
|
+
return;
|
|
2904
|
+
}
|
|
2905
|
+
if (!props.productTarget) return;
|
|
2906
|
+
const url = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
2907
|
+
if (url) {
|
|
2908
|
+
window.open(url, "_blank");
|
|
2909
|
+
}
|
|
2910
|
+
});
|
|
2911
|
+
}
|
|
2912
|
+
onMounted(() => {
|
|
2913
|
+
getProductExplainEnabled();
|
|
2914
|
+
});
|
|
2915
|
+
return {
|
|
2916
|
+
productExplainEnabled,
|
|
2917
|
+
handleClickExplain
|
|
2918
|
+
};
|
|
2919
|
+
};
|
|
2876
2920
|
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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";
|
|
2877
2921
|
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
2878
2922
|
__name: "product-explain",
|
|
@@ -3101,6 +3145,104 @@ function concat(i2, r2, t2) {
|
|
|
3101
3145
|
let e = n2.search || "";
|
|
3102
3146
|
return e && "&" !== e.slice(-1) && (e += "&"), e += r2, n2.search = e, joinURL(n2);
|
|
3103
3147
|
}
|
|
3148
|
+
var __awaiter = function(i2, n2, o2, t2) {
|
|
3149
|
+
return new (o2 || (o2 = Promise))(function(e, a2) {
|
|
3150
|
+
function r2(i3) {
|
|
3151
|
+
try {
|
|
3152
|
+
k2(t2.next(i3));
|
|
3153
|
+
} catch (i4) {
|
|
3154
|
+
a2(i4);
|
|
3155
|
+
}
|
|
3156
|
+
}
|
|
3157
|
+
function l2(i3) {
|
|
3158
|
+
try {
|
|
3159
|
+
k2(t2.throw(i3));
|
|
3160
|
+
} catch (i4) {
|
|
3161
|
+
a2(i4);
|
|
3162
|
+
}
|
|
3163
|
+
}
|
|
3164
|
+
function k2(i3) {
|
|
3165
|
+
var n3;
|
|
3166
|
+
i3.done ? e(i3.value) : (n3 = i3.value, n3 instanceof o2 ? n3 : new o2(function(i4) {
|
|
3167
|
+
i4(n3);
|
|
3168
|
+
})).then(r2, l2);
|
|
3169
|
+
}
|
|
3170
|
+
k2((t2 = t2.apply(i2, n2 || [])).next());
|
|
3171
|
+
});
|
|
3172
|
+
};
|
|
3173
|
+
const uaInfo = getCurrentUAInfo();
|
|
3174
|
+
const isAndroid = uaInfo.os.isAndroid;
|
|
3175
|
+
const isIOS = uaInfo.os.isIOS;
|
|
3176
|
+
var LinkType;
|
|
3177
|
+
!function(i2) {
|
|
3178
|
+
i2[i2.Normal = 10] = "Normal", i2[i2.MultiPlatform = 11] = "MultiPlatform", i2[i2.Native = 12] = "Native";
|
|
3179
|
+
}(LinkType || (LinkType = {}));
|
|
3180
|
+
var LinkJumpWay;
|
|
3181
|
+
function getNativeToPointMallFn() {
|
|
3182
|
+
var i2, n2, o2, t2;
|
|
3183
|
+
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;
|
|
3184
|
+
}
|
|
3185
|
+
function toNativeLink(i2) {
|
|
3186
|
+
const { androidLink: n2, iosLink: o2, otherLink: t2 } = i2, e = getNativeToPointMallFn();
|
|
3187
|
+
if (e) {
|
|
3188
|
+
let i3 = isAndroid ? n2 : o2;
|
|
3189
|
+
const t3 = encodeURIComponent(location.href);
|
|
3190
|
+
i3 = concat(i3, { plt_back_uri: t3 });
|
|
3191
|
+
e(JSON.stringify({ url: i3 }));
|
|
3192
|
+
} else window.open(t2, "_blank", "noopener=yes");
|
|
3193
|
+
}
|
|
3194
|
+
function toPlvWebviewBridge(i2) {
|
|
3195
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3196
|
+
const { getPlvWebviewSmallWindowSize: n2, getPlvWebviewBridge: o2 } = i2, t2 = (null == n2 ? void 0 : n2()) || { width: 90, height: 160 }, e = yield null == o2 ? void 0 : o2();
|
|
3197
|
+
e && e.sendData("clickProduct", { width: t2.width, height: t2.height, newPage: true, link: i2.link, data: i2.data });
|
|
3198
|
+
});
|
|
3199
|
+
}
|
|
3200
|
+
function toMultiPlatformLink(i2) {
|
|
3201
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3202
|
+
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;
|
|
3203
|
+
let u2 = false;
|
|
3204
|
+
try {
|
|
3205
|
+
u2 = (yield null == o2 ? void 0 : o2()) || false;
|
|
3206
|
+
} catch (i3) {
|
|
3207
|
+
u2 = false;
|
|
3208
|
+
}
|
|
3209
|
+
u2 && l2 && t2 ? t2(formatLink(l2, a2)) : s2 && k2 ? e(formatLink(k2, a2), LinkJumpWay.NewWindow) : !s2 && d2 && e(formatLink(d2, a2), LinkJumpWay.NewWindow);
|
|
3210
|
+
});
|
|
3211
|
+
}
|
|
3212
|
+
!function(i2) {
|
|
3213
|
+
i2.PopUp = "POP_UP", i2.NewWindow = "NEW_WINDOW", i2.CurrentWindow = "CURRENT_WINDOW";
|
|
3214
|
+
}(LinkJumpWay || (LinkJumpWay = {}));
|
|
3215
|
+
function formatLink(i2, n2) {
|
|
3216
|
+
let o2 = {};
|
|
3217
|
+
if (n2) {
|
|
3218
|
+
const t2 = n2(i2);
|
|
3219
|
+
o2 = Object.assign({}, o2, t2);
|
|
3220
|
+
}
|
|
3221
|
+
return concat(i2, o2);
|
|
3222
|
+
}
|
|
3223
|
+
function navigateToLink(i2) {
|
|
3224
|
+
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;
|
|
3225
|
+
if (s2 !== LinkType.Native) {
|
|
3226
|
+
if (u2) {
|
|
3227
|
+
let i3 = "";
|
|
3228
|
+
const { link: o3, mobileLink: t3, mobileAppLink: r3, wxMiniprogramOriginalId: l3, wxMiniprogramLink: d3 } = n2;
|
|
3229
|
+
switch (s2) {
|
|
3230
|
+
case LinkType.Normal:
|
|
3231
|
+
i3 = o3;
|
|
3232
|
+
break;
|
|
3233
|
+
case LinkType.MultiPlatform:
|
|
3234
|
+
i3 = r3 || t3;
|
|
3235
|
+
}
|
|
3236
|
+
let u3 = null;
|
|
3237
|
+
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 });
|
|
3238
|
+
}
|
|
3239
|
+
if (s2 !== LinkType.Normal) s2 === LinkType.MultiPlatform && toMultiPlatformLink({ linkData: n2, getLinkParams: k2, isWxMiniProgramEnv: r2, toWxMiniProgram: l2, openLink: o2, isMobile: d2 });
|
|
3240
|
+
else {
|
|
3241
|
+
const { link: i3, jumpWay: t3 } = n2;
|
|
3242
|
+
o2(formatLink(i3, k2), t3);
|
|
3243
|
+
}
|
|
3244
|
+
} else toNativeLink({ androidLink: formatLink(n2.androidLink, k2), iosLink: formatLink(n2.iosLink, k2), otherLink: formatLink(n2.otherLink, k2) });
|
|
3245
|
+
}
|
|
3104
3246
|
const useTrackEvent = (iarCore) => {
|
|
3105
3247
|
const { injectData } = useGlobalInject();
|
|
3106
3248
|
function trackEvent(data) {
|
|
@@ -3114,7 +3256,7 @@ const useTrackEvent = (iarCore) => {
|
|
|
3114
3256
|
trackEvent
|
|
3115
3257
|
};
|
|
3116
3258
|
};
|
|
3117
|
-
const htmlChars = ['"', "'", "&", "<", ">"], htmlEntities = [""", "'", "&", "<", ">"], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
|
|
3259
|
+
const htmlChars = ['"', "'", "&", "<", ">", " "], htmlEntities = [""", "'", "&", "<", ">", " "], charsToEntities = /* @__PURE__ */ Object.create(null), entitiesToChars = /* @__PURE__ */ Object.create(null);
|
|
3118
3260
|
htmlChars.forEach((n2, e) => {
|
|
3119
3261
|
charsToEntities[n2] = htmlEntities[e], entitiesToChars[htmlEntities[e]] = n2;
|
|
3120
3262
|
});
|
|
@@ -3169,7 +3311,7 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
3169
3311
|
}
|
|
3170
3312
|
const wx = yield injectData.getWeixinSdk();
|
|
3171
3313
|
(_a = wx == null ? void 0 : wx.miniProgram) == null ? void 0 : _a.navigateTo({
|
|
3172
|
-
url
|
|
3314
|
+
url: url.startsWith("/") ? url : `/${url}`
|
|
3173
3315
|
});
|
|
3174
3316
|
return;
|
|
3175
3317
|
});
|
|
@@ -3224,7 +3366,9 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
3224
3366
|
watch(
|
|
3225
3367
|
() => [weixinBtnRef.value, supportWxOpenLaunchWeapp.value, buttonOptions.value],
|
|
3226
3368
|
() => {
|
|
3227
|
-
|
|
3369
|
+
setTimeout(() => {
|
|
3370
|
+
createWxMiniProgramButton();
|
|
3371
|
+
}, 500);
|
|
3228
3372
|
},
|
|
3229
3373
|
{
|
|
3230
3374
|
immediate: true
|
|
@@ -3241,25 +3385,25 @@ const useWeixinButton = (hookOptions = {}) => {
|
|
|
3241
3385
|
};
|
|
3242
3386
|
};
|
|
3243
3387
|
const useAppNative = () => {
|
|
3244
|
-
function
|
|
3388
|
+
function getNativeToPointMallFn2() {
|
|
3245
3389
|
var _a, _b, _c, _d;
|
|
3246
|
-
if (isAndroid) {
|
|
3390
|
+
if (isAndroid$1) {
|
|
3247
3391
|
return (_a = window.AndroidNative) == null ? void 0 : _a.toPointMall;
|
|
3248
|
-
} else if (isIOS) {
|
|
3392
|
+
} else if (isIOS$1) {
|
|
3249
3393
|
return (_d = (_c = (_b = window.webkit) == null ? void 0 : _b.messageHandlers) == null ? void 0 : _c.gotoPointsMall) == null ? void 0 : _d.postMessage;
|
|
3250
3394
|
}
|
|
3251
3395
|
}
|
|
3252
3396
|
function supportNativeToPointMall() {
|
|
3253
|
-
return !!
|
|
3397
|
+
return !!getNativeToPointMallFn2();
|
|
3254
3398
|
}
|
|
3255
3399
|
const supportAppNative = computed(() => {
|
|
3256
3400
|
return supportNativeToPointMall();
|
|
3257
3401
|
});
|
|
3258
|
-
function
|
|
3402
|
+
function toNativeLink2(options) {
|
|
3259
3403
|
const { androidLink, iosLink, otherLink } = options;
|
|
3260
|
-
const nativePointMallFn =
|
|
3404
|
+
const nativePointMallFn = getNativeToPointMallFn2();
|
|
3261
3405
|
if (nativePointMallFn) {
|
|
3262
|
-
let url = isAndroid ? androidLink : iosLink;
|
|
3406
|
+
let url = isAndroid$1 ? androidLink : iosLink;
|
|
3263
3407
|
const pltBackUri = encodeURIComponent(location.href);
|
|
3264
3408
|
url = concat(url, {
|
|
3265
3409
|
plt_back_uri: pltBackUri
|
|
@@ -3273,60 +3417,10 @@ const useAppNative = () => {
|
|
|
3273
3417
|
window.open(otherLink, "_blank", "noopener=yes");
|
|
3274
3418
|
}
|
|
3275
3419
|
return {
|
|
3276
|
-
getNativeToPointMallFn,
|
|
3420
|
+
getNativeToPointMallFn: getNativeToPointMallFn2,
|
|
3277
3421
|
supportNativeToPointMall,
|
|
3278
3422
|
supportAppNative,
|
|
3279
|
-
toNativeLink
|
|
3280
|
-
};
|
|
3281
|
-
};
|
|
3282
|
-
const usePolyvWebview = () => {
|
|
3283
|
-
const { injectData } = useGlobalInject();
|
|
3284
|
-
const isPlvWebview = ref(false);
|
|
3285
|
-
const supportPlvWebview = computed(() => {
|
|
3286
|
-
return isPlvWebview.value;
|
|
3287
|
-
});
|
|
3288
|
-
function getPlvWebviewBridge() {
|
|
3289
|
-
return __async(this, null, function* () {
|
|
3290
|
-
if (injectData.getPlvWebviewBridge) {
|
|
3291
|
-
return yield injectData.getPlvWebviewBridge();
|
|
3292
|
-
}
|
|
3293
|
-
});
|
|
3294
|
-
}
|
|
3295
|
-
function toPlvWebviewBridge(options) {
|
|
3296
|
-
return __async(this, null, function* () {
|
|
3297
|
-
if (!supportPlvWebview.value) {
|
|
3298
|
-
return;
|
|
3299
|
-
}
|
|
3300
|
-
let plvWebviewDataSize = {
|
|
3301
|
-
width: 90,
|
|
3302
|
-
height: 160
|
|
3303
|
-
};
|
|
3304
|
-
if (injectData.getPlvWebviewSmallWindowSize) {
|
|
3305
|
-
plvWebviewDataSize = injectData.getPlvWebviewSmallWindowSize();
|
|
3306
|
-
}
|
|
3307
|
-
const webviewBridge = yield getPlvWebviewBridge();
|
|
3308
|
-
if (!webviewBridge) {
|
|
3309
|
-
return;
|
|
3310
|
-
}
|
|
3311
|
-
webviewBridge.sendData("clickProduct", {
|
|
3312
|
-
width: plvWebviewDataSize.width,
|
|
3313
|
-
height: plvWebviewDataSize.height,
|
|
3314
|
-
newPage: true,
|
|
3315
|
-
link: options.link,
|
|
3316
|
-
data: options.data
|
|
3317
|
-
});
|
|
3318
|
-
});
|
|
3319
|
-
}
|
|
3320
|
-
onMounted(() => {
|
|
3321
|
-
if (injectData.isPlvWebview) {
|
|
3322
|
-
isPlvWebview.value = injectData.isPlvWebview();
|
|
3323
|
-
}
|
|
3324
|
-
});
|
|
3325
|
-
return {
|
|
3326
|
-
isPlvWebview,
|
|
3327
|
-
supportPlvWebview,
|
|
3328
|
-
getPlvWebviewBridge,
|
|
3329
|
-
toPlvWebviewBridge
|
|
3423
|
+
toNativeLink: toNativeLink2
|
|
3330
3424
|
};
|
|
3331
3425
|
};
|
|
3332
3426
|
const productButtonProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
@@ -3345,12 +3439,12 @@ const useProductButton = (options) => {
|
|
|
3345
3439
|
const { isSoldOut } = useProductStock({
|
|
3346
3440
|
product: () => props.productData
|
|
3347
3441
|
});
|
|
3348
|
-
const { getEmitter } = useGlobalInject();
|
|
3442
|
+
const { getEmitter, injectData } = useGlobalInject();
|
|
3349
3443
|
const { $t } = useI18n();
|
|
3350
3444
|
const productConfig = computed(() => {
|
|
3351
3445
|
return props.productConfig;
|
|
3352
3446
|
});
|
|
3353
|
-
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram } = useWeixinButton({
|
|
3447
|
+
const { isWxMiniProgramWebview, supportWxOpenLaunchWeapp, weixinBtnRef, toWxMiniProgram, supportWxMiniProgramNavigateTo } = useWeixinButton({
|
|
3354
3448
|
getButtonOptions: () => {
|
|
3355
3449
|
const productData = props.productData;
|
|
3356
3450
|
return {
|
|
@@ -3361,10 +3455,9 @@ const useProductButton = (options) => {
|
|
|
3361
3455
|
},
|
|
3362
3456
|
launchCallback: () => sendClickEvent()
|
|
3363
3457
|
});
|
|
3364
|
-
const { supportAppNative
|
|
3365
|
-
const { supportPlvWebview, toPlvWebviewBridge } = usePolyvWebview();
|
|
3458
|
+
const { supportAppNative } = useAppNative();
|
|
3366
3459
|
const { trackEvent } = useTrackEvent(props.productTarget.iarCore);
|
|
3367
|
-
const { ProductBuyType, ProductType
|
|
3460
|
+
const { ProductBuyType, ProductType } = getProductTargetExport(props.productTarget);
|
|
3368
3461
|
const isDirectBuy = computed(() => {
|
|
3369
3462
|
return props.productData.productType === ProductType.Normal && props.productData.buyType === ProductBuyType.DirectBuy;
|
|
3370
3463
|
});
|
|
@@ -3391,13 +3484,13 @@ const useProductButton = (options) => {
|
|
|
3391
3484
|
if (isDirectBuy.value) {
|
|
3392
3485
|
return false;
|
|
3393
3486
|
}
|
|
3394
|
-
if (productData.linkType ===
|
|
3487
|
+
if (productData.linkType === LinkType.Normal) {
|
|
3395
3488
|
return !productData.link;
|
|
3396
3489
|
}
|
|
3397
|
-
if (productData.linkType ===
|
|
3490
|
+
if (productData.linkType === LinkType.MultiPlatform) {
|
|
3398
3491
|
return isMultiPlatformDisabled.value;
|
|
3399
3492
|
}
|
|
3400
|
-
if (productData.linkType ===
|
|
3493
|
+
if (productData.linkType === LinkType.Native) {
|
|
3401
3494
|
if (supportAppNative.value) {
|
|
3402
3495
|
return !productData.androidLink && !productData.iosLink;
|
|
3403
3496
|
}
|
|
@@ -3456,9 +3549,26 @@ const useProductButton = (options) => {
|
|
|
3456
3549
|
}
|
|
3457
3550
|
return concat(url, urlParams);
|
|
3458
3551
|
}
|
|
3552
|
+
function getLinkData() {
|
|
3553
|
+
const productData = props.productData;
|
|
3554
|
+
const linkData = {
|
|
3555
|
+
linkType: productData.linkType,
|
|
3556
|
+
jumpWay: productData.jumpWay,
|
|
3557
|
+
link: productData.link,
|
|
3558
|
+
pcLink: productData.pcLink,
|
|
3559
|
+
mobileLink: productData.mobileLink,
|
|
3560
|
+
mobileAppLink: productData.mobileAppLink,
|
|
3561
|
+
androidLink: productData.androidLink,
|
|
3562
|
+
iosLink: productData.iosLink,
|
|
3563
|
+
otherLink: productData.otherLink,
|
|
3564
|
+
wxMiniprogramOriginalId: productData.wxMiniprogramOriginalId,
|
|
3565
|
+
wxMiniprogramAppId: productData.wxMiniprogramAppId,
|
|
3566
|
+
wxMiniprogramLink: productData.wxMiniprogramLink
|
|
3567
|
+
};
|
|
3568
|
+
return linkData;
|
|
3569
|
+
}
|
|
3459
3570
|
function onClickLinkBtn() {
|
|
3460
3571
|
const productData = props.productData;
|
|
3461
|
-
const { linkType } = productData;
|
|
3462
3572
|
sendClickEvent();
|
|
3463
3573
|
if (productConfig.value.customClickButtonHandler) {
|
|
3464
3574
|
productConfig.value.customClickButtonHandler(productData);
|
|
@@ -3468,70 +3578,28 @@ const useProductButton = (options) => {
|
|
|
3468
3578
|
toDirectBuy();
|
|
3469
3579
|
return;
|
|
3470
3580
|
}
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
case ProductLinkType.Normal:
|
|
3484
|
-
linkTo = link;
|
|
3485
|
-
break;
|
|
3486
|
-
case ProductLinkType.MultiPlatform:
|
|
3487
|
-
linkTo = mobileAppLink || mobileLink;
|
|
3488
|
-
break;
|
|
3489
|
-
}
|
|
3490
|
-
let otherData = null;
|
|
3491
|
-
if (productData.linkType !== ProductLinkType.Normal) {
|
|
3492
|
-
otherData = {
|
|
3493
|
-
mobileLink: formatProductLink(mobileLink),
|
|
3494
|
-
wxMiniprogramOriginalId,
|
|
3495
|
-
wxMiniprogramLink: formatProductLink(wxMiniprogramLink),
|
|
3496
|
-
mobileAppLink: formatProductLink(mobileAppLink)
|
|
3497
|
-
};
|
|
3498
|
-
}
|
|
3499
|
-
toPlvWebviewBridge({
|
|
3500
|
-
link: formatProductLink(linkTo),
|
|
3501
|
-
data: otherData
|
|
3502
|
-
});
|
|
3503
|
-
return;
|
|
3504
|
-
}
|
|
3505
|
-
if (linkType === ProductLinkType.Normal) {
|
|
3506
|
-
const { link, jumpWay } = productData;
|
|
3507
|
-
openLink(formatProductLink(link), jumpWay);
|
|
3508
|
-
return;
|
|
3509
|
-
}
|
|
3510
|
-
if (linkType === ProductLinkType.MultiPlatform) {
|
|
3511
|
-
const { wxMiniprogramLink, mobileLink, pcLink } = productData;
|
|
3512
|
-
if (isWxMiniProgramWebview.value && wxMiniprogramLink) {
|
|
3513
|
-
toWxMiniProgram(formatProductLink(wxMiniprogramLink));
|
|
3514
|
-
return;
|
|
3515
|
-
}
|
|
3516
|
-
if (isMobile) {
|
|
3517
|
-
openLink(formatProductLink(mobileLink), ProductLinkJumpWay.NewWindow);
|
|
3518
|
-
return;
|
|
3519
|
-
}
|
|
3520
|
-
if (!isMobile) {
|
|
3521
|
-
openLink(formatProductLink(pcLink), ProductLinkJumpWay.NewWindow);
|
|
3522
|
-
return;
|
|
3523
|
-
}
|
|
3524
|
-
}
|
|
3581
|
+
const linkData = getLinkData();
|
|
3582
|
+
navigateToLink({
|
|
3583
|
+
linkData,
|
|
3584
|
+
getLinkParams: productConfig.value.getLinkParams,
|
|
3585
|
+
openLink,
|
|
3586
|
+
isPlvWebview: injectData.isPlvWebview,
|
|
3587
|
+
isMobile: injectData.isMobile,
|
|
3588
|
+
getPlvWebviewBridge: injectData.getPlvWebviewBridge,
|
|
3589
|
+
getPlvWebviewSmallWindowSize: injectData.getPlvWebviewSmallWindowSize,
|
|
3590
|
+
isWxMiniProgramEnv: supportWxMiniProgramNavigateTo,
|
|
3591
|
+
toWxMiniProgram
|
|
3592
|
+
});
|
|
3525
3593
|
}
|
|
3526
3594
|
function openLink(url, jumpWay) {
|
|
3527
3595
|
switch (jumpWay) {
|
|
3528
|
-
case
|
|
3596
|
+
case LinkJumpWay.NewWindow:
|
|
3529
3597
|
window.open(url, "_blank", "noopener=yes");
|
|
3530
3598
|
break;
|
|
3531
|
-
case
|
|
3599
|
+
case LinkJumpWay.CurrentWindow:
|
|
3532
3600
|
window.location.href = url;
|
|
3533
3601
|
break;
|
|
3534
|
-
case
|
|
3602
|
+
case LinkJumpWay.PopUp:
|
|
3535
3603
|
getEmitter().emit(productEvents.OpenProductIframeLinkPopup, url);
|
|
3536
3604
|
break;
|
|
3537
3605
|
default:
|
|
@@ -3554,7 +3622,7 @@ const useProductButton = (options) => {
|
|
|
3554
3622
|
name: productData.name,
|
|
3555
3623
|
productId: productData.productId,
|
|
3556
3624
|
productType: productData.productType,
|
|
3557
|
-
productPushRule: data == null ? void 0 : data.pushRule
|
|
3625
|
+
productPushRule: (data == null ? void 0 : data.pushRule) || ""
|
|
3558
3626
|
}
|
|
3559
3627
|
});
|
|
3560
3628
|
props.productTarget.sendProductClickEvent({
|
|
@@ -4495,6 +4563,7 @@ const useDynamicHeight = (options) => {
|
|
|
4495
4563
|
if (props.fillBody) {
|
|
4496
4564
|
return "90%";
|
|
4497
4565
|
}
|
|
4566
|
+
if (isHorizontalScreenOrientation.value) return document.documentElement.clientHeight;
|
|
4498
4567
|
if (props.enableDynamicHeight) {
|
|
4499
4568
|
return document.documentElement.clientHeight * dynamicContentHeightPercent.value;
|
|
4500
4569
|
}
|
|
@@ -4609,63 +4678,194 @@ const useDynamicHeight = (options) => {
|
|
|
4609
4678
|
}
|
|
4610
4679
|
});
|
|
4611
4680
|
const supportWebP = /* @__PURE__ */ (() => {
|
|
4612
|
-
let
|
|
4681
|
+
let e;
|
|
4613
4682
|
return () => {
|
|
4614
|
-
if (null ==
|
|
4615
|
-
|
|
4616
|
-
const
|
|
4617
|
-
if (
|
|
4618
|
-
const
|
|
4619
|
-
return 0 ===
|
|
4683
|
+
if (null == e) try {
|
|
4684
|
+
e = function() {
|
|
4685
|
+
const e2 = document.createElement("canvas");
|
|
4686
|
+
if (e2.getContext && e2.getContext("2d")) {
|
|
4687
|
+
const A2 = "image/webp";
|
|
4688
|
+
return 0 === e2.toDataURL(A2).indexOf("data:" + A2);
|
|
4620
4689
|
}
|
|
4621
4690
|
return false;
|
|
4691
|
+
}() || function() {
|
|
4692
|
+
let e2 = false;
|
|
4693
|
+
const A2 = navigator.userAgent, t2 = /\bOS\s([\d_.]+)\slike\sMac\sOS\sX\b/.exec(A2);
|
|
4694
|
+
if (t2) e2 = parseInt(t2[1]) >= 14;
|
|
4695
|
+
else {
|
|
4696
|
+
const t3 = /\bVersion\/([\d.]+)\sSafari\b/.exec(A2);
|
|
4697
|
+
t3 && (e2 = parseInt(t3[1]) >= 16);
|
|
4698
|
+
}
|
|
4699
|
+
return e2;
|
|
4622
4700
|
}();
|
|
4623
|
-
} catch (
|
|
4624
|
-
|
|
4701
|
+
} catch (A2) {
|
|
4702
|
+
e = false;
|
|
4625
4703
|
}
|
|
4626
|
-
return
|
|
4704
|
+
return e;
|
|
4627
4705
|
};
|
|
4628
4706
|
})();
|
|
4629
|
-
function getExtname(
|
|
4630
|
-
const
|
|
4707
|
+
function getExtname(e) {
|
|
4708
|
+
const A2 = (e || "").split("."), t2 = A2[A2.length - 1];
|
|
4631
4709
|
return t2 ? t2.toLowerCase() : "";
|
|
4632
4710
|
}
|
|
4633
|
-
function handleCompressOptions(
|
|
4634
|
-
var
|
|
4635
|
-
const
|
|
4636
|
-
return
|
|
4711
|
+
function handleCompressOptions(e) {
|
|
4712
|
+
var A2, t2;
|
|
4713
|
+
const n2 = "number" == typeof e ? { width: e } : e;
|
|
4714
|
+
return n2.allowJPG = null === (A2 = n2.allowJPG) || void 0 === A2 || A2, n2.allowWebP = null !== (t2 = n2.allowWebP) && void 0 !== t2 ? t2 : "auto", n2;
|
|
4637
4715
|
}
|
|
4638
|
-
function createURLObject(
|
|
4639
|
-
let
|
|
4716
|
+
function createURLObject(e) {
|
|
4717
|
+
let A2;
|
|
4640
4718
|
if ("undefined" != typeof document) {
|
|
4641
4719
|
const t2 = document.createElement("a");
|
|
4642
|
-
t2.href =
|
|
4720
|
+
t2.href = e, A2 = t2;
|
|
4643
4721
|
} else if ("function" == typeof URL) try {
|
|
4644
|
-
|
|
4645
|
-
} catch (
|
|
4722
|
+
A2 = new URL(/^\/\//.test(e) ? "https:" + e : e);
|
|
4723
|
+
} catch (e2) {
|
|
4646
4724
|
}
|
|
4647
|
-
return
|
|
4725
|
+
return A2;
|
|
4648
4726
|
}
|
|
4649
|
-
function genOSSCompressParams(
|
|
4727
|
+
function genOSSCompressParams(e, A2) {
|
|
4650
4728
|
let t2 = "";
|
|
4651
|
-
return null ==
|
|
4729
|
+
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;
|
|
4652
4730
|
}
|
|
4653
|
-
function setOSSCompressParams(
|
|
4731
|
+
function setOSSCompressParams(e, A2) {
|
|
4654
4732
|
let t2 = false;
|
|
4655
|
-
return
|
|
4656
|
-
}
|
|
4657
|
-
function ossCompress(
|
|
4658
|
-
const t2 = createURLObject(
|
|
4659
|
-
if (!t2) return
|
|
4660
|
-
|
|
4661
|
-
|
|
4733
|
+
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;
|
|
4734
|
+
}
|
|
4735
|
+
function ossCompress(e, A2) {
|
|
4736
|
+
const t2 = createURLObject(e);
|
|
4737
|
+
if (!t2) return e;
|
|
4738
|
+
const n2 = getExtname(t2.pathname.split("/").pop());
|
|
4739
|
+
if (!/\.videocc\.net$/i.test(t2.hostname) || "svg" === n2) return e;
|
|
4740
|
+
const r2 = genOSSCompressParams(n2, handleCompressOptions(A2));
|
|
4662
4741
|
return r2 && (t2.search = setOSSCompressParams(t2.search, r2)), t2.href;
|
|
4663
4742
|
}
|
|
4743
|
+
var ProductItemScene = /* @__PURE__ */ ((ProductItemScene2) => {
|
|
4744
|
+
ProductItemScene2["ProductList"] = "productList";
|
|
4745
|
+
ProductItemScene2["BigCard"] = "bigCard";
|
|
4746
|
+
ProductItemScene2["AggregateStation"] = "aggregateStation";
|
|
4747
|
+
return ProductItemScene2;
|
|
4748
|
+
})(ProductItemScene || {});
|
|
4749
|
+
const useProductTrack = (options) => {
|
|
4750
|
+
const { productTarget } = options;
|
|
4751
|
+
const { ProductType } = getProductTargetExport(productTarget);
|
|
4752
|
+
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
4753
|
+
const trackedProductIds = ref({});
|
|
4754
|
+
const productListRef = ref(null);
|
|
4755
|
+
const productItemsRef = shallowRef([]);
|
|
4756
|
+
function setItemRef(el) {
|
|
4757
|
+
if (el) {
|
|
4758
|
+
productItemsRef.value.push(el);
|
|
4759
|
+
}
|
|
4760
|
+
}
|
|
4761
|
+
function trackProductViewEvent(productData) {
|
|
4762
|
+
const specAttrs = {
|
|
4763
|
+
name: productData.name,
|
|
4764
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
4765
|
+
productId: productData.productId,
|
|
4766
|
+
productType: productData.productType,
|
|
4767
|
+
productFeature: JSON.stringify(productData.featureTags)
|
|
4768
|
+
};
|
|
4769
|
+
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
4770
|
+
specAttrs.price = productData.originPrice;
|
|
4771
|
+
}
|
|
4772
|
+
trackEvent({
|
|
4773
|
+
event_id: "product_list_item_view",
|
|
4774
|
+
event_type: "show",
|
|
4775
|
+
spec_attrs: specAttrs
|
|
4776
|
+
});
|
|
4777
|
+
}
|
|
4778
|
+
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
4779
|
+
const offsetTop = element.offsetTop;
|
|
4780
|
+
const offsetHeight = element.offsetHeight;
|
|
4781
|
+
const elementBottom = offsetTop + offsetHeight;
|
|
4782
|
+
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
4783
|
+
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
4784
|
+
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
4785
|
+
}
|
|
4786
|
+
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
4787
|
+
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
4788
|
+
return;
|
|
4789
|
+
}
|
|
4790
|
+
const element = itemInstance.$el;
|
|
4791
|
+
const productId = itemInstance.product.productId;
|
|
4792
|
+
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
4793
|
+
if (isVisible && !trackedProductIds.value[productId]) {
|
|
4794
|
+
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
4795
|
+
trackProductViewEvent(itemInstance.product);
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4798
|
+
function trackProduct() {
|
|
4799
|
+
return __async(this, null, function* () {
|
|
4800
|
+
yield nextTick();
|
|
4801
|
+
const container = productListRef.value;
|
|
4802
|
+
if (!container || !productItemsRef.value.length) return;
|
|
4803
|
+
const scrollTop = container.scrollTop;
|
|
4804
|
+
const scrollClientHeight = container.clientHeight;
|
|
4805
|
+
const viewportBottom = scrollTop + scrollClientHeight;
|
|
4806
|
+
productItemsRef.value.forEach((itemInstance) => {
|
|
4807
|
+
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
4808
|
+
});
|
|
4809
|
+
});
|
|
4810
|
+
}
|
|
4811
|
+
function clearTrackedProducts() {
|
|
4812
|
+
trackedProductIds.value = {};
|
|
4813
|
+
productItemsRef.value = [];
|
|
4814
|
+
}
|
|
4815
|
+
function getCommonSpecAttrs(productData) {
|
|
4816
|
+
return {
|
|
4817
|
+
clickTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
4818
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
4819
|
+
productName: productData.name,
|
|
4820
|
+
productId: productData.productId,
|
|
4821
|
+
productType: productData.productType,
|
|
4822
|
+
feature: JSON.stringify(productData.featureTags),
|
|
4823
|
+
price: productData.productType === ProductType.Normal ? productData.originPrice : "",
|
|
4824
|
+
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : ""
|
|
4825
|
+
};
|
|
4826
|
+
}
|
|
4827
|
+
function trackProductItemClick(productData) {
|
|
4828
|
+
trackEvent({
|
|
4829
|
+
event_id: "product_list_item_click",
|
|
4830
|
+
event_type: "click",
|
|
4831
|
+
spec_attrs: __spreadValues({}, getCommonSpecAttrs(productData))
|
|
4832
|
+
});
|
|
4833
|
+
}
|
|
4834
|
+
function trackProductPushItemClick(productData) {
|
|
4835
|
+
trackEvent({
|
|
4836
|
+
event_id: "product_push_item_click",
|
|
4837
|
+
event_type: "click",
|
|
4838
|
+
spec_attrs: __spreadProps(__spreadValues({}, getCommonSpecAttrs(productData)), {
|
|
4839
|
+
pushId: productData.pushLogId || ""
|
|
4840
|
+
})
|
|
4841
|
+
});
|
|
4842
|
+
}
|
|
4843
|
+
function trackProductPushItemView(productData) {
|
|
4844
|
+
trackEvent({
|
|
4845
|
+
event_id: "product_push_item_view",
|
|
4846
|
+
event_type: "show",
|
|
4847
|
+
spec_attrs: {
|
|
4848
|
+
linkType: isMobile ? "mobile" : "pc",
|
|
4849
|
+
productId: productData.productId,
|
|
4850
|
+
pushId: productData.pushLogId || ""
|
|
4851
|
+
}
|
|
4852
|
+
});
|
|
4853
|
+
}
|
|
4854
|
+
return {
|
|
4855
|
+
productListRef,
|
|
4856
|
+
setItemRef,
|
|
4857
|
+
trackProduct,
|
|
4858
|
+
clearTrackedProducts,
|
|
4859
|
+
trackProductItemClick,
|
|
4860
|
+
trackProductPushItemClick,
|
|
4861
|
+
trackProductPushItemView
|
|
4862
|
+
};
|
|
4863
|
+
};
|
|
4664
4864
|
const productItemProps = () => __spreadProps(__spreadValues({}, productProps()), {
|
|
4665
|
-
product: PropUtils.object().isRequired
|
|
4865
|
+
product: PropUtils.object().isRequired,
|
|
4866
|
+
scene: PropUtils.enum()
|
|
4666
4867
|
});
|
|
4667
4868
|
const productItemEmits = () => ({
|
|
4668
|
-
"click-explain": emitFunc(),
|
|
4669
4869
|
"click-product-item": emitFunc(),
|
|
4670
4870
|
"direct-buy": emitFunc()
|
|
4671
4871
|
});
|
|
@@ -4673,20 +4873,14 @@ const useProductItem = (options) => {
|
|
|
4673
4873
|
const { props, emit } = options;
|
|
4674
4874
|
const { ProductType, ProductBuyType } = getProductTargetExport(props.productTarget);
|
|
4675
4875
|
const { getEmitter } = useGlobalInject();
|
|
4676
|
-
const productExplainEnabled =
|
|
4876
|
+
const { productExplainEnabled, handleClickExplain } = useProductExplain({ props });
|
|
4877
|
+
const { trackProductItemClick, trackProductPushItemClick } = useProductTrack({ productTarget: props.productTarget });
|
|
4677
4878
|
const isProductRedirectLinkDirectly = ref(false);
|
|
4678
4879
|
const shouldEllipsisTitle = computed(() => {
|
|
4679
4880
|
const { product } = props;
|
|
4680
4881
|
return !!(product.name && product.featureTags.length && (product.description && product.productType !== ProductType.Position));
|
|
4681
4882
|
});
|
|
4682
|
-
function
|
|
4683
|
-
return __async(this, null, function* () {
|
|
4684
|
-
if (!props.productTarget) return;
|
|
4685
|
-
const enabled = yield props.productTarget.getProductExplainEnabled();
|
|
4686
|
-
productExplainEnabled.value = enabled;
|
|
4687
|
-
});
|
|
4688
|
-
}
|
|
4689
|
-
function setIsProductRedirectLinkDirectly() {
|
|
4883
|
+
function getIsProductRedirectLinkDirectly() {
|
|
4690
4884
|
return __async(this, null, function* () {
|
|
4691
4885
|
const { product, productTarget } = props;
|
|
4692
4886
|
if (!product || !productTarget) return false;
|
|
@@ -4694,11 +4888,13 @@ const useProductItem = (options) => {
|
|
|
4694
4888
|
isProductRedirectLinkDirectly.value = product.productType === ProductType.Normal && product.buyType === ProductBuyType.Link && enabled;
|
|
4695
4889
|
});
|
|
4696
4890
|
}
|
|
4697
|
-
function onClickExplain(product) {
|
|
4698
|
-
emit("click-explain", product);
|
|
4699
|
-
}
|
|
4700
4891
|
function onClickProductItem() {
|
|
4701
4892
|
emit("click-product-item", props.product);
|
|
4893
|
+
if (props.scene === ProductItemScene.BigCard) {
|
|
4894
|
+
trackProductPushItemClick(props.product);
|
|
4895
|
+
} else {
|
|
4896
|
+
trackProductItemClick(props.product);
|
|
4897
|
+
}
|
|
4702
4898
|
if (props.product.productType !== ProductType.Finance) {
|
|
4703
4899
|
getEmitter().emit(productEvents.OpenProductDetailPopup, props.product);
|
|
4704
4900
|
}
|
|
@@ -4706,18 +4902,15 @@ const useProductItem = (options) => {
|
|
|
4706
4902
|
function onDirectBuy(product) {
|
|
4707
4903
|
emit("direct-buy", product);
|
|
4708
4904
|
}
|
|
4709
|
-
onMounted(() => {
|
|
4710
|
-
setProductExplainEnabled();
|
|
4711
|
-
});
|
|
4712
4905
|
watchEffect(() => {
|
|
4713
|
-
|
|
4906
|
+
getIsProductRedirectLinkDirectly();
|
|
4714
4907
|
});
|
|
4715
4908
|
return {
|
|
4716
4909
|
productExplainEnabled,
|
|
4717
4910
|
isProductRedirectLinkDirectly,
|
|
4718
4911
|
shouldEllipsisTitle,
|
|
4719
4912
|
onDirectBuy,
|
|
4720
|
-
|
|
4913
|
+
handleClickExplain,
|
|
4721
4914
|
onClickProductItem
|
|
4722
4915
|
};
|
|
4723
4916
|
};
|
|
@@ -4737,22 +4930,22 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
4737
4930
|
isProductRedirectLinkDirectly,
|
|
4738
4931
|
shouldEllipsisTitle,
|
|
4739
4932
|
onDirectBuy,
|
|
4740
|
-
|
|
4741
|
-
|
|
4933
|
+
onClickProductItem,
|
|
4934
|
+
handleClickExplain
|
|
4742
4935
|
} = useProductItem({
|
|
4743
4936
|
props,
|
|
4744
4937
|
emit
|
|
4745
4938
|
});
|
|
4746
|
-
return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy,
|
|
4939
|
+
return { __sfc: true, props, emit, ProductExplainStatus, $t, isSoldOut, productExplainEnabled, isProductRedirectLinkDirectly, shouldEllipsisTitle, onDirectBuy, onClickProductItem, handleClickExplain, ProductExplain, ProductTitle, ProductFeatureTag, ProductPrice, ProductButton, ossCompress, ProductItemScene };
|
|
4747
4940
|
}
|
|
4748
4941
|
});
|
|
4749
4942
|
var _sfc_render$2 = function render9() {
|
|
4750
4943
|
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
4751
|
-
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.
|
|
4944
|
+
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) {
|
|
4752
4945
|
return _c(_setup.ProductFeatureTag, { key: index, attrs: { "tag": tag } });
|
|
4753
|
-
}), 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 } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", attrs: { "product": _vm.product, "product-target": _vm.productTarget }, on: { "click-explain": _setup.
|
|
4946
|
+
}), 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 } }), _setup.productExplainEnabled && _vm.product.explainStatus === _setup.ProductExplainStatus.Explained && !_vm.product.cover ? _c(_setup.ProductExplain, { staticClass: "plv-product-item__explained--no-cover", 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 }) {
|
|
4754
4947
|
return [_c("button", { staticClass: "plv-product-item__buy-button", class: { "plv-product-item__buy-button--disabled": disabled } }, [_vm._v(" " + _vm._s(buttonText) + " ")])];
|
|
4755
|
-
} }]) })], 1)])])]);
|
|
4948
|
+
} }], null, false, 477326030) }) : _vm._e()], 1)])])]);
|
|
4756
4949
|
};
|
|
4757
4950
|
var _sfc_staticRenderFns$2 = [];
|
|
4758
4951
|
var __component__$2 = /* @__PURE__ */ normalizeComponent(
|
|
@@ -4779,79 +4972,6 @@ var __component__$1 = /* @__PURE__ */ normalizeComponent(
|
|
|
4779
4972
|
_sfc_staticRenderFns$1
|
|
4780
4973
|
);
|
|
4781
4974
|
const ProductEmpty = __component__$1.exports;
|
|
4782
|
-
const useProductTrack = (options) => {
|
|
4783
|
-
const { productTarget, ProductType } = options;
|
|
4784
|
-
const { trackEvent } = useTrackEvent(productTarget == null ? void 0 : productTarget.iarCore);
|
|
4785
|
-
const trackedProductIds = ref({});
|
|
4786
|
-
const productListRef = ref(null);
|
|
4787
|
-
const productItemsRef = shallowRef([]);
|
|
4788
|
-
function setItemRef(el) {
|
|
4789
|
-
if (el) {
|
|
4790
|
-
productItemsRef.value.push(el);
|
|
4791
|
-
}
|
|
4792
|
-
}
|
|
4793
|
-
function trackProductViewEvent(productData) {
|
|
4794
|
-
const specAttrs = {
|
|
4795
|
-
exposureTime: (/* @__PURE__ */ new Date()).getTime(),
|
|
4796
|
-
name: productData.name,
|
|
4797
|
-
realPrice: productData.productType === ProductType.Normal ? productData.realPrice : "",
|
|
4798
|
-
productId: productData.productId,
|
|
4799
|
-
productType: productData.productType,
|
|
4800
|
-
productFeature: JSON.stringify(productData.featureTags)
|
|
4801
|
-
};
|
|
4802
|
-
if (productData.productType === ProductType.Normal && productData.originPrice !== void 0) {
|
|
4803
|
-
specAttrs.price = productData.originPrice;
|
|
4804
|
-
}
|
|
4805
|
-
trackEvent({
|
|
4806
|
-
event_id: "product_list_item_view",
|
|
4807
|
-
event_type: "show",
|
|
4808
|
-
spec_attrs: specAttrs
|
|
4809
|
-
});
|
|
4810
|
-
}
|
|
4811
|
-
function isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom) {
|
|
4812
|
-
const offsetTop = element.offsetTop;
|
|
4813
|
-
const offsetHeight = element.offsetHeight;
|
|
4814
|
-
const elementBottom = offsetTop + offsetHeight;
|
|
4815
|
-
const isFullyAbove = elementBottom <= containerScrollTop;
|
|
4816
|
-
const isBottomBelowViewportBottom = containerViewportBottom < elementBottom;
|
|
4817
|
-
return !isFullyAbove && !isBottomBelowViewportBottom;
|
|
4818
|
-
}
|
|
4819
|
-
function checkAndTrackProductItem(itemInstance, containerScrollTop, containerViewportBottom) {
|
|
4820
|
-
if (!itemInstance || !itemInstance.$el || !itemInstance.product || !itemInstance.product.productId) {
|
|
4821
|
-
return;
|
|
4822
|
-
}
|
|
4823
|
-
const element = itemInstance.$el;
|
|
4824
|
-
const productId = itemInstance.product.productId;
|
|
4825
|
-
const isVisible = isElementVisibleInScrollContainer(element, containerScrollTop, containerViewportBottom);
|
|
4826
|
-
if (isVisible && !trackedProductIds.value[productId]) {
|
|
4827
|
-
trackedProductIds.value = __spreadProps(__spreadValues({}, trackedProductIds.value), { [productId]: true });
|
|
4828
|
-
trackProductViewEvent(itemInstance.product);
|
|
4829
|
-
}
|
|
4830
|
-
}
|
|
4831
|
-
function trackProduct() {
|
|
4832
|
-
return __async(this, null, function* () {
|
|
4833
|
-
yield nextTick();
|
|
4834
|
-
const container = productListRef.value;
|
|
4835
|
-
if (!container || !productItemsRef.value.length) return;
|
|
4836
|
-
const scrollTop = container.scrollTop;
|
|
4837
|
-
const scrollClientHeight = container.clientHeight;
|
|
4838
|
-
const viewportBottom = scrollTop + scrollClientHeight;
|
|
4839
|
-
productItemsRef.value.forEach((itemInstance) => {
|
|
4840
|
-
checkAndTrackProductItem(itemInstance, scrollTop, viewportBottom);
|
|
4841
|
-
});
|
|
4842
|
-
});
|
|
4843
|
-
}
|
|
4844
|
-
function clearTrackedProducts() {
|
|
4845
|
-
trackedProductIds.value = {};
|
|
4846
|
-
productItemsRef.value = [];
|
|
4847
|
-
}
|
|
4848
|
-
return {
|
|
4849
|
-
productListRef,
|
|
4850
|
-
setItemRef,
|
|
4851
|
-
trackProduct,
|
|
4852
|
-
clearTrackedProducts
|
|
4853
|
-
};
|
|
4854
|
-
};
|
|
4855
4975
|
const useTargetEventEmitter = (eventEmitter, listeners) => {
|
|
4856
4976
|
onMounted(() => {
|
|
4857
4977
|
if (!eventEmitter) return;
|
|
@@ -4874,7 +4994,7 @@ const useProductList = (options) => {
|
|
|
4874
4994
|
const { props } = options;
|
|
4875
4995
|
const { getEmitter } = useGlobalInject();
|
|
4876
4996
|
const { ProductStatus, ProductType, ProductEvents } = getProductTargetExport(props.productTarget);
|
|
4877
|
-
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget
|
|
4997
|
+
const { productListRef, setItemRef, trackProduct } = useProductTrack({ productTarget: props.productTarget });
|
|
4878
4998
|
const { isSupportPay, getPayProviders } = usePayment({ props });
|
|
4879
4999
|
const pageNumber = ref(1);
|
|
4880
5000
|
const pageSize = ref(10);
|
|
@@ -4985,18 +5105,6 @@ const useProductList = (options) => {
|
|
|
4985
5105
|
}
|
|
4986
5106
|
});
|
|
4987
5107
|
}
|
|
4988
|
-
function handleClickExplain(product) {
|
|
4989
|
-
return __async(this, null, function* () {
|
|
4990
|
-
if (typeof props.productConfig.customClickExplainHandler === "function") {
|
|
4991
|
-
props.productConfig.customClickExplainHandler(product);
|
|
4992
|
-
return;
|
|
4993
|
-
}
|
|
4994
|
-
const url = yield props.productTarget.generateProductExplainPageUrl({ productId: product.productId });
|
|
4995
|
-
if (url) {
|
|
4996
|
-
window.open(url, "_blank");
|
|
4997
|
-
}
|
|
4998
|
-
});
|
|
4999
|
-
}
|
|
5000
5108
|
function getProductOrderEnabled() {
|
|
5001
5109
|
return __async(this, null, function* () {
|
|
5002
5110
|
if (!props.productTarget) return;
|
|
@@ -5042,10 +5150,24 @@ const useProductList = (options) => {
|
|
|
5042
5150
|
const productTarget = props.productTarget;
|
|
5043
5151
|
if (!productTarget) return;
|
|
5044
5152
|
const ProductEvents2 = productTarget.ProductEvents;
|
|
5153
|
+
productTarget.eventEmitter.on(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
5154
|
+
productTarget.eventEmitter.on(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
5155
|
+
productTarget.eventEmitter.on(ProductEvents2.DeleteProduct, refreshProductList);
|
|
5156
|
+
productTarget.eventEmitter.on(ProductEvents2.AddProduct, refreshProductList);
|
|
5157
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProduct, refreshProductList);
|
|
5158
|
+
productTarget.eventEmitter.on(ProductEvents2.MoveProduct, refreshProductList);
|
|
5159
|
+
productTarget.eventEmitter.on(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
5045
5160
|
productTarget.eventEmitter.on(ProductEvents2.RefreshProductList, refreshProductList);
|
|
5046
5161
|
}
|
|
5047
5162
|
function unbindProductEvent() {
|
|
5048
5163
|
const ProductEvents2 = props.productTarget.ProductEvents;
|
|
5164
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OnSaleProduct, refreshProductList);
|
|
5165
|
+
props.productTarget.eventEmitter.off(ProductEvents2.OffSaleProduct, refreshProductList);
|
|
5166
|
+
props.productTarget.eventEmitter.off(ProductEvents2.DeleteProduct, refreshProductList);
|
|
5167
|
+
props.productTarget.eventEmitter.off(ProductEvents2.AddProduct, refreshProductList);
|
|
5168
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProduct, refreshProductList);
|
|
5169
|
+
props.productTarget.eventEmitter.off(ProductEvents2.MoveProduct, refreshProductList);
|
|
5170
|
+
props.productTarget.eventEmitter.off(ProductEvents2.ChangeProductRank, refreshProductList);
|
|
5049
5171
|
props.productTarget.eventEmitter.off(ProductEvents2.RefreshProductList, refreshProductList);
|
|
5050
5172
|
}
|
|
5051
5173
|
function init() {
|
|
@@ -5120,7 +5242,6 @@ const useProductList = (options) => {
|
|
|
5120
5242
|
productList: productList2,
|
|
5121
5243
|
toppingProduct,
|
|
5122
5244
|
onScroll,
|
|
5123
|
-
handleClickExplain,
|
|
5124
5245
|
openOrderList
|
|
5125
5246
|
};
|
|
5126
5247
|
};
|
|
@@ -5156,11 +5277,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
5156
5277
|
productTotal,
|
|
5157
5278
|
orderEntranceVisible,
|
|
5158
5279
|
onScroll,
|
|
5159
|
-
handleClickExplain,
|
|
5160
5280
|
openOrderList
|
|
5161
5281
|
} = useProductList({ props });
|
|
5162
5282
|
expose(instance);
|
|
5163
|
-
return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList: productList2, productTotal, orderEntranceVisible, onScroll,
|
|
5283
|
+
return { __sfc: true, props, $t, closeProductListPopup, emitNotSupportDirectBuy, handleDirectBuy, getPayProviders, instance, productListRef, productTagPanelRef, setItemRef, initialLoading, searchKeyword, activeTagId, isSearchMode, isLoading, productList: productList2, productTotal, orderEntranceVisible, onScroll, openOrderList, FormInput, FormTheme, Loading, ProductIconClose, ProductIconOrderEnter, ProductIconSearch, ProductIconProduct, ProductTagPanel, isMobile, ProductItem, ProductEmpty };
|
|
5164
5284
|
}
|
|
5165
5285
|
});
|
|
5166
5286
|
var _sfc_render = function render11() {
|
|
@@ -5170,7 +5290,7 @@ var _sfc_render = function render11() {
|
|
|
5170
5290
|
}, 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) {
|
|
5171
5291
|
_setup.activeTagId = $$v;
|
|
5172
5292
|
}, 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) {
|
|
5173
|
-
return _c(_setup.ProductItem, { key: index, ref: _setup.setItemRef, refInFor: true, attrs: { "product": product, "product-target": _vm.productTarget, "product-config": _vm.productConfig }, on: { "
|
|
5293
|
+
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 } });
|
|
5174
5294
|
}), 1) : _c(_setup.ProductEmpty)] : _vm._e(), _setup.isLoading ? _c("div", { staticClass: "plv-product-list__loading" }, [_c(_setup.Loading)], 1) : _vm._e()], 2);
|
|
5175
5295
|
};
|
|
5176
5296
|
var _sfc_staticRenderFns = [];
|
|
@@ -5185,8 +5305,8 @@ console.log(
|
|
|
5185
5305
|
"%c@polyv/product-ui",
|
|
5186
5306
|
"background:#409EFF;padding: 2px 6px;border-radius: 3px;color: #fff",
|
|
5187
5307
|
"[component: product-list]",
|
|
5188
|
-
"[version: 1.
|
|
5189
|
-
"[buildTime: 2025-
|
|
5308
|
+
"[version: 1.1.0-rc-20250703.1]",
|
|
5309
|
+
"[buildTime: 2025-07-03 01:48:08]"
|
|
5190
5310
|
);
|
|
5191
5311
|
export {
|
|
5192
5312
|
productList as default
|