# 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
: 请求完整的 urlrequired
type
: 该参数告诉 request 模块该调用什么方式发送请求, 因为 request 支持 script 脚本,jsonp方式和 ajaxsource
: 该参数告诉 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)
}