/** * * * @export * @param {string} url txios 传入的 url * @param {*} [params] txios 传入的 params 参数 * @description 该函数的目的是把 params 拼接到 url 上重建 url 方便服务端解析 * 这里主要需要处理几种情况 * 1. 普通情况 * url = '/base/get' params = {a: 1, b: 2} * 最终结果是 /base/get?a=1&b=2 * * 2. 参数值为数组 * url = '/base/get' params = foo: [1, 2] * 最终结果是 /base/get?foo[]=1&foo[]=2 * * 3. 参数值为对象 * url = '/base/get' params = foo: {bar: 'baz'} * 最终结果是 /base/get?foo=%7B%22bar%22:%22baz%22%7D * * 4. 参数值为 Date 类型 * url = '/base/get' params = new Date() * 最终结果是 /base/get?date=2019-04-01T05:55:39.030Z * * 5. 需要支持特殊字符 * url = '/base/get' params = foo: '@:$' * 最终结果是 /base/get?foo=@:$+ (空格需要转换成 + 号) * * 6. 忽略空值 * url = '/base/get' params = foo: 'bar', baz: null * 最终结果是 /base/get?foo=bar * * 7. url 中的 hash 部分需要丢弃 * url = '/base/get#hash' params = foo: 'bar' * 最终结果是 /base/get?foo=bar * * 8. url 中已有参数需要保留 * url = '/base/get?foo=bar' params = bar: 'baz' * 最终结果是 /base/get?foo=bar&bar=baz */ export declare function recreateUrl(url: string, params?: any, paramsSerializer?: (params: any) => string): string; /** * * * @export * @param {string} requestUrl * @returns {boolean} * @description 判断请求的 url 是否同源 */ export declare function isUrlSameOrigin(requestUrl: string): boolean; /** * * * @export * @param {string} url * @returns {boolean} * @description 判断是否是绝对路径 */ export declare function isAbsoluteUrl(url: string): boolean; /** * * * @export * @param {string} baseUrl * @param {string} [relativeUrl] * @returns {string} * @description 合并 url,比如合并 https://github.com/api 和 /get */ export declare function mergeUrl(baseUrl: string, relativeUrl?: string): string;