vue3:分享-保存图片二维码到相册

本文分享了在Vue3中如何将图片和二维码保存到用户相册的实现过程,涉及到了.vue文件的使用,以及ShareSheet和Bill6两个组件的应用。
摘要由CSDN通过智能技术生成

.vue文件

<template>
    <div class="wrap">
        <div class="collection_bottom-item" @click="handleShare">
            <span><img src="../../assets/icon_certifies1.png" />分享</span>
        </div>

        <!-- 分享组件 -->
        <ShareSheet
            v-if="showShareSheet && billImg"
            :name="data?.name"
            :image="data?.cover_url"
            :show="showShare"
            :url="pathUrl"
            :billImg="billImg"
            :canvas="billCanvas"
            bill-title="分享"
            @handleCancel="showShare = false"
            @onSelect="handleSelectShare"
        />
        <Bill6
            :name="data?.name"
            :url="pathUrl"
            :issuer_name="data?.issuer_name"
            :nick-name="userInfo.nickName"
            :uuid="
                isGuoList === '1'
                    ? data?.zsw_id
                    : data?.detail?.uuid
                    ? data?.detail?.uuid
                    : data?.nft_detail_id
            "
            :time="
                dayjs(data?.mint_time ? data?.mint_time : data?.start_time).format(
                    'YYYY-MM-DD HH:mm:ss'
                )
            "
            @on-change="handleChangeBill"
        />
        <van-overlay class="my-overlay" :show="showoverlay" @click="showoverlay = false">
            <van-loading type="spinner">图片海报生成中</van-loading>
        </van-overlay>
    </div>
</template>
<script lang="ts" setup>
import { computed, ref, watch } from 'vue'
import { store } from '../../store'
import ShareSheet from '../../components/ShareSheet.vue'
import Bill6 from '../../components/Bill/Bill_6.vue'

const showShare = ref(false)
const pathUrl = ref(window.location.origin + '/#/home')
const billImg = ref('')
const billCanvas = ref()
const showoverlay = ref(false)
const showShareSheet = ref(false)

const init = async () => {
    await store.dispatch('home/getNeAssetDetail', id)
}
init()

const data = computed(() => store.state.home.meAssetDetail)
const userInfo = computed(() => store.state.login.userInfo)

watch(
    () => data.value,
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值