# Request js 脚本 配置说明

# js 脚本

特别说明: 这里请求脚本的形式, 是通过动态加载脚本配置数据, 比如该脚步会直接在 window.key 上注入对象, 从而获取配置数据, 不支持动态插入脚本

type: script, source: script

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

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

    // 针对该请求的转换器
    convert?: Constructor<any>;
  }
  interface HttpNonApiBaseConf extends HttpRequestConfigExt {
    url: string;
    env?: ENV;
  }
  /**
   * js 请求配置
   */
  interface HttpRequestByScript extends HttpNonApiBaseConf {
    dataName: string;
  }
  • url: 请求完整的 url required

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

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

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

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

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

  • dataName: script 脚本注入到 window 对象上的 key

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

最佳使用方式:

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

// note: js
const config7: ApiTypes.HttpRequestByScript = {
  dataName: "__UgcConfig",
  url: 'https://test.cdn.qq.com/slugteam/public/config/ugcConfig.js',
  source: 'script',
  type: 'script',
}

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