🎉 重构前端代码.

This commit is contained in:
lijiahangmax
2025-06-25 14:49:36 +08:00
parent 5183b7ccb4
commit 6149010bf4
49 changed files with 564 additions and 573 deletions

View File

@@ -18,7 +18,7 @@ export const copy = async (value: string | undefined, tips: string | boolean = `
};
// 获取剪切板内容
export const readText = () => {
export const readText = (tips: boolean = true) => {
if (navigator.clipboard) {
return navigator.clipboard.readText();
} else {
@@ -30,7 +30,7 @@ export const readText = () => {
textarea.select();
try {
const success = document.execCommand('paste');
if (!success) {
if (!success && tips) {
Message.error('当前环境无法读取剪切板内容');
}
resolve(textarea.value);

View File

@@ -1,31 +1,37 @@
import type { FavoriteItem } from '@/types/global';
import type { FavoriteType } from '@/api/meta/favorite';
import { addFavorite, cancelFavorite } from '@/api/meta/favorite';
import { ref } from 'vue';
export default function useFavorite(type: FavoriteType) {
const loading = ref(false);
const toggle = async (record: any, id: number, cancelField = 'favorite') => {
const toggle = async <T extends FavoriteItem>(record: T, id: number) => {
// 防抖
if (loading.value) {
return;
}
const request = { relId: id, type };
try {
loading.value = true;
if (record[cancelField]) {
if (record.favorite) {
// 取消收藏
await cancelFavorite(request);
record[cancelField] = false;
record.favorite = false;
} else {
// 添加收藏
await addFavorite(request);
record[cancelField] = true;
record.favorite = true;
}
} catch (e) {
} finally {
loading.value = false;
}
};
return {
loading,
toggle
};
}

View File

@@ -0,0 +1,26 @@
import { ref } from 'vue';
import { Message } from '@arco-design/web-vue';
export default function useLimit(limit = 500) {
const last = ref(0);
const checkLimited = (tips: string | boolean = true) => {
const now = Date.now();
if (now > last.value + limit) {
last.value = now;
return true;
} else {
if (tips === true) {
Message.error('操作频率过快, 请稍后再试');
} else if (tips) {
Message.error(tips);
}
return false;
}
};
return {
last,
checkLimited,
};
}