56 lines
1.3 KiB
Plaintext
56 lines
1.3 KiB
Plaintext
import { BehaviorSubject, ReplaySubject } from 'rxjs';
|
||
|
||
// 处理LoadingBar状态,只保留最后的状态
|
||
export const loadingSubject = new BehaviorSubject('start');
|
||
// 处理Message信息,缓存最后两个
|
||
export const messageSubject = new ReplaySubject(2);
|
||
// 处理Modal信息,缓存最后两个
|
||
export const modalSubject = new ReplaySubject(2);
|
||
|
||
export const $loading = {
|
||
start: () => loadingSubject.next('start'),
|
||
finish: () => loadingSubject.next('finish'),
|
||
error: () => loadingSubject.next('error'),
|
||
};
|
||
|
||
export const $message = {
|
||
success: (payload) =>
|
||
messageSubject.next({
|
||
type: 'success',
|
||
info: payload,
|
||
}),
|
||
info: (payload) =>
|
||
messageSubject.next({
|
||
type: 'info',
|
||
info: payload,
|
||
}),
|
||
warning: (payload) =>
|
||
messageSubject.next({
|
||
type: 'warning',
|
||
info: payload,
|
||
}),
|
||
error: (payload) =>
|
||
messageSubject.next({
|
||
type: 'error',
|
||
info: payload,
|
||
}),
|
||
loading: (payload) =>
|
||
messageSubject.next({
|
||
type: 'loading',
|
||
info: payload,
|
||
}),
|
||
};
|
||
|
||
export const $modal = {
|
||
info: (payload) =>
|
||
modalSubject.next({
|
||
type: 'info',
|
||
params: payload,
|
||
}),
|
||
warning: (payload) =>
|
||
modalSubject.next({
|
||
type: 'warning',
|
||
params: payload,
|
||
}),
|
||
};
|