<script setup>
import {watch, ref} from "vue";
import XModal from "./XModal.vue";
import Api from "../api/index.js";

const show = defineModel('show');
const qrCode = ref(null);

watch(
    () => show.value,
    (val) => {
        if (val) Api.system.createQrcode().then(({data}) => {
            qrCode.value = data.url;
        })
    }
)
</script>

<template>
    <view @click="show=true">
        <slot></slot>
    </view>

    <x-modal
        v-model:show="show">
        <view class="px-[30rpx] py-[40rpx] relative">
            <image @click="show=false" class="!w-[52rpx] !h-[52rpx] absolute top-[-110rpx] right-[calc(-100%-10rpx)]"
                   src="/static/icons/close.png"></image>

            <view class="title">绑定</view>
            <view class="!mt-[24rpx] w-[320rpx] !mx-auto aspect-square">
                <image v-if="qrCode" class="!size-full" :src="qrCode"></image>
                <tui-loading v-else type="row"></tui-loading>
            </view>
            <view class="desc !mt-[24rpx]">截图保存后，使用微信扫码并关注</view>
        </view>
    </x-modal>
</template>

<style lang="scss" scoped>
.title {
    color: rgb(29, 33, 41);
    font-size: 34rpx;
    font-weight: 500;
    line-height: 48rpx;
    letter-spacing: 0;
    text-align: center;
}

.desc {
    color: rgb(78, 89, 105);
    font-size: 28rpx;
    font-weight: 500;
    letter-spacing: 0;
    text-align: center;
}
</style>
