diff --git a/api/public.js b/api/public.js index 8fcae88..fe8d4b1 100644 --- a/api/public.js +++ b/api/public.js @@ -115,3 +115,11 @@ export function imageBase64(image, code) { { login: false } ); } + +/** + * 获取专家列表 + * @returns {*} + */ +export function getExpert() { + return request.get("/expert", {}, { login: false }); +} \ No newline at end of file diff --git a/api/store.js b/api/store.js index cb70b76..43bb0ae 100644 --- a/api/store.js +++ b/api/store.js @@ -196,7 +196,7 @@ export function getEvaluation() { * 测评详情 */ export function getEvaluationDetail(id) { - return request.get("/evaluation"+id, {}, { + return request.get("/evaluation/"+id, {}, { login: false }); } diff --git a/components/PromotionGood.vue b/components/PromotionGood.vue index 7f0ea40..00a11db 100644 --- a/components/PromotionGood.vue +++ b/components/PromotionGood.vue @@ -183,18 +183,18 @@ export default { // &:before { // content: '¥'; // font-size: 26rpx; - // } - + // } + text { padding-left: 10rpx; font-size: 20rpx; color: #999999; line-height: 26rpx; - font-weight: 500; - // color: #000000; - text-decoration: line-through; - // font-size: 28rpx; - // font-style: italic; + font-weight: 500; + // color: #000000; + text-decoration: line-through; + // font-size: 28rpx; + // font-style: italic; } } diff --git a/components/colorui/components/cu-custom.vue b/components/colorui/components/cu-custom.vue index c0ba596..6ebfce2 100644 --- a/components/colorui/components/cu-custom.vue +++ b/components/colorui/components/cu-custom.vue @@ -71,6 +71,9 @@ BackPage() { uni.navigateBack({ delta: 1, + success(res) { + // console.log('navigateBack') + }, fail: (err) => { uni.switchTab({ url: '/pages/home/index', diff --git a/pages.json b/pages.json index f9b69a8..4dd5658 100644 --- a/pages.json +++ b/pages.json @@ -503,6 +503,14 @@ "style": { "navigationBarTitleText": "甄选测评", "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path": "pages/expert/index", + "style": { + "navigationBarTitleText": "专家专栏", + "enablePullDownRefresh": false, "navigationStyle": "custom" } } diff --git a/pages/expert/index.vue b/pages/expert/index.vue new file mode 100644 index 0000000..02d7893 --- /dev/null +++ b/pages/expert/index.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/pages/home/components/HotCommodity.vue b/pages/home/components/HotCommodity.vue index 12fb96a..6bd751c 100644 --- a/pages/home/components/HotCommodity.vue +++ b/pages/home/components/HotCommodity.vue @@ -72,7 +72,7 @@ }, data() { return { - classifyList: ['护理榜', '清洗榜', '美妆榜', '热卖榜'], + classifyList: [], classifyType: 0, topList: [], goodsList: [], diff --git a/pages/home/index.vue b/pages/home/index.vue index 3478884..9b59de1 100644 --- a/pages/home/index.vue +++ b/pages/home/index.vue @@ -83,11 +83,62 @@ - - - - - + + + + + + + + + + + + {{ item.storeName }} + + ¥{{ item.price }}¥{{item.otPrice}} + + + + + + + + + + {{item.listName}} + + + + + {{index+1}} + {{index===0?'ST':index===1?'ND':index===2?'RD':'TH'}} + + + + {{item.storeName}} + ¥{{ item.price }}¥{{item.otPrice}} + {{ item.sales }}+人购买 + + + + + + + + + {{ item.storeName }} + + ¥{{ item.price }}¥{{item.otPrice}} + + + + + + + + + + + + + + + + + + + + + {{info.productInfo.storeName}} + {{info.productInfo.storeInfo}} + + + ¥{{info.productInfo.price}} + ¥{{info.productInfo.otPrice}} + + 查看详情 + + + + + + + + 1 + 眼界甄选评测员总结 + + {{info.summary}} + + + + {{info.summary?'2':'1'}} + 实用体验感受 + + {{info.feelSynopsis}} + + + + + + + + + + + + + + {{info.summary?(info.feelSynopsis || info.feelImage?'3':'2'):(info.feelSynopsis || info.feelImage?'2':'1')}} + 易用性体验 + + {{info.accessibilitySynopsis}} + + + + + + + + + + + + + + + + + + + + 立即购买 + @@ -26,23 +117,52 @@ import { getEvaluationDetail } from '@/api/store' export default { data() { - return { - id: 0, + return { + addBottom: this.addBottom, + id: 0, + info: {}, + feelCurrent: 0, + accessibilityCurrent: 0, }; }, onLoad() { this.id = this._route.query.id this.getInfo(this.id); }, + onShareAppMessage() { + return { + title: '甄选测评', + path: '/pages/shop/Evaluations/EvaluationDetail/index?id='+this.id + } + }, methods: { getInfo(id) { uni.showLoading({ title: '' }) getEvaluationDetail(id).then(res => { + this.info = res.data; uni.hideLoading(); }) - } + }, + videoErrorCallback(e) { + console.log('视频错误信息:') + console.log(e.detail.errMsg) + }, + goGoodsDetail() { + this.$yrouter.push({ + path: '/pages/shop/GoodsCon/index', + query: { + id: this.info.productInfo.id, + }, + }) + }, + feelCurrentChange(e) { + this.feelCurrent = e.detail.current; + }, + accessibilityCurrentChange(e) { + this.accessibilityCurrent = e.detail.current; + }, } } @@ -68,17 +188,238 @@ } .synopsis-box { - margin: 20rpx 32rpx 20rpx 90rpx; - padding: 20rpx 20rpx 20rpx 70rpx; - width: 626rpx; - min-height: 146rpx; - background: radial-gradient(circle at 24rpx 54rpx, transparent 98rpx, #F5F6F8) top left; - // background: #F5F6F8; + margin: 20rpx 32rpx 0rpx 90rpx; + padding: 20rpx 0rpx 20rpx 50rpx; + width: 628rpx; + height: 146rpx; + background: #F5F6F8; + box-shadow: 0rpx 10rpx 16rpx 0rpx rgba(0,0,0,0.15); + border-radius: 16rpx; + position: relative; + .left-circle { + height: 98rpx; + width: 98rpx; + background: #F1F1F1; + border-radius: 50%; + position: absolute; + top: 22rpx; + left: -50rpx; + // box-shadow: 0rpx 10rpx 8rpx 0rpx rgba(0,0,0,0.15); + } + image { + width: 120rpx; + height: 120rpx; + position: absolute; + top: 24rpx; + left: -66rpx; + } + .info { + height: 100%; + overflow: hidden; + font-size: 20rpx; + font-family: PingFang SC; + font-weight: 500; + color: #2DB5AE; + line-height: 26rpx; + padding: 0rpx 8rpx; + text { + font-weight: 600; + // padding-right: 6rpx; + } + } + } + + .video-box { + margin: 20rpx 32rpx 0rpx; + width: 686rpx; + height: 384rpx; box-shadow: 0rpx 10rpx 16rpx 0rpx rgba(0,0,0,0.15); border-radius: 16rpx; - // background-size: 17px 100px, 116px 100px, 17px 100px; - // background-repeat: no-repeat; - // background-position: 10px 0px,26px 0px,142px 0px; + #myVideo { + width: 686rpx; + height: 384rpx; + border-radius: 16rpx; + } + } + + .productInfo-box { + margin: 20rpx 32rpx 0rpx; + width: 686rpx; + height: 178rpx; + background: #F5F6F8; + box-shadow: 0rpx 10rpx 16rpx 0rpx rgba(0,0,0,0.15); + border-radius: 16rpx; + padding: 8rpx; + image { + width: 164rpx; + height: 164rpx; + border-radius: 16rpx; + } + .right-text { + width: 478rpx; + margin-right: 8rpx; + padding-top: 8rpx; + font-size: 20rpx; + font-family: SourceHanSansSCVF; + font-weight: 600; + color: #999999; + line-height: 28rpx; + .name { + font-size: 26rpx; + font-family: PingFang SC; + font-weight: 500; + color: #3A3A3C; + line-height: 38rpx; + } + .info { + padding-bottom: 14rpx; + } + .price-box { + font-family: Futura; + .price { + color: #3A3A3C; + line-height: 36rpx; + font-size: 30rpx; + } + .otPrice { + text-decoration: line-through; + } + } + .btn { + margin-top: 18rpx; + width: 138rpx; + height: 42rpx; + background: #2DB5AE; + border-radius: 16rpx; + font-size: 24rpx; + font-family: PingFang SC; + color: #FFFFFF; + line-height: 42rpx; + text-align: center; + } + } + } + + .wrapper { + margin: 20rpx 32rpx; + padding: 16rpx 24rpx; + width: 686rpx; + background: #F5F6F8; + box-shadow: 0rpx 10rpx 16rpx 0rpx rgba(0,0,0,0.15); + border-radius: 16rpx; + .item { + padding-bottom: 22rpx; + .title-box { + font-size: 30rpx; + font-family: SourceHanSansSCVF; + font-weight: 600; + color: #3A3A3C; + line-height: 23px; + .num { + width: 34rpx; + height: 34rpx; + border-radius: 50%; + background: #2DB5AE; + font-size: 20rpx; + font-family: PingFang SC; + font-weight: 600; + color: #FFFFFF; + line-height: 34rpx; + text-align: center; + margin-right: 8rpx; + } + } + .info-text { + margin-bottom: 24rpx; + font-size: 24rpx; + font-family: PingFang SC; + font-weight: 500; + color: #3A3A3C; + line-height: 32rpx; + text-indent: 42rpx; + } + .images-box { + padding-bottom: 24rpx; + position: relative; + swiper { + width: 638rpx; + height: 360rpx; + border-radius: 16rpx; + overflow: hidden; + swiper-item { + border-radius: 16rpx; + image { + width: 638rpx; + height: 360rpx; + border-radius: 16rpx; + } + } + } + .dot-box { + position: absolute; + bottom: 40rpx; + left: 50%; + transform: translateX(-50%); + .dot { + width: 8rpx; + height: 8rpx; + background: #FFFFFF; + border-radius: 6rpx; + margin: 0rpx 8rpx; + transition: width .5s cubic-bezier(.18,.89,.17,.88); + } + .on { + width: 36rpx; + background: #2DB5AE; + transition: width .5s cubic-bezier(.18,.89,.17,.88); + } + } + } + } + } + + .footer { + position: fixed; + bottom: 0; + left: 0; + width: 750rpx; + background: #F1F1F1; + box-shadow: 0rpx -4rpx 38rpx 0rpx rgba(0,0,0,0.2); + border-radius: 28rpx 28rpx 0rpx 0rpx; + padding: 12rpx 32rpx 0rpx; + .contacButton { + height: 80rpx; + padding: 0; + background-color: #F1F1F1; + } + .contacButton::after { + border: 0; + } + .item { + text-align: center; + font-size: 20rpx; + font-family: PingFang SC; + font-weight: 500; + color: #3A3A3C; + line-height: 22rpx; + image { + width: 50rpx; + height: 50rpx; + } + } + .btn { + margin-top: 6rpx; + width: 386rpx; + height: 66rpx; + background: #2DB5AE; + border-radius: 16rpx; + font-size: 26rpx; + font-family: PingFang SC; + font-weight: 600; + color: #FFFFFF; + line-height: 66rpx; + text-align: center; + } } diff --git a/pages/shop/Evaluations/index.vue b/pages/shop/Evaluations/index.vue index 9fb851d..def6674 100644 --- a/pages/shop/Evaluations/index.vue +++ b/pages/shop/Evaluations/index.vue @@ -49,12 +49,15 @@ }) }, goDetail(item) { - this.$yrouter.push({ - path: '/pages/shop/Evaluations/EvaluationDetail/index', - query: { - id: item.id - }, + uni.navigateTo({ + url: '/pages/shop/Evaluations/EvaluationDetail/index?id=' + item.id }) + // this.$yrouter.push({ + // path: '/pages/shop/Evaluations/EvaluationDetail/index', + // query: { + // id: item.id + // }, + // }) } } } diff --git a/pages/shop/GoodsCon/index.vue b/pages/shop/GoodsCon/index.vue index 96b2004..37ccd87 100644 --- a/pages/shop/GoodsCon/index.vue +++ b/pages/shop/GoodsCon/index.vue @@ -19,7 +19,7 @@ - + @@ -446,6 +446,14 @@ export default { goHome() { this.$yrouter.switchTab('/pages/home/index') }, + goBrand() { + this.$yrouter.push({ + path: '/pages/shop/brands/brandDetail/index', + query: { + id: this.brandInfo.id, + }, + }) + }, goShoppingCart() { this.$yrouter.switchTab('/pages/shop/ShoppingCart/index') }, diff --git a/static/images/evaluation-icon.png b/static/images/evaluation-icon.png new file mode 100644 index 0000000..86fce4d Binary files /dev/null and b/static/images/evaluation-icon.png differ diff --git a/static/images/left-bg.png b/static/images/left-bg.png new file mode 100644 index 0000000..dd6ec31 Binary files /dev/null and b/static/images/left-bg.png differ diff --git a/static/images/right-bg.png b/static/images/right-bg.png new file mode 100644 index 0000000..313f728 Binary files /dev/null and b/static/images/right-bg.png differ diff --git a/static/images/share-icon.png b/static/images/share-icon.png new file mode 100644 index 0000000..5980149 Binary files /dev/null and b/static/images/share-icon.png differ