0.0.2 • Published 7 months ago

@gluttons/launcher v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago

Launcher

请求发射器

安装

npm i @gluttons/launcher -S

使用

import { Launcher } from '@gluttons/launcher';

// 创建发射器
const launcher = new Launcher({
    // 设置请求根路径
    baseUrl: 'http://127.0.0.1',
});

// GET 请求
launcher.get('/getList').then((res) => {
    console.log(res); // { code, data, message, timestamp, options }
});

// 带分页的 GET 请求
launcher.get('/getList', {
    page: 1,
    pageSize: 2,
}).then((res) = >{
    console.log(res.pagination); // { count: number, page: number, pageSize: number }
});

自定义分页参数与分页响应体

const launcher = new Launcher<Launcher.ResponseExtra, {
    // 当前页码
    index: number;
    // 每页数量
    size: number;
}, {
    // 总条数
    total: number;
    // 当前页码
    current: number;
    // 每页数量
    length: number;
}>();

launcher.get('/getList', {
    index: 1,
    size: 2,
}).then((res) => {
    console.log(res.pagination); // { total: number, current: number, length: number }
});

自定义请求响应体

注意,code 与 data 是 必须的,不可更改

const launcher = new Launcher<{
    msg: string;
    err: boolean;
}>();

launcher.post('/add').then((res) => {
    console.log(res); // { code, data, msg, err }
});

例子

// 设置 token 和 语言
const launcher = new Launcher({
    beforeHandler: ({
        launcher,
    }) => {
        launcher.setAuthorization(getToken());
    },
    setHeaders: () => {
        const lang = getCurrentLang();
        return {
            lang,
        };
    }
});

支持的请求方式

  • get
  • post
  • put
  • delete
  • form (以 post 方式发送表单数据)
0.0.2

7 months ago

0.0.1

7 months ago