import request from './request' // ============ 用户管理 ============ export function getUserList(page = 1, size = 10, username?: string) { return request.get('/base/sys/user/list', { params: { page, size, username } }) } export function getUserById(id: number) { return request.get(`/base/sys/user/${id}`) } export function createUser(data: any) { return request.post('/base/sys/user', data) } export function updateUser(id: number, data: any) { return request.put(`/base/sys/user/${id}`, data) } export function toggleUserStatus(id: number, status: number) { return request.put(`/base/sys/user/${id}/status?status=${status}`) } // ============ 角色管理 ============ export function getRoleList(page = 1, size = 10) { return request.get('/base/sys/role/list', { params: { page, size } }) } export function getRoleById(id: number) { return request.get(`/base/sys/role/${id}`) } export function createRole(data: any) { return request.post('/base/sys/role', data) } export function updateRole(id: number, data: any) { return request.put(`/base/sys/role/${id}`, data) } export function deleteRole(id: number) { return request.delete(`/base/sys/role/${id}`) } export function getRolePresets() { return request.get('/base/sys/role/presets') } export function getRolePermissions(roleKey: string) { return request.get(`/base/sys/role/permissions/${roleKey}`) } export function initRolePresets() { return request.post('/base/sys/role/init-presets') } // ============ 部门管理 ============ export function getDeptTree() { return request.get('/base/sys/dept/tree') } export function createDept(data: any) { return request.post('/base/sys/dept', data) } export function updateDept(id: number, data: any) { return request.put(`/base/sys/dept/${id}`, data) } export function deleteDept(id: number) { return request.delete(`/base/sys/dept/${id}`) } // ============ 菜单管理 ============ export function getMenuTree() { return request.get('/base/sys/menu/tree') } export function getMenuList() { return request.get('/base/sys/menu/list') } export function createMenu(data: any) { return request.post('/base/sys/menu', data) } export function updateMenu(id: number, data: any) { return request.put(`/base/sys/menu/${id}`, data) } export function deleteMenu(id: number) { return request.delete(`/base/sys/menu/${id}`) } // ============ 数据字典 ============ export function getDictTypes(dictName?: string) { return request.get('/base/sys/dict/type/list', { params: { dictName } }) } export function getDictTypeById(id: number) { return request.get(`/base/sys/dict/type/${id}`) } export function createDictType(data: any) { return request.post('/base/sys/dict/type', data) } export function updateDictType(id: number, data: any) { return request.put(`/base/sys/dict/type/${id}`, data) } export function deleteDictType(id: number) { return request.delete(`/base/sys/dict/type/${id}`) } export function getDictData(typeId: number) { return request.get('/base/sys/dict/data/list', { params: { typeId } }) } export function getDictDataByKey(dictKey: string) { return request.get(`/base/sys/dict/data/key/${dictKey}`) } export function createDictData(data: any) { return request.post('/base/sys/dict/data', data) } export function updateDictData(id: number, data: any) { return request.put(`/base/sys/dict/data/${id}`, data) } export function deleteDictData(id: number) { return request.delete(`/base/sys/dict/data/${id}`) } export function clearDictCache() { return request.post('/base/sys/dict/cache/clear') } // ============ 操作日志 ============ export function getLogList(params: { page?: number; size?: number; username?: string; module?: string; operation?: string; status?: number; startTime?: string; endTime?: string }) { return request.get('/base/sys/log/list', { params }) } export function getLogById(id: number) { return request.get(`/base/sys/log/${id}`) } export function getLogExportUrl(params: Record = {}) { const query = new URLSearchParams() Object.entries(params).forEach(([k, v]) => { if (v) query.set(k, String(v)) }) return `/api/base/sys/log/export?${query.toString()}` } export function cleanLogs() { return request.delete('/base/sys/log/clean') }