Skip to content

RequestQuickConfig ​

快捷方法(get / post / put / patch / del / head / options)与实例快捷方法的请求级配置,对标 axios.get(url, config) 的 config。

uts
export type RequestQuickConfig = {
	/** 请求方法;不传或 null 使用实例默认(GET) */
	method?: RequestMethod | null
	/** baseURL 请求级覆盖 */
	baseURL?: string | null
	/** 查询参数:与 url 既有 query 合并,库内统一编码拼接 */
	params?: UTSJSONObject | null
	/** 请求体;GET/HEAD 的 UTSJSONObject 自动并入 query */
	data?: any | null
	/** 请求 header;与实例默认 header 浅合并(请求级同名键覆盖) */
	header?: UTSJSONObject | null
	/** 超时毫秒;不传或 null 使用实例默认(60000) */
	timeout?: number | null
	/** 响应 dataType(json / 其他),透传原生 adapter */
	dataType?: string | null
	/** 响应数据类型,透传原生(ArrayBuffer 场景:app-android 4.51+ / app-ios 4.61+) */
	responseType?: string | null
	/** 以下原生能力参数全量透传,本库不抹平,各端生效性见官方文档 */
	enableQuic?: boolean | null
	sslVerify?: boolean | null
	withCredentials?: boolean | null
	firstIpv4?: boolean | null
	enableChunked?: boolean | null
	/** 状态码校验;不传或 null 使用实例默认(2xx) */
	validateStatus?: ((statusCode: number) => boolean) | null
	/** 取消令牌;不传或 null 表示不可取消 */
	cancelToken?: CancelToken | null
	/** 请求体变换;提供即替换内置行为(data 可空,同 RequestConfig) */
	transformRequest?: ((data: any | null) => any) | null
	/** 响应体变换;提供即替换内置(内置为原样透传;参数可空同上) */
	transformResponse?: ((data: any | null) => any) | null
	/** 逃生舱:拿到原生 RequestTask(chunked 监听等高级场景) */
	onTask?: ((task: RequestTask) => void) | null
}

为什么不含 url 字段

url 由快捷方法的第一个参数提供,类型上直接省去,避免调用方为满足 RequestConfig.url 必填而传占位值。除 url 外,字段与 RequestConfig 一一对应,语义完全一致。

method 字段不会被透传

快捷方法的 method 由方法名固定注入(post() 一律发 POST),config.method 不参与合并——本类型保留该字段仅为与 RequestConfig 结构对齐,勿依赖它改写请求方法。

字段 ​

名称类型默认值说明
methodRequestMethod | null(不透传)由快捷方法名决定,见上方警告
baseURLstring | null实例默认请求级覆盖全局 baseURL
paramsUTSJSONObject | null—查询参数,库内确定性编码进 url
dataany | null—请求级 data;与方法的 data 参数同域,以方法参数为准(POST/PUT/PATCH 系合并时方法参数覆盖本字段)
headerUTSJSONObject | null实例默认 header浅合并,请求级同名键覆盖
timeoutnumber | null实例默认(60000)超时毫秒
dataTypestring | null原生默认(json)透传原生
responseTypestring | null—透传原生
enableQuicboolean | null原生默认原生能力参数,全量透传
sslVerifyboolean | null原生默认同上
withCredentialsboolean | null原生默认同上
firstIpv4boolean | null原生默认同上
enableChunkedboolean | null原生默认同上
validateStatus((statusCode: number) => boolean) | null实例默认(2xx)整体覆盖
cancelTokenCancelToken | nullnull传入即可取消,见 createCancelSource()
transformRequest((data: any | null) => any) | null内置行为提供即替换内置
transformResponse((data: any | null) => any) | null内置行为提供即替换内置
onTask((task: RequestTask) => void) | null—原生 RequestTask 逃生舱

配套方法 ​

示例 ​

uts
import { get } from '@/uni_modules/ux-request'

const header: UTSJSONObject = {}
header['Accept-Language'] = 'zh-CN'

get<Array<UTSJSONObject>>('/api/users', {
	params: { 'page': 1 },
	header: header,
	timeout: 10000
}).then((res) => {
	console.log(res.data.length)
})

相关 API ​

Released under the MIT License.