mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-29 17:55:24 +00:00
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
import crypto from 'crypto';
|
|
import { useToast } from '@/hooks/useToast';
|
|
|
|
/**
|
|
* copy text data
|
|
*/
|
|
export const useCopyData = () => {
|
|
const { toast } = useToast();
|
|
|
|
return {
|
|
copyData: async (data: string, title: string = '复制成功') => {
|
|
try {
|
|
if (navigator.clipboard) {
|
|
await navigator.clipboard.writeText(data);
|
|
} else {
|
|
throw new Error('');
|
|
}
|
|
} catch (error) {
|
|
const textarea = document.createElement('textarea');
|
|
textarea.value = data;
|
|
document.body.appendChild(textarea);
|
|
textarea.select();
|
|
document.execCommand('copy');
|
|
document.body.removeChild(textarea);
|
|
}
|
|
|
|
toast({
|
|
title,
|
|
status: 'success',
|
|
duration: 1000
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
/**
|
|
* 密码加密
|
|
*/
|
|
export const createHashPassword = (text: string) => {
|
|
const hash = crypto.createHash('sha256').update(text).digest('hex');
|
|
return hash;
|
|
};
|
|
|
|
/**
|
|
* 对象转成 query 字符串
|
|
*/
|
|
export const Obj2Query = (obj: Record<string, string | number>) => {
|
|
const queryParams = new URLSearchParams();
|
|
for (const key in obj) {
|
|
queryParams.append(key, `${obj[key]}`);
|
|
}
|
|
return queryParams.toString();
|
|
};
|