项目列表添加复制发布项目的地址

main
zhufu 2025-02-24 11:40:52 +08:00
parent caf0ab89ee
commit 35f415a789
3 changed files with 29 additions and 4 deletions

View File

@ -20,5 +20,6 @@
"r_unpublish": "Unpublish",
"r_download": "Download",
"r_delete": "Delete",
"r_more": "More"
"r_more": "More",
"r_copy_url": "Copy Release Address"
}

View File

@ -17,5 +17,6 @@
"r_unpublish": "取消发布",
"r_download": "下载",
"r_delete": "删除",
"r_more": "更多"
"r_more": "更多",
"r_copy_url": "复制发布地址"
}

View File

@ -62,7 +62,7 @@
</n-dropdown>
</template>
<n-tooltip v-else placement="bottom" trigger="hover">
<n-tooltip v-else placement="bottom" trigger="hover" v-if="!(item.key === 'copyUrl') || (item.key === 'copyUrl' && cardData.release)">
<template #trigger>
<n-button size="small" @click="handleSelect(item.key)">
<template #icon>
@ -84,7 +84,7 @@
<script setup lang="ts">
import { reactive, ref, PropType } from 'vue';
import { renderIcon, renderLang, requireErrorImg } from '@/utils';
import { renderIcon, renderLang, requireErrorImg, previewPath } from '@/utils';
import { icon } from '@/plugins';
import { MacOsControlBtn } from '@/components/Tips/MacOsControlBtn';
import { Chartype } from '../../index.d';
@ -115,6 +115,11 @@
key: 'edit',
icon: renderIcon(HammerIcon),
},
{
label: renderLang('global.r_copy_url'),
key: 'copyUrl',
icon: renderIcon(CopyIcon),
},
{
lable: renderLang('global.r_more'),
key: 'select',
@ -156,6 +161,9 @@
case 'edit':
editHandle();
break;
case 'copyUrl':
copyUrl()
break
}
};
@ -187,6 +195,21 @@
const requireUrl = (name: string) => {
return new URL(`../../../../../assets/images/${name}`, import.meta.url).href;
};
//
const copyUrl = () => {
try{
let url = previewPath(props.cardData.id)
const textarea = document.createElement("textarea");
textarea.value = url;
document.body.appendChild(textarea);
textarea.select();
document.execCommand("copy");
document.body.removeChild(textarea);
window['$message'].success('地址复制成功')
}catch(error){
window['$message'].error('地址复制失败')
}
}
</script>
<style lang="scss" scoped>