mirror of
https://github.com/EstrellaXD/Auto_Bangumi.git
synced 2026-04-24 18:40:03 +08:00
webui: add rss manage function.
This commit is contained in:
@@ -1,24 +1,28 @@
|
||||
import type { RSS } from '#/rss';
|
||||
import type { ApiSuccess } from '#/api';
|
||||
import type {RSS} from '#/rss';
|
||||
import type {ApiSuccess} from '#/api';
|
||||
|
||||
export const useRSSStore = defineStore('rss', () => {
|
||||
const message = useMessage();
|
||||
const rss = ref<RSS[]>();
|
||||
const selectedRSS= ref<number[]>([]);
|
||||
const selectedRSS = ref<number[]>([]);
|
||||
|
||||
const { execute: getAll, onResult: onRSSResult } = useApi(
|
||||
const {execute: getAll, onResult: onRSSResult} = useApi(
|
||||
apiRSS.get
|
||||
);
|
||||
const { execute: updateRSS, onResult: onUpdateRSSResult } = useApi(
|
||||
const {execute: updateRSS, onResult: onUpdateRSSResult} = useApi(
|
||||
apiRSS.update
|
||||
);
|
||||
const { execute: disableRSS, onResult: onDisableRSSResult} = useApi(
|
||||
const {execute: disableRSS, onResult: onDisableRSSResult} = useApi(
|
||||
apiRSS.disableMany
|
||||
);
|
||||
const { execute: deleteRSS, onResult: onDeleteRSSResult } = useApi(
|
||||
const {execute: deleteRSS, onResult: onDeleteRSSResult} = useApi(
|
||||
apiRSS.deleteMany
|
||||
);
|
||||
|
||||
const {execute: enableRSS, onResult: onEnableRSSResult} = useApi(
|
||||
apiRSS.enableMany
|
||||
);
|
||||
|
||||
|
||||
onRSSResult((res) => {
|
||||
function sort(arr: RSS[]) {
|
||||
@@ -43,18 +47,28 @@ export const useRSSStore = defineStore('rss', () => {
|
||||
deleteRSS(selectedRSS.value);
|
||||
}
|
||||
|
||||
function enableSelected() {
|
||||
enableRSS(selectedRSS.value);
|
||||
}
|
||||
|
||||
function actionSuccess(apiRes: ApiSuccess) {
|
||||
message.success(apiRes.msg_en);
|
||||
refresh();
|
||||
}
|
||||
|
||||
function appendSelected(id: number) {
|
||||
selectedRSS.value.push(id);
|
||||
function handleCheckboxClicked(id: number) {
|
||||
if (selectedRSS.value.includes(id)) {
|
||||
// delete id in list
|
||||
selectedRSS.value = selectedRSS.value.filter((e) => e !== id);
|
||||
} else {
|
||||
selectedRSS.value.push(id)
|
||||
}
|
||||
}
|
||||
|
||||
onUpdateRSSResult(actionSuccess);
|
||||
onDeleteRSSResult(actionSuccess);
|
||||
onDisableRSSResult(actionSuccess)
|
||||
onDisableRSSResult(actionSuccess);
|
||||
onEnableRSSResult(actionSuccess);
|
||||
|
||||
return {
|
||||
rss,
|
||||
@@ -63,6 +77,7 @@ export const useRSSStore = defineStore('rss', () => {
|
||||
selectedRSS,
|
||||
disableSelected,
|
||||
deleteSelected,
|
||||
appendSelected,
|
||||
enableSelected,
|
||||
handleCheckboxClicked,
|
||||
};
|
||||
});
|
||||
|
||||
@@ -10,7 +10,7 @@ import type {BangumiRule} from "#/bangumi";
|
||||
|
||||
export const useSearchStore = defineStore('search', () => {
|
||||
const input$ = new Subject<string>();
|
||||
const onInput = (e: Event) => input$.next(e.target);
|
||||
// const onInput = (e: Event) => input$.next(e.target);
|
||||
const providers = ref<string[]>(['mikan', 'dmhy', 'nyaa']);
|
||||
const site = ref<string>('mikan');
|
||||
|
||||
@@ -24,30 +24,29 @@ export const useSearchStore = defineStore('search', () => {
|
||||
providers.value = res;
|
||||
});
|
||||
|
||||
input$.pipe(
|
||||
debounceTime(1000),
|
||||
tap((input: string) => {
|
||||
console.log('input', input)
|
||||
// clear Search Result List
|
||||
|
||||
}),
|
||||
switchMap((input: string) => apiSearch.get(input, site.value)),
|
||||
tap((bangumi: BangumiRule) => console.log(bangumi)),
|
||||
tap((bangumi: BangumiRule) => {
|
||||
console.log('bangumi', bangumi)
|
||||
// set bangumi info to Search Result List
|
||||
}),
|
||||
).subscribe({
|
||||
complete() {
|
||||
// end of stream, stop loading animation
|
||||
}
|
||||
}, (err) => {
|
||||
console.error(err);
|
||||
});
|
||||
// input$.pipe(
|
||||
// debounceTime(1000),
|
||||
// tap((input: string) => {
|
||||
// console.log('input', input)
|
||||
// // clear Search Result List
|
||||
//
|
||||
// }),
|
||||
// switchMap((input: string) => apiSearch.get(input, site.value)),
|
||||
// tap((bangumi: BangumiRule) => console.log(bangumi)),
|
||||
// tap((bangumi: BangumiRule) => {
|
||||
// console.log('bangumi', bangumi)
|
||||
// // set bangumi info to Search Result List
|
||||
// }),
|
||||
// ).subscribe({
|
||||
// complete() {
|
||||
// // end of stream, stop loading animation
|
||||
// }
|
||||
// }, (err) => {
|
||||
// console.error(err);
|
||||
// });
|
||||
|
||||
|
||||
return {
|
||||
onInput,
|
||||
|
||||
bangumiInfo$,
|
||||
site,
|
||||
|
||||
Reference in New Issue
Block a user