修改http和vue-query模块的请求函数返回类型为HttpRequestResult<T> 优化useRequest钩子以支持同步和异步请求函数 在示例组件中更新请求调用方式
31 lines
706 B
TypeScript
31 lines
706 B
TypeScript
import type { CustomRequestOptions, HttpRequestResult } from '@/http/types'
|
|
import { http } from './http'
|
|
|
|
/*
|
|
* openapi-ts-request 工具的 request 跨客户端适配方法
|
|
*/
|
|
export default function request<T = unknown>(
|
|
url: string,
|
|
options: Omit<CustomRequestOptions, 'url'> & {
|
|
params?: Record<string, unknown>
|
|
headers?: Record<string, unknown>
|
|
},
|
|
): HttpRequestResult<T> {
|
|
const requestOptions = {
|
|
url,
|
|
...options,
|
|
}
|
|
|
|
if (options.params) {
|
|
requestOptions.query = requestOptions.params
|
|
delete requestOptions.params
|
|
}
|
|
|
|
if (options.headers) {
|
|
requestOptions.header = options.headers
|
|
delete requestOptions.headers
|
|
}
|
|
|
|
return http<T>(requestOptions)
|
|
}
|