feat(react19-migration): 阶段2 - 核心框架层迁移
- T2.1: request.ts 确认无 Vue 依赖,无需修改 - T2.5: errorHandler.ts ElMessage → antd message - T2.7: 新增 API (menu/config/dict/file/notice/loginLog) + 类型定义 (menu/permission/user) - 清理旧 Vue 测试文件、views、stores、router、directives - 修复 tsconfig: 添加 module:ESNext + types:vite/client 验证: npx tsc --noEmit 无类型错误
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
import request from '@/utils/request'
|
||||
import { MenuStatus } from '@/constants/status'
|
||||
|
||||
export interface MenuItem {
|
||||
id: number
|
||||
name: string
|
||||
path: string
|
||||
icon: string
|
||||
component: string
|
||||
parentId: number
|
||||
sort: number
|
||||
type: 'directory' | 'menu' | 'button'
|
||||
permission: string
|
||||
status: MenuStatus
|
||||
visible: boolean
|
||||
children?: MenuItem[]
|
||||
createdAt: string
|
||||
updatedAt: string
|
||||
}
|
||||
|
||||
export interface CreateMenuRequest {
|
||||
name: string
|
||||
path?: string
|
||||
icon?: string
|
||||
component?: string
|
||||
parentId: number
|
||||
sort: number
|
||||
type: 'directory' | 'menu' | 'button'
|
||||
permission?: string
|
||||
status?: MenuStatus
|
||||
visible?: boolean
|
||||
}
|
||||
|
||||
export interface UpdateMenuRequest {
|
||||
name?: string
|
||||
path?: string
|
||||
icon?: string
|
||||
component?: string
|
||||
parentId?: number
|
||||
sort?: number
|
||||
type?: 'directory' | 'menu' | 'button'
|
||||
permission?: string
|
||||
status?: MenuStatus
|
||||
visible?: boolean
|
||||
}
|
||||
|
||||
export const menuApi = {
|
||||
getAll: () =>
|
||||
request.get<MenuItem[]>('/menus'),
|
||||
|
||||
getById: (id: number) =>
|
||||
request.get<MenuItem>(`/menus/${id}`),
|
||||
|
||||
getTree: () =>
|
||||
request.get<MenuItem[]>('/menus/tree'),
|
||||
|
||||
create: (data: CreateMenuRequest) =>
|
||||
request.post<MenuItem>('/menus', data),
|
||||
|
||||
update: (id: number, data: UpdateMenuRequest) =>
|
||||
request.put<MenuItem>(`/menus/${id}`, data),
|
||||
|
||||
delete: (id: number) =>
|
||||
request.delete<void>(`/menus/${id}`),
|
||||
}
|
||||
Reference in New Issue
Block a user