mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
refactor(projects): refactor page: user-management [重构用户管理页面]
This commit is contained in:
@ -1,10 +0,0 @@
|
||||
export function adapterOfFetchDataWithAdapter(data: ApiDemo.DataWithAdapter): Demo.DataWithAdapter {
|
||||
const { dataId, dataName } = data;
|
||||
|
||||
const result: Demo.DataWithAdapter = {
|
||||
id: dataId,
|
||||
name: dataName
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
import { adapter } from '@/utils';
|
||||
import { mockRequest, request } from '../request';
|
||||
import { adapterOfFetchDataWithAdapter } from './demo.adapter';
|
||||
|
||||
/** 带有适配器的请求示例 */
|
||||
export async function fetchDataWithAdapter() {
|
||||
const res = await mockRequest.post<ApiDemo.DataWithAdapter>('/apiDemoWithAdapter');
|
||||
return adapter(adapterOfFetchDataWithAdapter, res);
|
||||
}
|
||||
|
||||
/** 测试代理后的请求 */
|
||||
export function testRequestWithProxy() {
|
||||
return request.get('/test-proxy'); // 确保.env-config的url和当前地址组成的 `${url}/test-proxy` 是有效的后端接口
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
export * from './auth';
|
||||
export * from './demo';
|
||||
export * from './management';
|
||||
|
@ -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;
|
||||
});
|
||||
}
|
||||
|
@ -1,12 +1,9 @@
|
||||
import { adapter } from '@/utils';
|
||||
import { mockRequest } from '../request';
|
||||
import { adapterOfFetchUserManagementList } from './management.adapter';
|
||||
import { adapterOfFetchUserList } from './management.adapter';
|
||||
|
||||
/**
|
||||
* 获取用户管理列表
|
||||
*/
|
||||
export async function fetchUserManagementList() {
|
||||
const data = await mockRequest.post<ApiUserManagement.UserTable[]>('/getUserManagementList');
|
||||
|
||||
return adapter(adapterOfFetchUserManagementList, data);
|
||||
}
|
||||
/** 获取用户列表 */
|
||||
export const fetchUserList = async () => {
|
||||
const data = await mockRequest.post<ApiUserManagement.User[] | null>('/getAllUserList');
|
||||
return adapter(adapterOfFetchUserList, data);
|
||||
};
|
||||
|
Reference in New Issue
Block a user