买家端新增视频播放功能
parent
6a653198c3
commit
9fce33ca18
|
@ -10,6 +10,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@amap/amap-jsapi-loader": "0.0.7",
|
"@amap/amap-jsapi-loader": "0.0.7",
|
||||||
"axios": "^0.19.2",
|
"axios": "^0.19.2",
|
||||||
|
"dplayer": "^1.27.1",
|
||||||
"js-cookie": "^2.2.1",
|
"js-cookie": "^2.2.1",
|
||||||
"less": "^2.7.0",
|
"less": "^2.7.0",
|
||||||
"less-loader": "^5.0.0",
|
"less-loader": "^5.0.0",
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/><path d="M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z" fill="none" stroke="#333" stroke-width="4" stroke-linejoin="round"/></svg>
|
After Width: | Height: | Size: 468 B |
|
@ -4,22 +4,15 @@
|
||||||
<!-- 详情左侧展示数据、图片,收藏、举报 -->
|
<!-- 详情左侧展示数据、图片,收藏、举报 -->
|
||||||
<div class="item-detail-left">
|
<div class="item-detail-left">
|
||||||
<!-- 大图、放大镜 -->
|
<!-- 大图、放大镜 -->
|
||||||
|
<!-- <div id="dplayer"></div> -->
|
||||||
<div class="item-detail-big-img">
|
<div class="item-detail-big-img">
|
||||||
<pic-zoom :url="imgList[imgIndex].url" :scale="2"></pic-zoom>
|
|
||||||
</div>
|
<pic-zoom :url="imgList[imgIndex].url" :scale="2"></pic-zoom>
|
||||||
<div
|
|
||||||
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
|
|
||||||
style="margin-top:10px;rgb(153, 149, 149);"
|
|
||||||
>
|
|
||||||
实物商品
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
v-else-if="skuDetail.goodsType == 'VIRTUAL_GOODS'"
|
|
||||||
style="margin-top:10px;rgb(153, 149, 149);"
|
|
||||||
>
|
|
||||||
虚拟商品
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- <div id="dplayer"></div> -->
|
||||||
<div class="item-detail-img-row">
|
<div class="item-detail-img-row">
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="item-detail-img-small"
|
class="item-detail-img-small"
|
||||||
@mouseover="imgIndex = index"
|
@mouseover="imgIndex = index"
|
||||||
|
@ -44,6 +37,18 @@
|
||||||
<div class="item-detail-title">
|
<div class="item-detail-title">
|
||||||
<p>
|
<p>
|
||||||
{{ skuDetail.goodsName }}
|
{{ skuDetail.goodsName }}
|
||||||
|
<Tag
|
||||||
|
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
|
||||||
|
style="margin-top:10px;rgb(153, 149, 149);"
|
||||||
|
>
|
||||||
|
实物商品
|
||||||
|
</Tag>
|
||||||
|
<Tag
|
||||||
|
v-else-if="skuDetail.goodsType == 'VIRTUAL_GOODS'"
|
||||||
|
style="margin-top:10px;rgb(153, 149, 149);"
|
||||||
|
>
|
||||||
|
虚拟商品
|
||||||
|
</Tag>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="sell-point">
|
<div class="sell-point">
|
||||||
|
@ -272,7 +277,8 @@
|
||||||
class="add-buy-car"
|
class="add-buy-car"
|
||||||
v-if="$route.query.way !== 'POINT' && skuDetail.authFlag === 'PASS'"
|
v-if="$route.query.way !== 'POINT' && skuDetail.authFlag === 'PASS'"
|
||||||
>
|
>
|
||||||
<Button
|
|
||||||
|
<Button
|
||||||
type="error"
|
type="error"
|
||||||
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
|
v-if="skuDetail.goodsType !== 'VIRTUAL_GOODS'"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
|
@ -287,9 +293,15 @@
|
||||||
@click="buyNow"
|
@click="buyNow"
|
||||||
>立即购买</Button
|
>立即购买</Button
|
||||||
>
|
>
|
||||||
|
<Tooltip content="观看视频">
|
||||||
|
<img class="view-video" @click="showGoodsVideo = true" :src="require('@/assets/iconfont/play.svg')" alt="">
|
||||||
|
</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<Modal title="浏览视频" v-model="showGoodsVideo">
|
||||||
|
<div id="dplayer"></div>
|
||||||
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -297,6 +309,7 @@
|
||||||
<script>
|
<script>
|
||||||
import Promotion from "./Promotion.vue";
|
import Promotion from "./Promotion.vue";
|
||||||
import PicZoom from "vue-piczoom"; // 图片放大
|
import PicZoom from "vue-piczoom"; // 图片放大
|
||||||
|
import DPlayer from "dplayer";
|
||||||
import {
|
import {
|
||||||
collectGoods,
|
collectGoods,
|
||||||
isCollection,
|
isCollection,
|
||||||
|
@ -304,6 +317,7 @@ import {
|
||||||
cancelCollect,
|
cancelCollect,
|
||||||
} from "@/api/member.js";
|
} from "@/api/member.js";
|
||||||
import { addCartGoods } from "@/api/cart.js";
|
import { addCartGoods } from "@/api/cart.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ShowGoods",
|
name: "ShowGoods",
|
||||||
props: {
|
props: {
|
||||||
|
@ -321,14 +335,22 @@ export default {
|
||||||
if (this.wholesaleList && this.wholesaleList.length > 0) {
|
if (this.wholesaleList && this.wholesaleList.length > 0) {
|
||||||
this.count = this.wholesaleList[0].num;
|
this.count = this.wholesaleList[0].num;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.swiperGoodsImg();
|
this.swiperGoodsImg();
|
||||||
},
|
},
|
||||||
deep: true,
|
deep: true,
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
showGoodsVideo(val){
|
||||||
|
if(val){
|
||||||
|
this.initVideo();
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
showGoodsVideo:false,
|
||||||
|
goodsVideo:"",
|
||||||
wholesaleList: [],
|
wholesaleList: [],
|
||||||
count: 1, // 商品数量
|
count: 1, // 商品数量
|
||||||
imgIndex: 0, // 展示图片下标
|
imgIndex: 0, // 展示图片下标
|
||||||
|
@ -368,6 +390,24 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 初始化video
|
||||||
|
initVideo(){
|
||||||
|
if(!this.goodsVideo ){
|
||||||
|
setTimeout(()=>{
|
||||||
|
this.goodsVideo = new DPlayer({
|
||||||
|
container: document.getElementById('dplayer'),
|
||||||
|
video: {
|
||||||
|
url:this.skuDetail.goodsVideo,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},100)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
changeCount(val) {
|
changeCount(val) {
|
||||||
if (this.wholesaleList && this.wholesaleList.length > 0) {
|
if (this.wholesaleList && this.wholesaleList.length > 0) {
|
||||||
if (this.count <= this.wholesaleList[0].num) {
|
if (this.count <= this.wholesaleList[0].num) {
|
||||||
|
@ -544,6 +584,7 @@ export default {
|
||||||
this.imgList = e.specImage;
|
this.imgList = e.specImage;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -599,6 +640,7 @@ export default {
|
||||||
|
|
||||||
.item-detail-left {
|
.item-detail-left {
|
||||||
width: 350px;
|
width: 350px;
|
||||||
|
|
||||||
margin-right: 30px;
|
margin-right: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -607,8 +649,14 @@ export default {
|
||||||
height: 350px;
|
height: 350px;
|
||||||
box-shadow: 0px 0px 8px $border_color;
|
box-shadow: 0px 0px 8px $border_color;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
#dplayer{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
.item-detail-big-img img {
|
.item-detail-big-img img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
@ -842,11 +890,14 @@ export default {
|
||||||
|
|
||||||
.add-buy-car-box {
|
.add-buy-car-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
border-top: 1px dotted $border_color;
|
border-top: 1px dotted $border_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-buy-car {
|
.add-buy-car {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
> * {
|
> * {
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
|
@ -869,5 +920,8 @@ export default {
|
||||||
color: red;
|
color: red;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
.view-video{
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
/******************商品图片及购买详情结束******************/
|
/******************商品图片及购买详情结束******************/
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -153,7 +153,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<div @click="moreOptions" v-if="tagsContent.length>4" class="more-options">{{showTagCount===5?'更多筛选项':'收起筛选项'}}<Icon :type="showTagCount===5?'ios-arrow-down':'ios-arrow-up'" /></div>
|
<div @click="moreOptions" v-if="tagsContent.length>4" class="more-options">
|
||||||
|
{{showTagCount===5?'更多筛选项':'收起筛选项'}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -178,6 +178,7 @@ export default {
|
||||||
// 搜索
|
// 搜索
|
||||||
handleSearch(key) {
|
handleSearch(key) {
|
||||||
this.params.keyword = key;
|
this.params.keyword = key;
|
||||||
|
this.$route.query.keyword = key
|
||||||
this.params.pageNumber = 0;
|
this.params.pageNumber = 0;
|
||||||
this.getGoodsList();
|
this.getGoodsList();
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue