mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-14 10:30:35 +08:00
50 lines
1.1 KiB
TypeScript
50 lines
1.1 KiB
TypeScript
import type { RSS } from '#/rss';
|
|
import type { ApiSuccess } from '#/api';
|
|
|
|
export const useRSSStore = defineStore('rss', () => {
|
|
const message = useMessage();
|
|
const rss = ref<RSS[]>();
|
|
|
|
const { execute: getAll, onResult: onRSSResult } = useApi(
|
|
apiRSS.get
|
|
);
|
|
const { execute: updateRSS, onResult: onUpdateRSSResult } = useApi(
|
|
apiRSS.update
|
|
);
|
|
const { execute: deleteRSS, onResult: onDeleteRSSResult } = useApi(
|
|
apiRSS.delete
|
|
);
|
|
|
|
|
|
onRSSResult((res) => {
|
|
function sort(arr: RSS[]) {
|
|
return arr.sort((a, b) => b.id - a.id);
|
|
}
|
|
|
|
const enabled = sort(res.filter((e) => e.enabled));
|
|
const disabled = sort(res.filter((e) => !e.enabled));
|
|
|
|
rss.value = [...enabled, ...disabled];
|
|
});
|
|
|
|
function refresh() {
|
|
getAll();
|
|
}
|
|
|
|
function actionSuccess(apiRes: ApiSuccess) {
|
|
message.success(apiRes.msg_en);
|
|
refresh();
|
|
}
|
|
|
|
onUpdateRSSResult(actionSuccess);
|
|
onDeleteRSSResult(actionSuccess);
|
|
|
|
return {
|
|
rss,
|
|
getAll,
|
|
refresh,
|
|
updateRSS,
|
|
deleteRSS,
|
|
};
|
|
});
|