# Request JSONP 配置说明

# JSONP

type: jsonp, source: backEdn or zlk

读此文档,默认认为对 typescript 有一点了解

  interface HttpRequestConfigExt {
    testUrl?: string;
    /**
     * 描述来源
     */
    source: HttpDataSource;
    /**
     * 描述请求方式,
     */
    type: HttpRequestType;
    /**
     * 转换请求参数为下划线
     */
    underlizeQuery?: boolean;

    // 针对该请求的转换器
    convert?: Constructor<any>;
  }
  interface HttpNonApiBaseConf extends HttpRequestConfigExt {
    url: string;
    env?: ENV;
    query?: APIQueryArgCollection;
    isAuth?: boolean;
  }
  /**
   * jsonp 请求配置
   */
  interface HttpRequestByJsonpConf extends HttpNonApiBaseConf {
    callbackName?: string;
  }
  • url: 请求完整的 url required

  • type: 该参数告诉 request 模块该调用什么方式发送请求, 因为 request 支持 script 脚本,jsonp方式和 ajax

  • source: 该参数告诉 request 模块该调用什么转换器来对请求数据进行转换, 比如转换:后端接口, 资料库数据,v4 数据等

  • env: 控制当前接口环境 默认为: production

注意: 如果不设置 env, 默认会是 production 环境

  • query: 请求 url query 参数, 默认为 {}

  • isAuth: 该请求是否需要登录态。默认为 true, 如果不需要登录态,明确设置为 false

注意: 默认会从 localStorage 或者是 sessionStorage 中获取 keytokenParams 的值作为登录态

  • underlizeQuery: 是否将 query 参数转换为下划线的风格, 默认转换为下划线,不需要转换请明确设置为 false

  • testUrl: 测试地址(完整的 url)

  • callbackName: jsonp 返回的回调函数

注意: 当测试地址为空时,非正式环境: testUrl 未设置,切换为正式接口;

最佳使用方式:

import { slugRequest } from "@tencent/slug-request";

// jsonp 资料库
const config1: ApiTypes.HttpRequestByJsonpConf = {
  url: 'https://test.qq.com/zlkdatasys/data_zlk_wsq.json',
  callbackName: 'dataCallback',
  source: 'zlk',
  type: 'jsonp',
  isAuth: false,
  underlizeQuery: false
}

export function testRequestZLK() {
  return slugRequest(config1)
}
更新于: 10/26/2020, 11:15:54 AM