Files
testing-tool/utils/clipboard.ts
T
雨霖铃 9d1d8a362a fix(剪贴板): 改进剪贴板操作的错误处理
在复制文本和图片到剪贴板时,捕获并返回更详细的错误信息
同时更新GlobalSnackbar组件,优化类型导入和消息显示
2026-05-04 13:26:33 +08:00

40 lines
1.0 KiB
TypeScript

/**
* 复制文本到剪贴板
* @param text 要复制的文本
* @returns Promise<boolean> 是否复制成功
*/
export const copyTextToClipboard = async (text: string): Promise<boolean> => {
return new Promise((resolve, reject) => {
navigator.clipboard
.writeText(text)
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(`复制文本到剪贴板失败,错误: ${error?.message || 'Unknown error'}`));
});
});
};
/**
* 复制图片到剪贴板
* @param blob 要复制的图片
* @returns Promise<boolean> 是否复制成功
*/
export const copyImageToClipboard = async (blob: Blob): Promise<boolean> => {
return new Promise((resolve, reject) => {
navigator.clipboard
.write([
new ClipboardItem({
'image/png': blob,
}),
])
.then(() => {
resolve(true);
})
.catch((error) => {
reject(new Error(`复制图片到剪贴板失败,错误: ${error?.message || 'Unknown error'}`));
});
});
};