Слияние кода завершено, страница обновится автоматически
import { observable, action } from 'mobx';
import { IUser, IStaff } from 'types/base-type';
import { getAccount, getUserList, addUser, modfiyUser, deleteUser } from 'lib/api';
import { roleMap } from 'constants/status-map';
import { setCookie, getCookie } from 'lib/utils';
export class Users {
@observable
public loading: boolean = false;
@observable
public currentUser: IUser = {
role: Number(getCookie('role')),
chineseName: getCookie('chineseName'),
} as IUser;
@observable
public userData: IUser[] = [];
@observable
public staff: IStaff[] = [];
@action.bound
public setAccount(data: IUser) {
setCookie([{ key: 'role', value: `${data.role}`, time: 1 }]);
setCookie([{ key: 'username', value: `${data.username}`, time: 1 }]);
data.chineseName = getCookie('chineseName');
this.currentUser = data;
}
@action.bound
public setUserData(data: IUser[]) {
this.userData = data.map((d: IUser, index: number) => {
d.roleName = roleMap[d.role];
d.key = index;
return d;
});
this.setLoading(false);
}
@action.bound
public setLoading(value: boolean) {
this.loading = value;
}
public getAccount() {
getAccount().then(this.setAccount);
}
public getUserList() {
this.setLoading(true);
getUserList().then(this.setUserData);
}
public deleteUser(username: string) {
deleteUser(username).then(() => this.getUserList());
}
public modfiyUser(params: IUser) {
return modfiyUser(params).then(() => this.getUserList());
}
public addUser(params: IUser) {
return addUser(params).then(() => this.getUserList());
}
}
export const users = new Users();
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )