123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import service from './service'
- import { CONTENT_TYPE } from '../constants'
- import { useUserStoreWithOut } from '../store/modules/user'
- const request = (option: AxiosConfig) => {
- const { url, method, params, data, headers, responseType } = option
- const userStore = useUserStoreWithOut()
- return service.request({
- url: url,
- method,
- params,
- data: data,
- responseType: responseType,
- headers: {
- 'Content-Type': CONTENT_TYPE,
- [userStore.getTokenKey ?? 'Authorization']: userStore.getToken ?? '',
- ...headers
- }
- })
- }
- export default {
- get: <T = any>(option: AxiosConfig) => {
- return request({ method: 'get', ...option }) as Promise<IResponse<T>>
- },
- post: <T = any>(option: AxiosConfig) => {
- return request({ method: 'post', ...option }) as Promise<IResponse<T>>
- },
- delete: <T = any>(option: AxiosConfig) => {
- return request({ method: 'delete', ...option }) as Promise<IResponse<T>>
- },
- put: <T = any>(option: AxiosConfig) => {
- return request({ method: 'put', ...option }) as Promise<IResponse<T>>
- },
- cancelRequest: (url: string | string[]) => {
- return service.cancelRequest(url)
- },
- cancelAllRequest: () => {
- return service.cancelAllRequest()
- }
- }
|