<!--
 * @Descripttion: 
 * @version: 
 * @Author: 王三华
 * @Date: 2023-06-27 20:11:55
-->
<template>
    <view>
        <backIcon></backIcon>
        <view class="shareImg" @click="show = true">
            <u-icon name="more-dot-fill" size="24" color="#fff">
            </u-icon>
        </view>
        <view class="contain" v-if="specialArea == 7" id="myImage">
            <img class="bgPic" src="@/static/images/shareBg.jpg" alt="">
            <img class="qrImg" :src="shareImg" alt="">
            <view class="mem">{{ memberCode }}</view>
            <img class="btImg2" src="@/static/images/btnShare.png" @click="show = true" alt="">
        </view>
        <view class="contain1" v-if="specialArea == 21" id="myImage">
            <img class="bgPic" src="@/static/images/hai.jpeg" alt="">
            <img class="qrImg" :src="shareImg" alt="">
            <view class="mem">{{ memberCode }}</view>
            <img class="btImg" src="@/static/images/btnShare.png" @click="show = true" alt="">
        </view>
        <u-action-sheet :actions="list" @select='checkList' :safeAreaInsetBottom="true" @close='closeList' :closeOnClickOverlay="true" :show="show"></u-action-sheet>
    </view>
</template>

<script>
import * as api from '@/config/goods'
import html2canvas from 'html2canvas'
import backIcon from '@/components/backIcon.vue'
export default {
    components: {
        backIcon,
    },
    data() {
        return {
            specialArea: '',
            shareImg: '',
            list: [{
                    name: this.$t('w_0311'),
                    id: 0,
                },
                {
                    name:  this.$t('MY_ORD_24'),
                    id: 1,
                },
            ],
            memberCode:'',
            show: false,
        }
    },
    onLoad(options) {
        this.specialArea = options.specialArea
        this.memberCode = uni.getStorageSync('User').memberCode
        this.getQr()
        let titLabel = ''
        if (this.specialArea == 7) {
            titLabel = this.$t('N_I_2')
        } else {
            titLabel = this.$t('N_I_3')
        }
        uni.setNavigationBarTitle({
            title: titLabel,
            success: () => {},
        })
    },
    methods: {
        closeList() {
            this.show = false
        },
        checkList(e) {
            if (e.id == 1) {
                this.closeList()
            } else {
                this.saveImage()
                this.closeList()
            }
        },
        getQr() {
            let url
            if (this.specialArea == 7) {
                url = api.fansCode
            } else {
                url = api.shareCode
            }
            url().then((res) => {
                this.shareImg = 'data:image/png;base64,' + res.data.dataStr
            })
        },
        saveImage() {
            const options = {
                backgroundColor: null,
                scale: window.devicePixelRatio,
                dpi: 300
            }
            html2canvas(document.querySelector('#myImage'), options).then(
                (canvas) => {
                    let url = canvas.toDataURL('image/png')
                    let a = document.createElement('a')
                    a.href = url
                    a.setAttribute('download', 'sharePost')
                    a.click()
                }
            )
        },
    },
}
</script>

<style lang="scss" scoped>
.contain {
    // background: url('@/static/images/shareBg.png') no-repeat;
    // background-size: 100% 100%;
    // background-position: 50% 50%;
    height: 100vh;
    // width: 100%;
    .qrImg {
        width: 320rpx;
        height: 320rpx;
        position: absolute;
        bottom: 18%;
        left: 50%;
        transform: translateX(-50%);
    }
    .mem{
      position: absolute;
        bottom: 15%;
        left: 50%;
        font-size: 18px;
        font-weight: 500;
        transform: translateX(-50%);
    }
    .btImg2{
       width: 300rpx;
    height: 100rpx;
        position: absolute;
        bottom: 9%;
        left: 50%;
        transform: translateX(-50%);
    }
}

.contain1 {
    // background: url('@/static/images/hai.jpeg') no-repeat;
    // background-size: 100% 100%;
    // background-position: 50% 50%;
    height: 100vh;
    // width: 100%;
    .qrImg {
        width: 320rpx;
        height: 320rpx;
        position: absolute;
        bottom: 35%;
        left: 50%;
        transform: translateX(-50%);
    }
    .mem{
      position: absolute;
        bottom: 31%;
        left: 50%;
        font-size: 18px;
        font-weight: 500;
        transform: translateX(-50%);
    }
    .btImg{
      width: 300rpx;
    height: 100rpx;
        position: absolute;
        bottom: 24%;
        left: 50%;
        transform: translateX(-50%);
    }
}

.bgPic {
    width: 100%;
    height: 100%;
}

.shareImg {
    position: fixed;
    margin: 14rpx 24rpx;
    z-index: 9999;
    right: 20rpx;
    top: 5rpx;
}
</style>