diff --git a/pages.json b/pages.json index e211c04..6d3bc34 100644 --- a/pages.json +++ b/pages.json @@ -126,6 +126,19 @@ "navigationBarTitleText": "商品详情页" } }, + { + "path": "pages/goods2/list", + "style": { + "navigationBarTitleText": "商品列表", + "enablePullDownRefresh": true + } + }, + { + "path": "pages/goods2/detail", + "style": { + "navigationBarTitleText": "商品详情页" + } + }, { "path": "pages/comment/index", "style": { diff --git a/pages/goods2/components/Comment.vue b/pages/goods2/components/Comment.vue new file mode 100644 index 0000000..cae86a0 --- /dev/null +++ b/pages/goods2/components/Comment.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/pages/goods2/components/Service.vue b/pages/goods2/components/Service.vue new file mode 100644 index 0000000..e242fa6 --- /dev/null +++ b/pages/goods2/components/Service.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/pages/goods2/components/SkuPopup.vue b/pages/goods2/components/SkuPopup.vue new file mode 100644 index 0000000..e8796ab --- /dev/null +++ b/pages/goods2/components/SkuPopup.vue @@ -0,0 +1,187 @@ + + + + + \ No newline at end of file diff --git a/pages/goods2/components/SlideImage.vue b/pages/goods2/components/SlideImage.vue new file mode 100644 index 0000000..af56794 --- /dev/null +++ b/pages/goods2/components/SlideImage.vue @@ -0,0 +1,139 @@ + + + + + \ No newline at end of file diff --git a/pages/goods2/detail.scss b/pages/goods2/detail.scss new file mode 100644 index 0000000..7bc0b9d --- /dev/null +++ b/pages/goods2/detail.scss @@ -0,0 +1,231 @@ +.container { + // 设置ios刘海屏底部横线安全区域 + // 110 - 18 + 4 + padding-bottom: calc(constant(safe-area-inset-bottom) + 106rpx + 6rpx); + padding-bottom: calc(env(safe-area-inset-bottom) + 106rpx + 6rpx); +} + +// 商品信息 +.goods-info { + background: #fff; + padding: 25rpx 30rpx; +} + +.info-item__top { + min-height: 40rpx; + margin-bottom: 20rpx; + line-height: 1; +} + +.floor-price__samll { + font-size: 26rpx; + line-height: 1; + color: $main-bg; + margin-bottom: -10rpx; +} + +// 商品价 +.floor-price { + color: $main-bg; + margin-right: 15rpx; + font-size: 42rpx; +} + +.original-price { + font-size: 26rpx; + text-decoration: line-through; + color: #959595; + margin-right: 15rpx; + margin-bottom: -6rpx; +} + +// 会员价标签 +.user-grade { + background: #3c3c3c; + border-radius: 6rpx; + padding: 8rpx 14rpx; + margin-right: 15rpx; + font-size: 24rpx; + color: #eee0c3; +} + +.goods-sales { + font-size: 24rpx; + color: #959595; +} + +.info-item__name .goods-name { + font-size: 30rpx; +} + +/* 商品分享 */ + +.goods-share__line { + border-left: 1rpx solid #f4f4f4; + height: 60rpx; + margin: 0 30rpx; +} + +.goods-share .share-btn { + line-height: normal; + padding: 0; + background: none; + border-radius: 0; + box-shadow: none; + font-size: 8pt; + border: none; + color: #191919; +} + +.goods-share .share-btn::after { + border: none; +} + +.goods-share .share__icon { + font-size: 40rpx; + margin-bottom: 5rpx; +} + +// 商品卖点 +.info-item_selling-point { + margin-top: 8rpx; + font-size: 24rpx; + color: #808080; +} + +// 选择商品规格 +.goods-choice { + padding: 26rpx 30rpx; + font-size: 26rpx; + + .spec-list { + display: flex; + align-items: center; + + .spec-name { + margin-right: 10rpx; + } + } +} + +// 商品详情 +.goods-content .item-title { + padding: 26rpx 30rpx; + font-size: 26rpx; +} + +// 底部操作栏 +.footer-fixed { + position: fixed; + bottom: var(--window-bottom); + left: var(--window-left); + right: var(--window-right); + display: flex; + z-index: 11; + box-shadow: 0 -4rpx 40rpx 0 rgba(151, 151, 151, 0.24); + background: #fff; + + // 设置ios刘海屏底部横线安全区域 + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} + +.footer-container { + width: 100%; + display: flex; + height: 106rpx; +} + +// 快捷菜单 +.foo-item-fast { + box-sizing: border-box; + min-width: 214rpx; + line-height: 1; + display: flex; + align-items: center; + justify-content: space-evenly; + margin-right: 12rpx; + + .fast-item { + position: relative; + padding: 4rpx 0; + line-height: 1; + text-align: center; + width: 84rpx; + + &--cart { + margin-left: 6rpx; + .fast-icon { + margin-left: -12rpx; + } + } + + // 角标 + .fast-badge { + display: inline-block; + box-sizing: border-box; + min-width: 16px; + padding: 0 3px; + color: #fff; + font-weight: 500; + font-size: 12px; + font-family: -apple-system-font, Helvetica Neue, Arial, sans-serif; + line-height: 1.2; + text-align: center; + background-color: #ee0a24; + border: 1px solid #fff; + border-radius: 999px; + } + + .fast-badge--fixed { + position: absolute; + top: 0; + right: 0; + transform-origin: 100%; + } + + .fast-icon { + font-size: 44rpx; + margin-bottom: 8rpx; + } + + .fast-text { + font-size: 22rpx; + } + } +} + +// 操作按钮 +.foo-item-btn { + flex: 1; + + .btn-wrapper { + height: 100%; + display: flex; + align-items: center; + } + + .btn-item { + flex: 1; + font-size: 28rpx; + height: 72rpx; + margin-right: 16rpx; + color: #fff; + border-radius: 50rpx; + display: flex; + justify-content: center; + align-items: center; + } + + // 立即购买按钮 + .btn-item-main { + background: linear-gradient(to right, $main-bg, $main-bg2); + color: $main-text; + } + + // 购物车按钮 + .btn-item-deputy { + background: linear-gradient(to right, $vice-bg, $vice-bg2); + color: $vice-text; + } +} diff --git a/pages/goods2/detail.vue b/pages/goods2/detail.vue new file mode 100644 index 0000000..7b21948 --- /dev/null +++ b/pages/goods2/detail.vue @@ -0,0 +1,313 @@ + + + + + + \ No newline at end of file diff --git a/pages/goods2/list.vue b/pages/goods2/list.vue new file mode 100644 index 0000000..5082d49 --- /dev/null +++ b/pages/goods2/list.vue @@ -0,0 +1,464 @@ + + + + + \ No newline at end of file