feat: 主机列表视图.
This commit is contained in:
@@ -1,30 +1,29 @@
|
||||
import type { FavoriteType } from '@/api/meta/favorite';
|
||||
import { Message } from '@arco-design/web-vue';
|
||||
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 request = { relId: id, type };
|
||||
Message.clear();
|
||||
const loading = Message.loading(record[cancelField] ? '取消中' : '收藏中');
|
||||
try {
|
||||
loading.value = true;
|
||||
if (record[cancelField]) {
|
||||
// 取消收藏
|
||||
await cancelFavorite(request);
|
||||
record[cancelField] = false;
|
||||
Message.success('已取消');
|
||||
} else {
|
||||
// 添加收藏
|
||||
await addFavorite(request);
|
||||
record[cancelField] = true;
|
||||
Message.success('已收藏');
|
||||
}
|
||||
} catch (e) {
|
||||
} finally {
|
||||
loading.close();
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
return {
|
||||
loading,
|
||||
toggle
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user