-
Notifications
You must be signed in to change notification settings - Fork 656
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c589edd
commit 0980640
Showing
10 changed files
with
151 additions
and
192 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,11 @@ | ||
import { useAxios } from '@/hooks/web/useAxios' | ||
|
||
const request = useAxios() | ||
import request from '@/config/axios' | ||
|
||
// 获取所有字典 | ||
export const getDictApi = async (): Promise<IResponse> => { | ||
const res = await request.get({ url: '/dict/list' }) | ||
return res && res.data | ||
export const getDictApi = (): Promise<IResponse> => { | ||
return request.get({ url: '/dict/list' }) | ||
} | ||
|
||
// 模拟获取某个字典 | ||
export const getDictOneApi = async (): Promise<IResponse> => { | ||
const res = await request.get({ url: '/dict/one' }) | ||
return res && res.data | ||
return request.get({ url: '/dict/one' }) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,23 @@ | ||
import { useAxios } from '@/hooks/web/useAxios' | ||
import request from '@/config/axios' | ||
import type { | ||
AnalysisTotalTypes, | ||
UserAccessSource, | ||
WeeklyUserActivity, | ||
MonthlySales | ||
} from './types' | ||
|
||
const request = useAxios() | ||
|
||
export const getCountApi = async (): Promise<IResponse<AnalysisTotalTypes[]>> => { | ||
const res = await request.get({ url: '/analysis/total' }) | ||
return res && res.data | ||
export const getCountApi = (): Promise<IResponse<AnalysisTotalTypes[]>> => { | ||
return request.get({ url: '/analysis/total' }) | ||
} | ||
|
||
export const getUserAccessSourceApi = async (): Promise<IResponse<UserAccessSource[]>> => { | ||
const res = await request.get({ url: '/analysis/userAccessSource' }) | ||
return res && res.data | ||
export const getUserAccessSourceApi = (): Promise<IResponse<UserAccessSource[]>> => { | ||
return request.get({ url: '/analysis/userAccessSource' }) | ||
} | ||
|
||
export const getWeeklyUserActivityApi = async (): Promise<IResponse<WeeklyUserActivity[]>> => { | ||
const res = await request.get({ url: '/analysis/weeklyUserActivity' }) | ||
return res && res.data | ||
export const getWeeklyUserActivityApi = (): Promise<IResponse<WeeklyUserActivity[]>> => { | ||
return request.get({ url: '/analysis/weeklyUserActivity' }) | ||
} | ||
|
||
export const getMonthlySalesApi = async (): Promise<IResponse<MonthlySales[]>> => { | ||
const res = await request.get({ url: '/analysis/monthlySales' }) | ||
return res && res.data | ||
export const getMonthlySalesApi = (): Promise<IResponse<MonthlySales[]>> => { | ||
return request.get({ url: '/analysis/monthlySales' }) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,22 @@ | ||
import { useAxios } from '@/hooks/web/useAxios' | ||
import request from '@/config/axios' | ||
import type { WorkplaceTotal, Project, Dynamic, Team, RadarData } from './types' | ||
|
||
const request = useAxios() | ||
|
||
export const getCountApi = async (): Promise<IResponse<WorkplaceTotal>> => { | ||
const res = await request.get({ url: '/workplace/total' }) | ||
return res && res.data | ||
export const getCountApi = (): Promise<IResponse<WorkplaceTotal>> => { | ||
return request.get({ url: '/workplace/total' }) | ||
} | ||
|
||
export const getProjectApi = async (): Promise<IResponse<Project>> => { | ||
const res = await request.get({ url: '/workplace/project' }) | ||
return res && res.data | ||
export const getProjectApi = (): Promise<IResponse<Project>> => { | ||
return request.get({ url: '/workplace/project' }) | ||
} | ||
|
||
export const getDynamicApi = async (): Promise<IResponse<Dynamic[]>> => { | ||
const res = await request.get({ url: '/workplace/dynamic' }) | ||
return res && res.data | ||
export const getDynamicApi = (): Promise<IResponse<Dynamic[]>> => { | ||
return request.get({ url: '/workplace/dynamic' }) | ||
} | ||
|
||
export const getTeamApi = async (): Promise<IResponse<Team[]>> => { | ||
const res = await request.get({ url: '/workplace/team' }) | ||
return res && res.data | ||
export const getTeamApi = (): Promise<IResponse<Team[]>> => { | ||
return request.get({ url: '/workplace/team' }) | ||
} | ||
|
||
export const getRadarApi = async (): Promise<IResponse<RadarData[]>> => { | ||
const res = await request.get({ url: '/workplace/radar' }) | ||
return res && res.data | ||
export const getRadarApi = (): Promise<IResponse<RadarData[]>> => { | ||
return request.get({ url: '/workplace/radar' }) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,18 @@ | ||
import { useAxios } from '@/hooks/web/useAxios' | ||
import request from '@/config/axios' | ||
import type { TableData } from './types' | ||
|
||
const request = useAxios() | ||
|
||
export const getTableListApi = async (params: any): Promise<IResponse> => { | ||
const res = await request.get({ url: '/example/list', params }) | ||
return res && res.data | ||
export const getTableListApi = (params: any): Promise<IResponse> => { | ||
return request.get({ url: '/example/list', params }) | ||
} | ||
|
||
export const saveTableApi = async (data: Partial<TableData>): Promise<IResponse> => { | ||
const res = await request.post({ url: '/example/save', data }) | ||
return res && res.data | ||
export const saveTableApi = (data: Partial<TableData>): Promise<IResponse> => { | ||
return request.post({ url: '/example/save', data }) | ||
} | ||
|
||
export const getTableDetApi = async (id: string): Promise<IResponse<TableData>> => { | ||
const res = await request.get({ url: '/example/detail', params: { id } }) | ||
return res && res.data | ||
export const getTableDetApi = (id: string): Promise<IResponse<TableData>> => { | ||
return request.get({ url: '/example/detail', params: { id } }) | ||
} | ||
|
||
export const delTableListApi = async (ids: string[] | number[]): Promise<IResponse> => { | ||
const res = await request.post({ url: '/example/delete', data: { ids } }) | ||
return res && res.data | ||
export const delTableListApi = (ids: string[] | number[]): Promise<IResponse> => { | ||
return request.post({ url: '/example/delete', data: { ids } }) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,33 @@ | ||
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' | ||
|
||
import { ElMessage } from 'element-plus' | ||
|
||
import qs from 'qs' | ||
|
||
import { config } from '@/config/axios/config' | ||
|
||
const { result_code, base_url } = config | ||
|
||
export const PATH_URL = base_url[import.meta.env.VITE_API_BASEPATH] | ||
|
||
// 创建axios实例 | ||
const service: AxiosInstance = axios.create({ | ||
baseURL: PATH_URL, // api 的 base_url | ||
timeout: config.request_timeout // 请求超时时间 | ||
}) | ||
|
||
// request拦截器 | ||
service.interceptors.request.use( | ||
(config: AxiosRequestConfig) => { | ||
if ( | ||
config.method === 'post' && | ||
config!.headers!['Content-Type'] === 'application/x-www-form-urlencoded' | ||
) { | ||
config.data = qs.stringify(config.data) | ||
import { service } from './service' | ||
|
||
import { config } from './config' | ||
|
||
const { default_headers } = config | ||
|
||
const request = (option: any) => { | ||
const { url, method, params, data, headersType, responseType } = option | ||
return service({ | ||
url: url, | ||
method, | ||
params, | ||
data, | ||
responseType: responseType, | ||
headers: { | ||
'Content-Type': headersType || default_headers | ||
} | ||
// 添加token,可根据实际业务修改 | ||
// config!.headers!['Authorization'] = 'something' | ||
// get参数编码 | ||
if (config.method === 'get' && config.params) { | ||
let url = config.url as string | ||
url += '?' | ||
const keys = Object.keys(config.params) | ||
for (const key of keys) { | ||
if (config.params[key] !== void 0 && config.params[key] !== null) { | ||
url += `${key}=${encodeURIComponent(config.params[key])}&` | ||
} | ||
} | ||
url = url.substring(0, url.length - 1) | ||
config.params = {} | ||
config.url = url | ||
} | ||
return config | ||
}) | ||
} | ||
export default { | ||
get: <T = any>(option: any) => { | ||
return request({ method: 'get', ...option }) as unknown as T | ||
}, | ||
(error: AxiosError) => { | ||
// Do something with request error | ||
console.log(error) // for debug | ||
Promise.reject(error) | ||
} | ||
) | ||
|
||
// response 拦截器 | ||
service.interceptors.response.use( | ||
(response: AxiosResponse<Recordable>) => { | ||
if (response.data.code === result_code) { | ||
return response | ||
} else { | ||
ElMessage.error(response.data.message) | ||
} | ||
post: <T = any>(option: any) => { | ||
return request({ method: 'post', ...option }) as unknown as T | ||
}, | ||
delete: <T = any>(option: any) => { | ||
return request({ method: 'delete', ...option }) as unknown as T | ||
}, | ||
(error: AxiosError) => { | ||
console.log('err' + error) // for debug | ||
ElMessage.error(error.message) | ||
return Promise.reject(error) | ||
put: <T = any>(option: any) => { | ||
return request({ method: 'put', ...option }) as unknown as T | ||
} | ||
) | ||
|
||
export { service } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios' | ||
|
||
import qs from 'qs' | ||
|
||
import { config } from './config' | ||
|
||
import { ElMessage } from 'element-plus' | ||
|
||
const { result_code, base_url } = config | ||
|
||
export const PATH_URL = base_url[import.meta.env.VITE_API_BASEPATH] | ||
|
||
// 创建axios实例 | ||
const service: AxiosInstance = axios.create({ | ||
baseURL: PATH_URL, // api 的 base_url | ||
timeout: config.request_timeout // 请求超时时间 | ||
}) | ||
|
||
// request拦截器 | ||
service.interceptors.request.use( | ||
(config: AxiosRequestConfig) => { | ||
if ( | ||
config.method === 'post' && | ||
(config.headers as any)['Content-Type'] === 'application/x-www-form-urlencoded' | ||
) { | ||
config.data = qs.stringify(config.data) | ||
} | ||
// get参数编码 | ||
if (config.method === 'get' && config.params) { | ||
let url = config.url as string | ||
url += '?' | ||
const keys = Object.keys(config.params) | ||
for (const key of keys) { | ||
if (config.params[key] !== void 0 && config.params[key] !== null) { | ||
url += `${key}=${encodeURIComponent(config.params[key])}&` | ||
} | ||
} | ||
url = url.substring(0, url.length - 1) | ||
config.params = {} | ||
config.url = url | ||
} | ||
return config | ||
}, | ||
(error: AxiosError) => { | ||
// Do something with request error | ||
console.log(error) // for debug | ||
Promise.reject(error) | ||
} | ||
) | ||
|
||
// response 拦截器 | ||
service.interceptors.response.use( | ||
(response: AxiosResponse<any>) => { | ||
if (response.config.responseType === 'blob') { | ||
// 如果是文件流,直接过 | ||
return response | ||
} else if (response.data.code === result_code) { | ||
return response.data | ||
} else { | ||
ElMessage.error(response.data.message) | ||
} | ||
}, | ||
(error: AxiosError) => { | ||
console.log('err' + error) // for debug | ||
ElMessage.error(error.message) | ||
return Promise.reject(error) | ||
} | ||
) | ||
|
||
export { service } |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.