@@ -13,7 +13,10 @@
格式:{{ format }}
- mdi-format-color-fill
+
+ mdi-format-color-fill
+
+ mdi-magnify
mdi-content-copy
mdi-download
mdi-close
@@ -26,22 +29,21 @@
import TOverlay from "@comp/app/t-overlay.vue";
import showLoading from "@comp/func/loading.js";
import showSnackbar from "@comp/func/snackbar.js";
-import { computed, onMounted, onUnmounted, ref, shallowRef } from "vue";
+import { computed, ref, shallowRef } from "vue";
import type { TpImage } from "./tp-image.vue";
-import { useAppStore } from "@/store/modules/app.js";
-import { copyToClipboard, getImageBuffer, saveCanvasImg, saveImgLocal } from "@/utils/TGShare.js";
+import { copyToClipboard, getImageBuffer, saveCanvasImg } from "@/utils/TGShare.js";
import { bytesToSize } from "@/utils/toolFunc.js";
type TpoImageProps = { image: TpImage };
-const appStore = useAppStore();
const props = defineProps();
const visible = defineModel();
+const localLink = defineModel("link");
+const showOri = defineModel("ori");
const bgMode = ref(0); // 0: transparent, 1: black, 2: white
const isOriSize = ref(false);
-const localCover = ref();
const buffer = shallowRef(null);
const format = computed(() => {
if (props.image.attributes?.ext) return props.image.attributes.ext;
@@ -50,16 +52,6 @@ const format = computed(() => {
return "png";
});
-onMounted(async () => {
- const link = appStore.getImageUrl(props.image.insert.image);
- localCover.value = await saveImgLocal(link);
-});
-
-onUnmounted(() => {
- if (localCover.value) URL.revokeObjectURL(localCover.value);
- buffer.value = null;
-});
-
function setBlackBg(): void {
bgMode.value = (bgMode.value + 1) % 3;
const bgLabelList = ["透明", "黑色", "白色"];