更新记录
1.0.0(2024-11-15) 下载此版本
- 初始版本
平台兼容性
Vue2 | Vue3 |
---|---|
× | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.32,Android:支持,iOS:支持,HarmonyNext:不确定 | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
kux-apiuse-request
该插件是 uni.request 的异步版本封装,在支持原生API所有特性前提下可以使用异步hooks函数实现业务逻辑,摒弃了传统的try catch, 使业务代码更简洁高效。
插件特色
- 异步hooks函数风格
- 简洁高效
- 摒弃传统的try catch
基本用法
import { useRequest } from '@/uni_modules/kux-apiuse-request';
const { request } = useRequest();
type Data = {
age: number
id: number
name: string
}
type Response = {
statusCode: number
route: string
method: string
message: string
data: Data[]
}
const demo = async (): Promise<void> => {
const { fail, success, requestTask, data } = await request({
url: 'https://test.api.fdproxy.cn/user/list'
} as RequestOptions<any>);
if (fail != null) {
console.log('请求错误:', fail);
return;
}
if (data != null) {
console.log(data);
const response = JSON.parseObject<Response>(JSON.stringify(data))!;
console.log(response.data[0].name);
}
return;
}
注意
该插件运行环境要求需要uni编译器版本在
4.32
及以上
request 返回参数说明
success
对应 uni.request 的 RequestSuccess
注意
由于目前
uts
不支持在类型定义中的函数参数里面增加前缀泛型,所以成功回调的结果类型是any
,需要自己根据结果转换类型
fail
对应 uni.request 的 RequestFail
requestTask
对应 uni.request 的 RequestTask
data
请求成功回调结果的data, 就是 success
回调中的 data
, 一般对应接口服务返回的结果.
类型定义
/**
* interface.uts
* uts插件接口定义文件,按规范定义接口文件可以在HBuilderX中更好的做到语法提示
*/
export type KuxRequestReturn = {
success: RequestSuccess<any> | null
data: any | null
fail: RequestFail | null
requestTask: RequestTask
}
export type KuxUseRequestReturn = {
request: (param: RequestOptions<any>) => Promise<KuxRequestReturn>
}
export declare function useRequest (): KuxUseRequestReturn
结语
kux 不生产代码,只做代码的搬运工,致力于提供uts 的 js 生态轮子实现,欢迎各位大佬在插件市场搜索使用 kux 生态插件:https://ext.dcloud.net.cn/search?q=kux
友情推荐
- TMUI4.0:包含了核心的uts插件基类.和uvue组件库
- UxFrame 低代码高性能UI框架:低代码高性能UI框架
- GVIM即时通讯模版:GVIM即时通讯模版,基于uni-app x开发的一款即时通讯模版
- t-uvue-ui:T-UVUE-UI是基于UNI-APP X开发的前端UI框架
- uXui: graceUI作者的免费开源组件库
- wx-ui 基于uni-app x开发的高性能混合UI库:基于uni-app x开发的高性能混合UI库,集成 uts api 和 uts component,提供了一套完整、高效且易于使用的UI组件和API,让您以更少的时间成本,轻松完成高性能应用开发。
- firstui-uvue:FirstUI(unix)组件库,一款适配 uni-app x 的轻量、简洁、高效、全面的移动端组件库。
- easyXUI 不仅仅是UI 更是为UniApp X设计的电商模板库:easyX 不仅仅是UI库,更是一个轻量、可定制的UniAPP X电商业务模板库,可作为官方组件库的补充,始终坚持简单好用、易上手