|
7 | 7 | <view id="basic"> |
8 | 8 | <u-swiper :list="goodsDetail.pics" keyName="pic" indicator circular height="750rpx"></u-swiper> |
9 | 9 | <view class="price-share"> |
10 | | - <view class="price">¥{{goodsDetail.basicInfo.minPrice}} <text |
11 | | - v-if="goodsDetail.basicInfo.originalPrice">¥{{goodsDetail.basicInfo.originalPrice}}</text> |
| 10 | + <view class="price-score"> |
| 11 | + <view v-if="goodsDetail.basicInfo.minPrice" class="item"> |
| 12 | + <text>¥</text>{{goodsDetail.basicInfo.minPrice}}</view> |
| 13 | + <view v-if="goodsDetail.basicInfo.minScore" class="item"> |
| 14 | + <text>∮</text>{{goodsDetail.basicInfo.minScore}}</view> |
12 | 15 | </view> |
13 | 16 | <!-- #ifdef MP --> |
14 | 17 | <view class="btns"> |
|
38 | 41 | </view> |
39 | 42 | <view id="content"> |
40 | 43 | <u-divider text="详细介绍"></u-divider> |
41 | | - <view class="content"> |
42 | | - <view v-if="wxintroduction"> |
43 | | - <u--image v-for="(item,index) in wxintroduction" :src="item" mode="widthFix" width="750rpx" height="auto"></u--image> |
| 44 | + <view class="content"> |
| 45 | + <view v-if="wxintroduction"> |
| 46 | + <u--image v-for="(item,index) in wxintroduction" :src="item" mode="widthFix" width="750rpx" |
| 47 | + height="auto"></u--image> |
44 | 48 | </view> |
45 | 49 | <u-parse v-else :content="goodsDetail.content"></u-parse> |
46 | 50 | </view> |
|
50 | 54 | <view v-if="reputationList" class="reputation-box"> |
51 | 55 | <view v-for="(item,index) in reputationList" :key="index" class="album"> |
52 | 56 | <view class="album__avatar"> |
53 | | - <u--image class="image" :src="item.user.avatarUrl" shape="circle" width="120rpx" height="120rpx"></u--image> |
| 57 | + <u--image class="image" :src="item.user.avatarUrl" shape="circle" width="120rpx" |
| 58 | + height="120rpx"></u--image> |
54 | 59 | </view> |
55 | 60 | <view class="album__content"> |
56 | 61 | <u--text :text="item.user.nick" type="primary" bold size="17"></u--text> |
57 | 62 | <u-rate v-model="item.goods.goodReputation"></u-rate> |
58 | | - <u--text margin="8rpx 0 8rpx 0" size="26rpx" color="#666666" :text="item.goods.goodReputationRemark"></u--text> |
59 | | - <u--text margin="0 0 8rpx 0" size="24rpx" color="#666666" :text="item.goods.dateReputation"></u--text> |
60 | | - <!-- <u-album v-if="item.reputationPics" :urls="urls2"></u-album> --> |
| 63 | + <u--text margin="8rpx 0 8rpx 0" size="26rpx" color="#666666" |
| 64 | + :text="item.goods.goodReputationRemark"></u--text> |
| 65 | + <u--text margin="0 0 8rpx 0" size="24rpx" color="#666666" |
| 66 | + :text="item.goods.dateReputation"></u--text> |
| 67 | + <!-- <u-album v-if="item.reputationPics" :urls="urls2"></u-album> --> |
61 | 68 | <view style="height: 32rpx;"></view> |
62 | 69 | </view> |
63 | 70 | </view> |
|
76 | 83 | title="掌柜回复:{{item.goods.goodReputationReply}}" /> --> |
77 | 84 | </view> |
78 | 85 | </view> |
79 | | - </scroll-view> |
80 | | - <view class="bottom-btns"> |
| 86 | + </scroll-view> |
| 87 | + <view v-if="goodsDetail.basicInfo.supplyType == 'jdJoycityPoints'" class="bottom-btns"> |
| 88 | + <view class="btn"> |
| 89 | + <u-button text="立即购买" shape="circle" color="linear-gradient(90deg, #ff6034, #ee0a24, #ff6034)" |
| 90 | + @click="_showGoodsPop"> |
| 91 | + </u-button> |
| 92 | + </view> |
| 93 | + </view> |
| 94 | + <view v-else class="bottom-btns"> |
81 | 95 | <!-- #ifdef MP-WEIXIN || MP-BAIDU --> |
82 | 96 | <view class="icon-btn"> |
83 | 97 | <u-icon name="chat" size="48rpx"></u-icon> |
|
119 | 133 | export default { |
120 | 134 | data() { |
121 | 135 | return { |
122 | | - tabs: [{ |
123 | | - viewId: 'basic', |
124 | | - name: '商品信息', |
125 | | - }, { |
126 | | - viewId: 'content', |
127 | | - name: '详细介绍', |
128 | | - }, { |
129 | | - viewId: 'reputation', |
130 | | - name: '用户评价', |
131 | | - }], |
| 136 | + tabs: [ |
| 137 | + { |
| 138 | + viewId: 'basic', |
| 139 | + name: '商品信息', |
| 140 | + }, |
| 141 | + { |
| 142 | + viewId: 'content', |
| 143 | + name: '详细介绍', |
| 144 | + }, |
| 145 | + // { |
| 146 | + // viewId: 'reputation', |
| 147 | + // name: '用户评价', |
| 148 | + // }, |
| 149 | + ], |
132 | 150 | curViewId: 'basic', |
133 | | - goodsDetail: undefined, |
134 | | - jdGoodsDetail: undefined, |
| 151 | + goodsDetail: undefined, |
| 152 | + jdGoodsDetail: undefined, |
135 | 153 | wxintroduction: undefined, |
136 | 154 | faved: false, |
137 | 155 | showGoodsPop: false, |
|
174 | 192 | title: res.msg, |
175 | 193 | icon: 'none' |
176 | 194 | }) |
177 | | - setTimeout(() => { |
178 | | - uni.navigateBack() |
| 195 | + setTimeout(() => { |
| 196 | + uni.navigateBack() |
179 | 197 | }, 3000) |
180 | 198 | return |
181 | 199 | } |
182 | 200 | this.goodsDetail = res.data |
183 | 201 | // 检测是否收藏 |
184 | 202 | this.goodsFavCheck() |
185 | | - this._reputationList() |
186 | | - if(this.goodsDetail.basicInfo.supplyType == 'vop_jd') { |
187 | | - this.jdvopGoodsDetail(this.goodsDetail.basicInfo.yyId) |
| 203 | + this._reputationList() |
| 204 | + if (this.goodsDetail.basicInfo.supplyType == 'vop_jd') { |
| 205 | + this.jdvopGoodsDetail(this.goodsDetail.basicInfo.yyId) |
| 206 | + } |
| 207 | + if (this.goodsDetail.basicInfo.supplyType == 'jdJoycityPoints') { |
| 208 | + this.joycityPointsGoodsDetail(this.goodsDetail.basicInfo.yyIdStr) |
| 209 | + } |
| 210 | + }, |
| 211 | + async jdvopGoodsDetail(skuId) { |
| 212 | + // https://www.yuque.com/apifm/nu0f75/ar77dc |
| 213 | + const res = await this.$wxapi.jdvopGoodsDetail(skuId) |
| 214 | + if (res.code != 0) { |
| 215 | + uni.showToast({ |
| 216 | + title: res.msg, |
| 217 | + icon: 'none' |
| 218 | + }) |
| 219 | + setTimeout(() => { |
| 220 | + uni.navigateBack() |
| 221 | + }, 3000) |
| 222 | + return |
| 223 | + } |
| 224 | + this.jdGoodsDetail = res.data |
| 225 | + this.goodsDetail.basicInfo.minPrice = this.jdGoodsDetail.price.priceSale |
| 226 | + this.goodsDetail.basicInfo.originalPrice = this.jdGoodsDetail.price.priceJd |
| 227 | + this.goodsDetail.basicInfo.name = this.jdGoodsDetail.price.skuName |
| 228 | + if (this.jdGoodsDetail.info.wxintroduction) { |
| 229 | + this.wxintroduction = JSON.parse(this.jdGoodsDetail.info.wxintroduction) |
| 230 | + } |
| 231 | + this.jdvopGoodsSkuImages(skuId) |
| 232 | + }, |
| 233 | + async jdvopGoodsSkuImages(skuId) { |
| 234 | + // https://www.yuque.com/apifm/nu0f75/pvcu30 |
| 235 | + const res = await this.$wxapi.jdvopGoodsSkuImages(skuId) |
| 236 | + if (res.code == 0) { |
| 237 | + const pics = res.data |
| 238 | + pics.forEach(ele => { |
| 239 | + ele.pic = this.jdGoodsDetail.imageDomain + ele.path |
| 240 | + }) |
| 241 | + this.goodsDetail.pics = pics |
188 | 242 | } |
189 | 243 | }, |
190 | | - async jdvopGoodsDetail(skuId) { |
191 | | - // https://www.yuque.com/apifm/nu0f75/ar77dc |
192 | | - const res = await this.$wxapi.jdvopGoodsDetail(skuId) |
| 244 | + async joycityPointsGoodsDetail(skuId) { |
| 245 | + const res = await this.$wxapi.joycityPointsGoodsDetail(skuId) |
193 | 246 | if (res.code != 0) { |
194 | 247 | uni.showToast({ |
195 | 248 | title: res.msg, |
|
200 | 253 | }, 3000) |
201 | 254 | return |
202 | 255 | } |
203 | | - this.jdGoodsDetail = res.data |
204 | | - this.goodsDetail.basicInfo.minPrice = this.jdGoodsDetail.price.priceSale |
205 | | - this.goodsDetail.basicInfo.originalPrice = this.jdGoodsDetail.price.priceJd |
206 | | - this.goodsDetail.basicInfo.name = this.jdGoodsDetail.price.skuName |
207 | | - if (this.jdGoodsDetail.info.wxintroduction) { |
208 | | - this.wxintroduction = JSON.parse(this.jdGoodsDetail.info.wxintroduction) |
209 | | - } |
210 | | - this.jdvopGoodsSkuImages(skuId) |
211 | | - }, |
212 | | - async jdvopGoodsSkuImages(skuId) { |
213 | | - // https://www.yuque.com/apifm/nu0f75/pvcu30 |
214 | | - const res = await this.$wxapi.jdvopGoodsSkuImages(skuId) |
215 | | - if (res.code == 0) { |
216 | | - const pics = res.data |
217 | | - pics.forEach(ele => { |
218 | | - ele.pic = this.jdGoodsDetail.imageDomain + ele.path |
| 256 | + const pics = [] |
| 257 | + res.data.providerImgUrls.split(',').forEach(ele => { |
| 258 | + pics.push({ |
| 259 | + pic: ele |
219 | 260 | }) |
220 | | - this.goodsDetail.pics = pics |
221 | | - } |
222 | | - }, |
| 261 | + }) |
| 262 | + this.goodsDetail.pics = pics |
| 263 | + this.goodsDetail.basicInfo.name = res.data.goodsName |
| 264 | + this.goodsDetail.basicInfo.minPrice = 0 |
| 265 | + this.goodsDetail.basicInfo.minScore = res.data.goodsPrice |
| 266 | + this.goodsDetail.basicInfo.originalPrice = res.data.suggestedPrice |
| 267 | + // this.goodsDetail.content = res.data.usageGuide |
| 268 | + this.wxintroduction = res.data.pics |
| 269 | + }, |
223 | 270 | goCart() { |
224 | 271 | uni.switchTab({ |
225 | 272 | url: "/pages/cart/index" |
|
293 | 340 | res.data.result.forEach(ele => { |
294 | 341 | if (ele.user && !ele.user.avatarUrl) { |
295 | 342 | ele.user.avatarUrl = '/static/images/empty.jpg' |
296 | | - } |
| 343 | + } |
297 | 344 | if (ele.user && !ele.user.nick) { |
298 | 345 | ele.user.nick = '匿名用户' |
299 | 346 | } |
|
403 | 450 | } |
404 | 451 |
|
405 | 452 | .content { |
406 | | - margin-top: 32rpx; |
| 453 | + margin-top: 32rpx; |
| 454 | + image { |
| 455 | + height: auto; |
| 456 | + } |
| 457 | + div { |
| 458 | + height: auto; |
| 459 | + } |
407 | 460 | } |
408 | 461 |
|
409 | 462 | .bottom-btns { |
|
0 commit comments