1.0.7 • Published 4 years ago

@irim/ds-net v1.0.7

Weekly downloads
10
License
BSD-3-Clause
Repository
github
Last release
4 years ago

ds-net

version license downloads

快速使用

install

$ npm install --save @irim/ds-core @irim/ds-net
import { Core } from '@irim/ds-core';
import { Net } from '@irim/ds-net';

const ds = new Core();
ds.register('net', Net);

// 请求数据
ds.net.request('/api/todo.list', {
  type: 'jsonp',
}).then(response => {
  console.log('>>>', response);
});

// 连接 socket
await ds.net.initSocket('wss://echo.websocket.org');
ds.net.socket.sendMessage({ content: 'hello world' });
ds.net.socket.onMessage(data => {
  console.log('on message', data);
});

进阶使用

  1. 初始化时指定数据能力
// 这里的参数也可以放到 ds.setConfig({ net: ... }) 或初始化 ds 中,详见 DsCore 文档
ds.register('net', Net, {
  abilities: ['ajax', 'upload'],
});

// 也可以在指定能力时,指定初始化的参数,如:
ds.register('net', Net, {
  abilities: ['ajax', 
    ['jsonp', { timeout: 5000 }]
  ],
});

ds.net.request('/api.aaa.bbb', {
  type: 'jsonp',
  data: { id: 1001 },
});
  1. 初始化时指定数据处理中间件
import { middlewares } from '@irim/ds-net';

ds.setConfig({ net: {
  middlewares: [
    middlewares.printLogger,
    middlewares.delay,

    async ctx => {
      // do something...
      await ctx.next();
      // do something...
    }
  ],
}});

术语规范

参数名规范

  • api 定义接口名,url 不再使用
  • search 用于拼接在请求的 URL 中,即 GET 请求
  • payload 用于传 POST|PUT 请求的数据传输
  • data 用于通用的传递数据或请求参数,queryparams 不再使用(可在中间件作兼容)
  • options 方法的通用参数名,settingsprops 不再使用
  • response 用于定义服务器响应后的数据
  • message 用于定义服务器响应的错误消息

LICENSE

BSD-3-Clause License