refactor(projects): refactor page: user-management [重构用户管理页面]

This commit is contained in:
Soybean
2022-09-29 00:24:59 +08:00
parent 88e535f63c
commit 468b4bb0e1
26 changed files with 340 additions and 351 deletions

View File

@@ -1,42 +1,13 @@
import { EnumGender } from '@/enum';
import { isUndefined } from '@/utils';
export function adapterOfFetchUserList(data: ApiUserManagement.User[] | null): UserManagement.User[] {
if (!data) return [];
export function adapterOfFetchUserManagementList(
requestData: ApiUserManagement.UserTable[]
): UserManagement.UserTable[] {
const genderMap: Record<
NonNullable<ApiUserManagement.UserTable['gender']>,
NonNullable<UserManagement.UserTable['userGender']>
> = {
'0': 'female',
'1': 'male'
};
// 1. 有可能依赖于多个接口的结果,再转换成页面的数据
// 2. 接口定义的字段有可能为null, 例如 预期是数组却返回了null导致调用数组方法报错
// 3. 字段可能丢失
return requestData.map((item, index) => {
const { id, name: userName, age, gender, phone: userPhone, email: userEmail, role: userRole, disabled } = item;
const userAge = isUndefined(age) ? '无' : String(age);
const userGender = gender !== null ? genderMap[gender] : 'null';
const result: UserManagement.UserTable = {
return data.map((item, index) => {
const user: UserManagement.User = {
index: index + 1,
key: id,
id,
userName,
userAge,
userGender,
userGenderLabel: EnumGender[userGender],
userPhone,
userEmail,
userRole,
disabled
key: item.id,
...item
};
return result;
return user;
});
}