You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
import { request, AxiosRequestConfig } from '@/request.ts' import { IPage, IPageResult } from '@/types'
export const createCURD = <TParams, TResult>(api: string, options?: AxiosRequestConfig) => {
return { list: (params?: TParams & IPage) => { return request.post<IPageResult<TResult>>(`${api}/list`, { ...options, ...params }).then(data => data.data) }, add: (data: TParams) => { return request.post<TResult>(`${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<TResult>(`${api}/${id}`, options) } }
}
|