From d2693521436294fb9d6f5ef663dbd4c2b8493e2f Mon Sep 17 00:00:00 2001 From: pushuo <229102104@qq.com> Date: Fri, 12 Aug 2022 19:30:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/build/beike/shop/default/css/app.css | 33 ----------------- public/build/beike/shop/default/js/app.js | 31 ++++++++++------ .../beike/shop/default/css/product-style.scss | 35 ------------------- resources/beike/shop/default/js/common.js | 29 +++++++++------ themes/default/product.blade.php | 6 ++-- themes/default/shared/product.blade.php | 20 +++++++---- 6 files changed, 55 insertions(+), 99 deletions(-) diff --git a/public/build/beike/shop/default/css/app.css b/public/build/beike/shop/default/css/app.css index f668aa64..7029342a 100644 --- a/public/build/beike/shop/default/css/app.css +++ b/public/build/beike/shop/default/css/app.css @@ -676,42 +676,9 @@ footer .footer-bottom { display: flex; justify-content: center; } -.product-wrap .image .button-wrap button { - position: relative; -} -.product-wrap .image .button-wrap button > span { - font-size: 11px; - text-transform: none; - line-height: 18px; - transition: all 0.2s ease-in-out; - opacity: 0; - background-color: #000; - padding: 0 5px; - white-space: nowrap; - position: absolute; - bottom: calc(100% + 20px); - left: 50%; - transform: translate(-50%); - visibility: hidden; -} -.product-wrap .image .button-wrap button > span::before { - content: ""; - border: 5px solid transparent; - border-top-color: #000; - position: absolute; - bottom: -9px; - left: 50%; - margin-left: -5px; -} .product-wrap .image .button-wrap button:hover { background-color: rgb(70, 70, 70); } -.product-wrap .image .button-wrap button:hover span { - opacity: 1; - bottom: calc(100% + 7px); - z-index: 2; - visibility: visible; -} .product-wrap .image:hover .image-hover { opacity: 1; transition: all ease-out 0.4s; diff --git a/public/build/beike/shop/default/js/app.js b/public/build/beike/shop/default/js/app.js index e2971f4f..8d9390f4 100644 --- a/public/build/beike/shop/default/js/app.js +++ b/public/build/beike/shop/default/js/app.js @@ -2111,14 +2111,23 @@ __webpack_require__.r(__webpack_exports__); * @param {*} isBuyNow 是否立即购买 * @return {*} 返回Promise */ - addCart: function addCart(sku_id) { + addCart: function addCart(_ref, event) { var _this = this; - var quantity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; - var isBuyNow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var sku_id = _ref.sku_id, + _ref$quantity = _ref.quantity, + quantity = _ref$quantity === void 0 ? 1 : _ref$quantity, + _ref$isBuyNow = _ref.isBuyNow, + isBuyNow = _ref$isBuyNow === void 0 ? false : _ref$isBuyNow; + var $btn = $(event); + var btnHtml = $btn.html(); + var loadHtml = ''; + $btn.html(loadHtml).prop('disabled', true); $http.post('/carts', { sku_id: sku_id, quantity: quantity + }, { + hload: !!event }).then(function (res) { _this.getCarts(); @@ -2127,13 +2136,15 @@ __webpack_require__.r(__webpack_exports__); if (isBuyNow) { location.href = 'checkout'; } + })["finally"](function () { + $btn.html(btnHtml).prop('disabled', false); }); }, - addWishlist: function addWishlist(id, e) { - var $btn = $(e); - var isWishlist = $btn.attr('data-in-wishlist') * 1; + addWishlist: function addWishlist(id, event) { + var $btn = $(event); var btnHtml = $btn.html(); - var loadHtml = ''; + var isWishlist = $btn.attr('data-in-wishlist') * 1; + var loadHtml = ''; if (isWishlist) { $btn.html(loadHtml).prop('disabled', true); @@ -2142,9 +2153,8 @@ __webpack_require__.r(__webpack_exports__); }).then(function (res) { layer.msg(res.message); $btn.attr('data-in-wishlist', '0'); - $btn.find('i.bi').prop('class', 'bi bi-heart me-1'); })["finally"](function () { - $btn.html(btnHtml).prop('disabled', false); + $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart'); }); } else { $btn.html(loadHtml).prop('disabled', true); @@ -2155,9 +2165,8 @@ __webpack_require__.r(__webpack_exports__); }).then(function (res) { layer.msg(res.message); $btn.attr('data-in-wishlist', res.data.id); - $btn.find('i.bi').prop('class', 'bi bi-heart-fill me-1'); })["finally"](function () { - $btn.html(btnHtml).prop('disabled', false); + $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart-fill'); }); } }, diff --git a/resources/beike/shop/default/css/product-style.scss b/resources/beike/shop/default/css/product-style.scss index 203ed7ce..cb48fec1 100644 --- a/resources/beike/shop/default/css/product-style.scss +++ b/resources/beike/shop/default/css/product-style.scss @@ -33,43 +33,8 @@ justify-content: center; button { - position: relative; - - >span { - font-size: 11px; - text-transform: none; - line-height: 18px; - transition: all .2s ease-in-out; - opacity: 0; - background-color: #000; - padding: 0 5px; - white-space: nowrap; - position: absolute; - bottom: calc(100% + 20px); - left: 50%; - transform: translate(-50%); - visibility: hidden; - - &::before { - content: ""; - border: 5px solid transparent; - border-top-color: #000; - position: absolute; - bottom: -9px; - left: 50%; - margin-left: -5px; - } - } - &:hover { background-color: rgb(70, 70, 70); - - span { - opacity: 1; - bottom: calc(100% + 7px); - z-index: 2; - visibility: visible; - } } } } diff --git a/resources/beike/shop/default/js/common.js b/resources/beike/shop/default/js/common.js index 54d270c3..00af75c7 100644 --- a/resources/beike/shop/default/js/common.js +++ b/resources/beike/shop/default/js/common.js @@ -44,36 +44,43 @@ export default { * @param {*} isBuyNow 是否立即购买 * @return {*} 返回Promise */ - addCart(sku_id, quantity = 1, isBuyNow = false) { - $http.post('/carts', {sku_id, quantity}).then((res) => { + addCart({sku_id, quantity = 1, isBuyNow = false}, event) { + const $btn = $(event); + const btnHtml = $btn.html(); + const loadHtml = ''; + $btn.html(loadHtml).prop('disabled', true); + + $http.post('/carts', {sku_id, quantity}, {hload: !!event}).then((res) => { this.getCarts(); layer.msg(res.message) if (isBuyNow) { location.href = 'checkout' } - }) + }).finally(() => {$btn.html(btnHtml).prop('disabled', false)}) }, - addWishlist(id, e) { - const $btn = $(e); - let isWishlist = $btn.attr('data-in-wishlist') * 1; + addWishlist(id, event) { + const $btn = $(event); const btnHtml = $btn.html(); - const loadHtml = ''; + const isWishlist = $btn.attr('data-in-wishlist') * 1; + const loadHtml = ''; if (isWishlist) { $btn.html(loadHtml).prop('disabled', true); $http.delete(`account/wishlist/${isWishlist}`, null, {hload: true}).then((res) => { layer.msg(res.message) $btn.attr('data-in-wishlist', '0'); - $btn.find('i.bi').prop('class', 'bi bi-heart me-1') - }).finally(() => {$btn.html(btnHtml).prop('disabled', false)}) + }).finally(() => { + $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart') + }) } else { $btn.html(loadHtml).prop('disabled', true); $http.post('account/wishlist', {product_id: id}, {hload: true}).then((res) => { layer.msg(res.message) $btn.attr('data-in-wishlist', res.data.id); - $btn.find('i.bi').prop('class', 'bi bi-heart-fill me-1') - }).finally(() => {$btn.html(btnHtml).prop('disabled', false)}) + }).finally(() => { + $btn.html(btnHtml).prop('disabled', false).find('i.bi').prop('class', 'bi bi-heart-fill') + }) } }, diff --git a/themes/default/product.blade.php b/themes/default/product.blade.php index 52651939..d2e4cb28 100644 --- a/themes/default/product.blade.php +++ b/themes/default/product.blade.php @@ -96,13 +96,13 @@ @@ -215,7 +215,7 @@ }, addCart(isBuyNow = false) { - bk.addCart(this.product.id, this.quantity, isBuyNow); + bk.addCart({sku_id: this.product.id, quantity: this.quantity, isBuyNow}); }, updateSelectedVariantsIndex() { diff --git a/themes/default/shared/product.blade.php b/themes/default/shared/product.blade.php index 92ab991b..6a9f5a68 100644 --- a/themes/default/shared/product.blade.php +++ b/themes/default/shared/product.blade.php @@ -9,14 +9,22 @@