FormPlugin

FormPlugin

请求管理-表单插件
在请求前后植入表单处理逻辑,详见[基础能力] 灵活易扩展的请求管理

Constructor

new FormPlugin(pluginNameopt, defaultContentTypeopt)

Source:

构造函数

Parameters:
Name Type Attributes Default Description
pluginName string <optional>
'FormPlugin'

插件名称

defaultContentType string <optional>
'application/x-www-form-urlencoded'

默认表单类型

Extends

Members

pluginName :string

Source:
Overrides:

插件名称,主要用于打印日志和调试,便于追溯操作源

Type:
  • string

requester :Requester

Source:
Overrides:

请求管理器

Type:

Methods

afterRequest(reqOptions, thisIssuer, reqRes) → {undefined|Requester~AfterRequestRes}

Source:
Overrides:

钩子函数,请求返回之后调用,同步
不会等待异步操作返回,如需等待异步逻辑,请改用BasePlugin#afterRequestAsync

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

reqRes Requester~ReqRes

请求结果

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~AfterRequestRes

(async) afterRequestAsync(reqOptions, thisIssuer, reqRes) → {undefined|Requester~AfterRequestRes}

Source:
Overrides:

钩子函数,请求返回之后调用,异步
会等待async函数resolve,若无异步逻辑,建议使用BasePlugin#afterRequest

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

reqRes Requester~ReqRes

请求结果

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~AfterRequestRes

beforeRequest(reqOptions)

Source:
Overrides:

在请求发起前植入表单处理逻辑:

  1. 将请求头部中的content-type默认值改为构造函数中指定的defaultContentType
  2. 将参数中的数组和对象转为json格式,避免被自动转为类似"[object Object]"的无语义字符串
Parameters:
Name Type Description
reqOptions

(async) beforeRequestAsync(reqOptions, thisIssuer) → {undefined|Requester~BeforeRequestRes}

Source:
Overrides:

钩子函数,发请求之前调用,异步
会等待async函数resolve,若无异步逻辑,建议使用BasePlugin#beforeRequest

Parameters:
Name Type Description
reqOptions Requester~ReqOptions

请求参数

thisIssuer object

发起接口请求的this对象

Returns:

期望的后续处理,undefined表示继续执行默认流程

Type
undefined | Requester~BeforeRequestRes

mount(requester)

Source:
Overrides:

钩子函数,插件被挂载到requester对象上时触发

Parameters:
Name Type Description
requester Requester

被挂载到的requester对象