🐛 修复分享图米游铺icon渲染异常

This commit is contained in:
目棃
2024-08-26 18:29:23 +08:00
parent 2535e3e5ae
commit f0a64b6e91
3 changed files with 25 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="tp-link-card-box">
<img :src="props.data.insert.link_card.cover" alt="cover" @click="toLink()" />
<img :src="cover" alt="cover" @click="toLink()" />
<div class="tp-link-card-content">
<span>{{ props.data.insert.link_card.title }}</span>
<div v-if="props.data.insert.link_card.price" class="tp-link-card-price">
@@ -13,10 +13,11 @@
</div>
</template>
<script lang="ts" setup>
import { toRaw } from "vue";
import { onMounted, toRaw, ref, onUnmounted } from "vue";
import { useRouter } from "vue-router";
import { parseLink, parsePost } from "../../utils/linkParser.js";
import { saveImgLocal } from "../../utils/TGShare.js";
import showSnackbar from "../func/snackbar.js";
interface TpLinkCard {
@@ -44,6 +45,20 @@ interface TpLinkCardProps {
const props = defineProps<TpLinkCardProps>();
const router = useRouter();
const cover = ref<string>(props.data.insert.link_card.cover);
onMounted(async () => {
if (!cover.value.startsWith("blob:")) {
cover.value = await saveImgLocal(props.data.insert.link_card.cover);
}
});
onUnmounted(() => {
if (cover.value.startsWith("blob:")) {
URL.revokeObjectURL(cover.value);
}
});
console.log("tpLinkCard", props.data.insert.link_card.card_id, toRaw(props.data).insert.link_card);
async function toLink() {