UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

126 lines (125 loc) 3.64 kB
import { Ref } from 'vue'; type Option<R, P> = { /** 是否需要uni.showLoading */ useUniLoading?: boolean; /** * 每次 ready 从 false 变为 true 时, 都会自动发起请求 * 为 false 时,请求永远都不会发出 */ ready?: boolean | Ref<boolean>; /** 立即执行 */ manual?: boolean; /** * 默认参数 * 分页参数在请放入 分页参数配置中 */ defaultParams?: P; /** 依赖刷新 */ refreshDeps?: any[]; /** * 延迟结束loading * 单位毫秒 * 防止请求过快造成渲染闪烁 */ loadingDelay?: number; /** * 轮询间隔 * 通过 run/runAsync 来启动轮询 * 通过 cancel 取消轮询 */ pollingInterval?: number; /** * 轮询错误重试次数 */ pollingErrorRetryCount?: number; /** * 错误重试次数 */ errorRetryCount?: number; /** * 错误重试间隔 */ errorRetryDelay?: number; /** * 防抖等待时间 */ debounceWait?: number; /** * 在防抖开始前执行调用 */ debounceLeading?: boolean; /** * 在防抖结束后执行调用 */ debounceTrailing?: boolean; /** * 节流等待时间 */ throttleWait?: number; /** * 在节流开始前执行调用 */ throttleLeading?: boolean; /** * 在节流结束后执行调用 */ throttleTrailing?: boolean; /** * 使用分页 */ usePagination?: boolean; /** * 分页配置 * */ paginationConfig?: { /** 当前页码参数名,默认 'current' */ currentKey?: string; /** 每页数量参数名,默认 'pageSize' */ pageSizeKey?: string; /** 总数字段名,默认 'total' */ totalKey?: string; /** 默认当前页,默认 1 */ defaultCurrent?: number; /** 默认每页数量,默认 10 */ defaultPageSize?: number; /** 列表字段名,默认 'list' */ listKey?: string; }; /** 请求前 */ onBefore?: () => Promise<void> | void; /** 请求成功 */ onSuccess?: (result: R | undefined, params?: P) => void; /** 请求失败 */ onError?: (error: any) => void; /** 请求完成 */ onFinally?: () => void; }; export type Service<R, P extends any[]> = (...args: P) => Promise<R>; declare const useRequest: <R, P extends any[]>(service: Service<R, P>, option?: Option<R, P> | undefined) => { data: Ref<R | undefined, R | undefined>; setData: (value: R) => void; loading: Ref<boolean, boolean>; setLoading: (value: boolean) => void; run: (...params: P) => void; runAsync: (...params: P) => Promise<R | undefined>; refresh: () => void; refreshAsync: () => Promise<R | undefined> | undefined; cancel: () => void; pagination: import('vue').ShallowReactive<{ current: number; pageSize: number; total: number; totalPage: number; hasMore: boolean; setCurrent: (current: number) => void; setPageSize: (pageSize: number) => void; reset: () => void; prev: () => void; next: () => void; change: (current: number, pageSize: number) => void; }> | undefined; list: Ref<import('@vue/reactivity').UnwrapRefSimple<R>[], R[] | import('@vue/reactivity').UnwrapRefSimple<R>[]>; }; export default useRequest; //# sourceMappingURL=index.d.ts.map