Commit 72b3b155 authored by Xuguangxing's avatar Xuguangxing

feat: 增加详情页分享

parent 11b38334
...@@ -42,10 +42,8 @@ ...@@ -42,10 +42,8 @@
</div> </div>
</template> </template>
<script> <script>
import goodsCheckMixin from '@/mixins/goodsCheck.mixin';
export default { export default {
name: 'BottomNav', name: 'BottomNav',
mixins: [goodsCheckMixin],
props: { props: {
groupId: { groupId: {
type: Number, type: Number,
...@@ -83,9 +81,6 @@ export default { ...@@ -83,9 +81,6 @@ export default {
createOrJoin(mark) { createOrJoin(mark) {
// 参团 // 参团
// mark 1-> 开团 2-> 参团 // mark 1-> 开团 2-> 参团
if (this.checkLogin()) {
return;
}
this.$emit('buy', mark); this.$emit('buy', mark);
} }
} }
......
...@@ -21,7 +21,12 @@ ...@@ -21,7 +21,12 @@
<!-- </template> --> <!-- </template> -->
</div> </div>
<div v-if="showButtonGroup" ref="buttonArea" class="button-area"> <div v-if="showButtonGroup" ref="buttonArea" class="button-area">
<cr-button v-if="groupInfo.groupBuyStatus == 1" block shape="circle" type="primary" <cr-button
v-if="groupInfo.groupBuyStatus == 1"
block
shape="circle"
type="primary"
@click="share"
>邀请好友</cr-button >邀请好友</cr-button
> >
<cr-button v-else plain block shape="circle" type="primary" @click="toList" <cr-button v-else plain block shape="circle" type="primary" @click="toList"
...@@ -87,11 +92,13 @@ export default { ...@@ -87,11 +92,13 @@ export default {
}, },
methods: { methods: {
toList() { toList() {
console.log(this.$route);
const { activityId } = this.$route.query || ''; const { activityId } = this.$route.query || '';
if (activityId) { if (activityId) {
this.$router.push({ name: 'groupBuyList', query: { activityId } }); this.$router.push({ name: 'groupBuyList', query: { activityId } });
} }
},
share() {
this.$emit('share');
} }
} }
}; };
......
...@@ -263,7 +263,7 @@ export default { ...@@ -263,7 +263,7 @@ export default {
}) })
}, },
created() { created() {
this.hasLogin = localStorage.get('vccToken') != 'null' ? true : false; this.hasLogin = localStorage.get('vccToken') ? true : false;
this.detailParam = { ...this.$route.query }; this.detailParam = { ...this.$route.query };
localStorage.remove('orderData'); localStorage.remove('orderData');
localStorage.set('activityId', this.detailParam.templateId); // 设置活动模板id,用于下单 localStorage.set('activityId', this.detailParam.templateId); // 设置活动模板id,用于下单
......
...@@ -65,6 +65,7 @@ ...@@ -65,6 +65,7 @@
:timestemp="groupTimestemp" :timestemp="groupTimestemp"
:show-button-group="true" :show-button-group="true"
@changeButtonVisible="changeButtonVisible" @changeButtonVisible="changeButtonVisible"
@share="setShareData"
/> />
<successInfo :group-info="detailInfo.groupBuyInfo || {}" /> <successInfo :group-info="detailInfo.groupBuyInfo || {}" />
<cr-divider <cr-divider
...@@ -90,6 +91,7 @@ ...@@ -90,6 +91,7 @@
</div> </div>
</div> </div>
<bottom-nav v-if="showButtonNav" :status="2" :disabled="false" @share="shareTo" /> <bottom-nav v-if="showButtonNav" :status="2" :disabled="false" @share="shareTo" />
<sharePic ref="sharePic" :share-pic-data="sharePicData" @outputPicUrl="outputPicUrl" />
</div> </div>
</template> </template>
<script> <script>
...@@ -101,6 +103,7 @@ import successInfo from '@/components/groupBuySuccessInfo'; ...@@ -101,6 +103,7 @@ import successInfo from '@/components/groupBuySuccessInfo';
import rules from '@/components/rules'; import rules from '@/components/rules';
import groupDescInfo from './components/groupDescInfo'; import groupDescInfo from './components/groupDescInfo';
import localStorage from '@/service/localStorage.service'; import localStorage from '@/service/localStorage.service';
import sharePic from '@/components/sharePic';
export default { export default {
// eslint-disable-next-line vue/name-property-casing // eslint-disable-next-line vue/name-property-casing
name: 'goodDetail', name: 'goodDetail',
...@@ -110,7 +113,8 @@ export default { ...@@ -110,7 +113,8 @@ export default {
avatorGroup, avatorGroup,
successInfo, successInfo,
rules, rules,
groupDescInfo groupDescInfo,
sharePic
}, },
data() { data() {
return { return {
...@@ -120,6 +124,7 @@ export default { ...@@ -120,6 +124,7 @@ export default {
inProgress: false, // 活动是否已经开始 inProgress: false, // 活动是否已经开始
countDownText: '', countDownText: '',
stockPercentage: 0, stockPercentage: 0,
sharePicData: {},
// 以下是原有的data // 以下是原有的data
detailParam: { detailParam: {
skuNo: '', skuNo: '',
...@@ -129,13 +134,11 @@ export default { ...@@ -129,13 +134,11 @@ export default {
detailInfo: {}, detailInfo: {},
imgList: [], imgList: [],
detailImgList: [], // 商品详情图像展示 detailImgList: [], // 商品详情图像展示
hasLogin: false,
name: {}, name: {},
showButtonNav: false // 是否显示底部按钮 showButtonNav: false // 是否显示底部按钮
}; };
}, },
created() { created() {
this.hasLogin = window.localStorage.getItem('vccToken') != 'null' ? true : false;
this.detailParam = { ...this.$route.query }; this.detailParam = { ...this.$route.query };
localStorage.set('activityId', this.detailParam.templateId); // 设置活动模板id,用于下单 localStorage.set('activityId', this.detailParam.templateId); // 设置活动模板id,用于下单
if (this.detailParam.groupBuyGroupId) { if (this.detailParam.groupBuyGroupId) {
...@@ -159,8 +162,38 @@ export default { ...@@ -159,8 +162,38 @@ export default {
}, 5000); }, 5000);
}, },
methods: { methods: {
shareTo() { outputPicUrl(res) {
// 分享 const shareInfo = {
title: this.detailInfo.goodsName,
desc: '',
link: `${window.location.href}&groupBuyGroupId=${this.groupId}` || '', // 页面地址
imgUrl: this.detailInfo.thumbImageUrl, // 图片地
posterUrl: res || ''
};
this.$store.dispatch('goods_share_open', shareInfo);
},
setShareData() {
const avatorList = [];
this.detailInfo.groupBuyInfo.groupBuyValidUserInfoList.map(v => {
avatorList.push(v.avatar);
});
this.sharePicData = {
groupBuySuccessGuys: this.detailInfo?.groupBuyInfo.groupBuySuccessPersonCount,
salePrice: this.detailInfo.price, // y
groupBuyGroupId: this.groupId,
goodsSpecialId: this.detailParam.goodsSpecialId,
openGroupCnt: this.detailInfo?.groupBuyInfo.groupBuyLimitUserCount,
templateId: this.detailParam.templateId,
templateDetailId: this.detailParam.templateDetailId,
needGuys: this.detailInfo?.groupBuyInfo.groupBuyNeedUserCount,
skuName: this.detailInfo.goodsName, // y
activityId: this.detailParam.activityId,
skuImg: this.detailInfo.thumbImageUrl, // y,
activityPrice: this.detailInfo.activityPrice, // y
skuNo: this.detailParam.skuNo,
peoplePhotoList: ['https://img.lkbang.net/avator/default.png']
};
this.$refs.sharePic.createAndUploadPic();
}, },
changeButtonVisible(res) { changeButtonVisible(res) {
this.showButtonNav = res; this.showButtonNav = res;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment