jiuyiUniapp/shop/components/share/shareByAli.vue

157 lines
2.9 KiB
Vue
Raw Normal View History

2024-12-18 15:46:27 +08:00
<template>
<view style="width: 100%;height: 300upx;background: #FFFFFF;position: absolute;left:0;bottom: 0;">
<view class="share-pop">
<view class="share-item">
<button class="btn" open-type="share">
<image src="/static/share-f.png" mode=""></image>
<button class="btn" open-type="share">分享给好友</button>
</button>
</view>
<view class="share-item" @click="createPoster()">
<image src="/static/poster.png" mode=""></image>
<view class="">生成海报</view>
</view>
</view>
<view class="button-bottom">
<button class="btn btn-w btn-square" @click="close()">关闭</button>
</view>
</view>
</template>
<script>
import { apiBaseUrl } from '@/config/config.js'
export default {
props: {
// 商品id
goodsId: {
type: Number,
default: 0
},
// 分享的图片
shareImg: {
type: String,
default: ''
},
// 分享标题
shareTitle: {
type: String,
default: ''
},
// 分享内容
shareContent: {
type: String,
default: ''
},
// 分享链接
shareHref: {
type: String,
default: ''
},
//分享类型
shareType:{
type:Number,
default:1
},
//拼团id
groupId:{
type:Number,
default:0
},
//拼团的团队id
teamId:{
type:Number,
default:0
}
},
data () {
return {
providerList: [] // 分享通道 包含生成海报
}
},
mounted () {
},
methods: {
// 关闭弹出层
close () {
this.$emit('close')
},
// 生成海报
createPoster () {
let data = {};
if (this.shareType == 1) {
//商品
data = {
page: 2, //商品
url: '../../pagesU/user/jump',
params: {
goods_id: this.goodsId
},
type: 3,//海报
client: 6
}
let userToken = this.$db.get('userToken')
if (userToken) {
data.token = userToken
}
} else if(this.shareType == 3) {
//拼团
data = {
page: 3, //商品
url: '../../pagesU/user/jump',
params: {
goods_id: this.goodsId,
group_id: this.groupId,
team_id: this.teamId
},
type: 3,//海报
client: 6
}
let userToken = this.$db.get('userToken')
if (userToken) {
data.token = userToken
}
}
this.$api.share(data, res => {
if (res.status) {
this.close()
this.$common.navigateTo('../../pagesU/user/share?poster=' + encodeURIComponent(res.data))
} else {
this.$mHelper.toast(res.msg)
}
});
},
// 分享操作
async share (e) {
}
}
}
</script>
<style>
.share-pop{
height: 300upx;
width: 100%;
display: flex;
}
.share-item{
flex: 1;
text-align: center;
font-size: 26upx;
color: #333;
padding: 20upx 0;
}
.share-item image{
width: 80upx;
height: 80upx;
margin: 20upx;
}
.share-item .btn{
line-height: 1;
display: block;
font-size: 26upx;
background-color: #fff;
}
</style>