# Request CDN JSON 配置说明

# CDN JSON

type: jsonp, source: backEdn or zlk

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

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

    // 针对该请求的转换器
    convert?: Constructor<any>;
  }
  /**
   * http 请求配置
   */
  interface HttpRequestConfig extends HttpRequestConfigExt {
    path: string;
    method: HTTPMethod;
    baseUrl?: string;
    // 'production' | 'development' | 'test' | 'qa'
    env?: ENV;
    timeout?: Timestamp;
  }
  • path: 请求路径 required

  • method: http请求方法 required

  • baseUrl: 该配置会和 path 拼接成完整的请求 url,进行发送请求。

注意:如果省略 baseUrl 不传,则需要将 path 写成完整的请求路径,否则会出现前端配置错误, 同时请求必须是 https 开头, 同时 baseUrl 会被认为是正式地址

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

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

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

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

  • timeout: 请求超时时间, 默认使用 20 * 1000

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

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

最佳使用方式:

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

// note: cdn json
const config6: ApiTypes.HttpRequestConfig = {
  method: "GET",
  path: 'https://test.cdn.qq.com/moss/580.json',
  source: 'cdnJson',
  type: 'cdnJson',
}

export function getConfig() {
  return slugRequest<{ num: number }>(config6)
}
更新于: 10/26/2020, 11:15:54 AM