refactor: refactor useAxios
This commit is contained in:
parent
dfedbc74fd
commit
185f1e6e21
|
@ -6,20 +6,20 @@ import type {
|
||||||
MonthlySales
|
MonthlySales
|
||||||
} from './types'
|
} from './types'
|
||||||
|
|
||||||
const { request } = useAxios()
|
const request = useAxios()
|
||||||
|
|
||||||
export const getCountApi = () => {
|
export const getCountApi = () => {
|
||||||
return request<AnalysisTotalTypes>({ url: '/analysis/total', method: 'get' })
|
return request.get<AnalysisTotalTypes>({ url: '/analysis/total' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getUserAccessSourceApi = () => {
|
export const getUserAccessSourceApi = () => {
|
||||||
return request<UserAccessSource[]>({ url: '/analysis/userAccessSource', method: 'get' })
|
return request.get<UserAccessSource[]>({ url: '/analysis/userAccessSource' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getWeeklyUserActivityApi = () => {
|
export const getWeeklyUserActivityApi = () => {
|
||||||
return request<WeeklyUserActivity[]>({ url: '/analysis/weeklyUserActivity', method: 'get' })
|
return request.get<WeeklyUserActivity[]>({ url: '/analysis/weeklyUserActivity' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getMonthlySalesApi = () => {
|
export const getMonthlySalesApi = () => {
|
||||||
return request<MonthlySales[]>({ url: '/analysis/monthlySales', method: 'get' })
|
return request.get<MonthlySales[]>({ url: '/analysis/monthlySales' })
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
import { useAxios } from '@/hooks/web/useAxios'
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
import type { WorkplaceTotal, Project, Dynamic, Team, RadarData } from './types'
|
import type { WorkplaceTotal, Project, Dynamic, Team, RadarData } from './types'
|
||||||
|
|
||||||
const { request } = useAxios()
|
const request = useAxios()
|
||||||
|
|
||||||
export const getCountApi = () => {
|
export const getCountApi = () => {
|
||||||
return request<WorkplaceTotal>({ url: '/workplace/total', method: 'get' })
|
return request.get<WorkplaceTotal>({ url: '/workplace/total' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getProjectApi = () => {
|
export const getProjectApi = () => {
|
||||||
return request<Project[]>({ url: '/workplace/project', method: 'get' })
|
return request.get<Project[]>({ url: '/workplace/project' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getDynamicApi = () => {
|
export const getDynamicApi = () => {
|
||||||
return request<Dynamic[]>({ url: '/workplace/dynamic', method: 'get' })
|
return request.get<Dynamic[]>({ url: '/workplace/dynamic' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getTeamApi = () => {
|
export const getTeamApi = () => {
|
||||||
return request<Team[]>({ url: '/workplace/team', method: 'get' })
|
return request.get<Team[]>({ url: '/workplace/team' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getRadarApi = () => {
|
export const getRadarApi = () => {
|
||||||
return request<RadarData[]>({ url: '/workplace/radar', method: 'get' })
|
return request.get<RadarData[]>({ url: '/workplace/radar' })
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
import { useAxios } from '@/hooks/web/useAxios'
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
import type { UserLoginType, UserType } from './types'
|
import type { UserLoginType, UserType } from './types'
|
||||||
|
|
||||||
const { request } = useAxios()
|
const request = useAxios()
|
||||||
|
|
||||||
export const loginApi = (data: UserLoginType) => {
|
export const loginApi = (data: UserLoginType) => {
|
||||||
return request({ url: '/user/login', method: 'post', data } as AxiosConfig<
|
return request.post({
|
||||||
Recordable,
|
url: '/user/login',
|
||||||
UserLoginType
|
data
|
||||||
>)
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const loginOutApi = () => {
|
export const loginOutApi = () => {
|
||||||
return request({ url: '/user/loginOut', method: 'get' })
|
return request.get({ url: '/user/loginOut' })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getUserListApi = ({ params }: AxiosConfig) => {
|
export const getUserListApi = ({ params }: AxiosConfig) => {
|
||||||
return request<{
|
return request.get<{
|
||||||
total: number
|
total: number
|
||||||
list: UserType[]
|
list: UserType[]
|
||||||
}>({ url: '/user/list', method: 'get', params })
|
}>({ url: '/user/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getAdminRoleApi = ({ params }: AxiosConfig) => {
|
export const getAdminRoleApi = ({ params }) => {
|
||||||
return request<{
|
return request.get<{
|
||||||
list: AppCustomRouteRecordRaw[]
|
list: AppCustomRouteRecordRaw[]
|
||||||
}>({ url: '/role/list', method: 'get', params })
|
}>({ url: '/role/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getTestRoleApi = ({ params }: AxiosConfig) => {
|
export const getTestRoleApi = ({ params }) => {
|
||||||
return request<{
|
return request.get<{
|
||||||
list: string[]
|
list: string[]
|
||||||
}>({ url: '/role/list', method: 'get', params })
|
}>({ url: '/role/list', params })
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,37 +1,23 @@
|
||||||
import { useAxios } from '@/hooks/web/useAxios'
|
import { useAxios } from '@/hooks/web/useAxios'
|
||||||
import type { TableData } from './types'
|
import type { TableData } from './types'
|
||||||
|
|
||||||
const { request } = useAxios()
|
const request = useAxios()
|
||||||
|
|
||||||
export const getTableListApi = ({ params }: AxiosConfig) => {
|
export const getTableListApi = ({ params }) => {
|
||||||
return request<{
|
return request.get<{
|
||||||
total: number
|
total: number
|
||||||
list: TableData[]
|
list: TableData[]
|
||||||
}>({ url: '/example/list', method: 'get', params })
|
}>({ url: '/example/list', params })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const saveTableApi = ({ data }: AxiosConfig<Recordable, TableData>) => {
|
export const saveTableApi = ({ data }) => {
|
||||||
return request({ url: '/example/save', method: 'post', data })
|
return request.post<TableData>({ url: '/example/save', data })
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getTableDetApi = ({
|
export const getTableDetApi = ({ params }) => {
|
||||||
params
|
return request.get<TableData>({ url: '/example/detail', params })
|
||||||
}: AxiosConfig<
|
|
||||||
{
|
|
||||||
id: string
|
|
||||||
},
|
|
||||||
Recordable
|
|
||||||
>) => {
|
|
||||||
return request<TableData>({ url: '/example/detail', method: 'get', params })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const delTableListApi = ({
|
export const delTableListApi = ({ data }) => {
|
||||||
data
|
return request.post({ url: '/example/delete', data })
|
||||||
}: AxiosConfig<
|
|
||||||
Recordable,
|
|
||||||
{
|
|
||||||
id: string[] | number[]
|
|
||||||
}
|
|
||||||
>) => {
|
|
||||||
return request({ url: '/example/delete', method: 'post', data })
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import { config } from '@/config/axios/config'
|
||||||
|
|
||||||
const { default_headers } = config
|
const { default_headers } = config
|
||||||
|
|
||||||
export const useAxios = () => {
|
|
||||||
const request = <T>(option: AxiosConfig): AxiosPromise<T> => {
|
const request = <T>(option: AxiosConfig): AxiosPromise<T> => {
|
||||||
const { url, method, params, data, headersType, responseType } = option
|
const { url, method, params, data, headersType, responseType } = option
|
||||||
return service({
|
return service({
|
||||||
|
@ -21,7 +20,27 @@ export const useAxios = () => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
|
||||||
|
return request<T>({ method: 'get', ...option })
|
||||||
|
}
|
||||||
|
|
||||||
|
function postFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
|
||||||
|
return request<T>({ method: 'post', ...option })
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
|
||||||
|
return request<T>({ method: 'delete', ...option })
|
||||||
|
}
|
||||||
|
|
||||||
|
function putFn<T = any>(option: AxiosConfig): AxiosPromise<T> {
|
||||||
|
return request<T>({ method: 'put', ...option })
|
||||||
|
}
|
||||||
|
|
||||||
|
export const useAxios = () => {
|
||||||
return {
|
return {
|
||||||
request
|
get: getFn,
|
||||||
|
post: postFn,
|
||||||
|
delete: deleteFn,
|
||||||
|
put: putFn
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,9 @@ declare type AxiosMethod = 'get' | 'post' | 'delete' | 'put'
|
||||||
|
|
||||||
declare type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
|
declare type AxiosResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream'
|
||||||
|
|
||||||
declare type AxiosConfig<T = Recordable, K = Recordable> = {
|
declare type AxiosConfig = {
|
||||||
params?: T
|
params?: any
|
||||||
data?: K
|
data?: any
|
||||||
url?: string
|
url?: string
|
||||||
method?: AxiosMethod
|
method?: AxiosMethod
|
||||||
headersType?: string
|
headersType?: string
|
||||||
|
|
Loading…
Reference in New Issue