import axios from 'axios'; const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || ''; // 权限相关类型定义 export interface Permission { id?: number; parentId?: number; permissionCode: string; permissionName: string; type?: string; path?: string; method?: string; icon?: string; component?: string; description?: string; sortOrder?: number; status?: number; createTime?: string; updateTime?: string; children?: Permission[]; } /** * 获取所有权限列表 */ export const getAllPermissions = async (): Promise => { const response = await axios.get(`${API_BASE_URL}/api/permissions`); return response.data.data; }; /** * 获取权限树形结构 */ export const getPermissionTree = async (): Promise => { const response = await axios.get(`${API_BASE_URL}/api/permissions/tree`); return response.data.data; }; /** * 根据ID获取权限 */ export const getPermissionById = async (id: number): Promise => { const response = await axios.get(`${API_BASE_URL}/api/permissions/${id}`); return response.data.data; }; /** * 根据用户ID获取权限列表 */ export const getPermissionsByUserId = async (userId: number): Promise => { const response = await axios.get(`${API_BASE_URL}/api/permissions/user/${userId}`); return response.data.data; }; /** * 根据用户ID获取权限代码列表 */ export const getPermissionCodesByUserId = async (userId: number): Promise => { const response = await axios.get(`${API_BASE_URL}/api/permissions/user/${userId}/codes`); return response.data.data; }; /** * 创建权限 */ export const createPermission = async (permission: Permission): Promise => { const response = await axios.post(`${API_BASE_URL}/api/permissions`, permission); return response.data.data; }; /** * 更新权限 */ export const updatePermission = async (id: number, permission: Partial): Promise => { const response = await axios.put(`${API_BASE_URL}/api/permissions/${id}`, permission); return response.data.data; }; /** * 删除权限 */ export const deletePermission = async (id: number): Promise => { const response = await axios.delete(`${API_BASE_URL}/api/permissions/${id}`); return response.data.data; };