可用版本

This commit is contained in:
戚辰先生 2024-11-30 22:05:14 +08:00
parent 582b7669af
commit c6a5e00788
4 changed files with 19 additions and 21 deletions

View File

@ -7,21 +7,16 @@ const BASE_URL = '/api/v1/menu';
// 获取菜单列表(分页)
export const getMenus = (params?: MenuQuery) =>
request.get<Page<MenuResponse>>(`${BASE_URL}/page`, {
params,
transform: true
params
});
// 获取菜单树
export const getMenuTree = () =>
request.get<MenuResponse[]>(`${BASE_URL}/tree`, {
transform: true
});
request.get<MenuResponse[]>(`${BASE_URL}/tree`);
// 获取当前用户菜单
export const getCurrentUserMenus = () =>
request.get<MenuResponse[]>(`${BASE_URL}/current`, {
transform: true
});
request.get<MenuResponse[]>(`${BASE_URL}/current`);
// 创建菜单
export const createMenu = (data: MenuRequest) =>

View File

@ -74,15 +74,21 @@ const UserPage: React.FC = () => {
try {
const values = await form.validateFields();
if (editingUser) {
await handleUpdate(editingUser.id, {
const success = await handleUpdate(editingUser.id, {
...values,
version: editingUser.version
});
} else {
await handleCreate(values);
}
if (success) {
setModalVisible(false);
fetchUsers();
}
} else {
const success = await handleCreate(values);
if (success) {
setModalVisible(false);
fetchUsers();
}
}
} catch (error) {
console.error('操作失败:', error);
}

View File

@ -7,8 +7,7 @@ const BASE_URL = '/api/v1/user';
// 获取用户列表(分页)
export const getUsers = (params?: UserQuery) =>
request.get<Page<UserResponse>>(`${BASE_URL}/page`, {
params,
transform: true
params
});
// 创建用户

View File

@ -11,14 +11,12 @@ export interface Response<T = any> {
export interface RequestOptions extends AxiosRequestConfig {
successMessage?: string;
errorMessage?: string;
transform?: boolean;
retryCount?: number;
retryDelay?: number;
}
// 默认请求配置
const defaultConfig: Partial<RequestOptions> = {
transform: true,
retryCount: 3,
retryDelay: 1000,
timeout: 30000
@ -48,7 +46,7 @@ const responseHandler = (response: AxiosResponse<Response<any>>) => {
if (res.success && res.code === 200) {
config.successMessage && message.success(config.successMessage);
return config.transform ? res.data : res;
return res.data;
} else {
message.error(config.errorMessage || res.message);
return Promise.reject(res);
@ -105,16 +103,16 @@ request.interceptors.response.use(responseHandler, errorHandler);
const http = {
get: <T = any>(url: string, config?: RequestOptions) =>
request.get<any, Response<T>>(url, createRequestConfig({transform: true, ...config})),
request.get<any, Response<T>>(url, createRequestConfig(config)),
post: <T = any>(url: string, data?: any, config?: RequestOptions) =>
request.post<any, Response<T>>(url, data, createRequestConfig({transform: true, ...config})),
request.post<any, Response<T>>(url, data, createRequestConfig(config)),
put: <T = any>(url: string, data?: any, config?: RequestOptions) =>
request.put<any, Response<T>>(url, data, createRequestConfig({transform: true, ...config})),
request.put<any, Response<T>>(url, data, createRequestConfig(config)),
delete: <T = any>(url: string, config?: RequestOptions) =>
request.delete<any, Response<T>>(url, createRequestConfig({transform: true, ...config})),
request.delete<any, Response<T>>(url, createRequestConfig(config)),
upload: <T = any>(url: string, file: File, config?: RequestOptions) => {
const formData = new FormData();