@kinvirgo/miniprogram-request
TypeScript icon, indicating that this package has built-in type declarations

0.0.2 • Public • Published

miniprogram-request

  • miniprogram-request 支持微信、抖音多平台小程序请求封装

安装

npm i @kinvirgo/miniprogram-request
#
npm add @kinvirgo/miniprogram-request

基本使用

微信小程序

import MiniprogramRequest from '@kinvirgo/miniprogram-request'

// 微信实例化
const wxRequest = new MiniprogramRequest<
    {},
    WechatMiniprogram.RequestOption,
    WechatMiniprogram.RequestTask
>(wx.request, {
    baseURL: 'https://example.com',
})

// 发送请求
wxRequest.request({ url: '/login' })

抖音小程序

import MiniprogramRequest from '@kinvirgo/miniprogram-request'

// 抖音
const ttRequest = new MiniprogramRequest<{}, Parameters<typeof tt.request>[0]>(
    tt.request,
    {
        baseURL: 'https://example.com',
    },
)

// 发送请求
ttRequest.request({ url: '/login' })

添加节流

import MiniprogramRequest from '@kinvirgo/miniprogram-request'

const wxRequest = new MiniprogramRequest(wx.request, {
    baseURL: 'https://example.com',
    throttle: new MiniprogramRequest.ThrottleController({ time: 1000 }),
})

// 发送请求
ttRequest.request({ url: '/login' })

高级用法

自定义参数

// 微信实例化
const wxRequest = new MiniprogramRequest<
    { format: boolean; toast: boolean },
    WechatMiniprogram.RequestOption
>(wx.request, {
    baseURL: 'https://example.com',
    format: true, // 可在拦截器中用于返回格式化
    toast: true, // 可在拦截器中用于弹窗提示
})

添加拦截器

import MiniprogramRequest, {
    type RequestConfig,
} from '@kinvirgo/miniprogram-request'

const wxRequest = new MiniprogramRequest(wx.request)

// 请求拦截器
const requestInterceptorManager = new MiniprogramRequest.InterceptorManager()
requestInterceptorManager.add<RequestConfig>({
    fulfilled(config) {
        return config
    },
})

// 响应拦截器
const responseInterceptorManager = new MiniprogramRequest.InterceptorManager()
requestInterceptorManager.add<RequestConfig, RequestConfig>(() => {
    return {
        fulfilled(config) {
            return config
        },
        rejected(config) {
            return config
        },
    }
})

// 使用拦截器
wxRequest.use(requestInterceptorManager, responseInterceptorManager)

// 发送请求
wxRequest.request({ url: '/login' })

自定义节流

import MiniprogramRequest from '@kinvirgo/miniprogram-request'

const throttle = MiniprogramRequest.ThrottleController({ time: 600 })

// 自定义回调
throttle.promise((resolve, reject) => { reject(new Error("频繁操作"))) })

// 使用节流
const wxRequest = new MiniprogramRequest(wx.request, { throttle })

Readme

Keywords

none

Package Sidebar

Install

npm i @kinvirgo/miniprogram-request

Weekly Downloads

2

Version

0.0.2

License

ISC

Unpacked Size

26.5 kB

Total Files

5

Last publish

Collaborators

  • kinvirgo