import { request, AxiosRequestConfig } from '@/request.ts' import { IPage, IPageResult } from '@/types' export const createCURD = (api: string, options?: AxiosRequestConfig) => { return { list: (params?: TParams & IPage) => { return request.post>(`${api}/list`, { ...options, ...params }).then(data => data.data) }, add: (data: TParams) => { return request.post(`${api}/add`, data, options) }, update: (data: TParams) => { return request.post(`${api}/edit`, data, options) }, delete: (id: number) => { return request.delete(`${api}/delete`, { ...options, params: { id } }) }, batchDelete: (ids: number[]) => { return request.delete(`${api}/deletes`, { ...options, params: { ids } }) }, info: (id: number) => { return request.get(`${api}/${id}`, options) } } }