refactor: 重构项目接口与API调用体系,统一类型管理

1.  合并拆分的API类型定义到统一的api/interface.ts文件
2.  删除旧的api/client.ts与api/types.ts文件
3.  重构所有页面与组件的API调用方式,统一使用api/index.ts导出的接口
4.  调整组件文件结构,将分散的组件按模块整理
5.  统一类型导入路径,移除冗余的类型重复定义
This commit is contained in:
2026-07-02 14:57:06 +08:00
parent e160476ecf
commit 3451d373bc
54 changed files with 1106 additions and 930 deletions

View File

@@ -1,14 +1,14 @@
import { useState } from "react";
import { Button, Card, Form, Input, Message, Modal, Space, Table, Tag } from "@arco-design/web-react";
import { IconPlus } from "@arco-design/web-react/icon";
import type { Permission, Role } from "../api/types";
import { createRole as createRoleApi, updateRolePermissions } from "../api/roles";
import { roleApi } from "../api";
import { usePageData } from "../hooks/usePageData";
import { PermissionTreePicker } from "./PermissionTreePicker";
import { PermissionTreePicker } from "./components/PermissionTreePicker";
import type { CreateRoleFormValues, Permission, Role } from "./interface";
function RolesPage() {
const { data, loading, reload, changePage } = usePageData<Role>("/api/admin/v1/roles");
const permissions = usePageData<Permission>("/api/admin/v1/permissions");
const { data, loading, reload, changePage } = usePageData<Role>(roleApi.listRoles);
const permissions = usePageData<Permission>(roleApi.listPermissions);
const [createForm] = Form.useForm();
const [createVisible, setCreateVisible] = useState(false);
const [creatingRole, setCreatingRole] = useState(false);
@@ -24,10 +24,10 @@ function RolesPage() {
setCreateVisible(true);
};
const createRole = async (values: { code: string; name: string; description?: string }) => {
const createRole = async (values: CreateRoleFormValues) => {
setCreatingRole(true);
try {
await createRoleApi({
await roleApi.createRole({
...values,
permissionIds: createPermissionIds,
});
@@ -51,7 +51,7 @@ function RolesPage() {
}
setSavingPermissions(true);
try {
await updateRolePermissions(selectedRole.id, selectedPermissionIds);
await roleApi.updateRolePermissions(selectedRole.id, selectedPermissionIds);
Message.success("角色权限已更新");
setAssignmentVisible(false);
await reload();