UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

51 lines (50 loc) 1.79 kB
import type { FilterParams } from './types'; /** * 根据地址长度,进行过滤地址参数,允许指定保留特定参数 * @param {object} [params={ limit: 1024 }] 参数 * @param {number} params.url 待过滤地址,默认当前页面地址 * @param {number} params.limit 参数长度限制 * @param {array} params.keepKey 指定保留的参数,比如业务参数、框架参数(登录态、统计上报等) * @example * // 未超过长度限制,原样返回 * filterUrlParams({ * url: 'https://igame.qq.com/?name=mike#/?from=test', * limit: 600, * keepKey: ['name'], * }); * // => 'https://igame.qq.com/?name=mike#/?from=test' * @example * // search 参数超长,仅保留 keepKey 指定参数 * filterUrlParams({ * url: 'https://igame.qq.com/?name=mike&__lxsdk_params=...(超长)#/?from=test', * limit: 600, * keepKey: ['name'], * }); * // => 'https://igame.qq.com/#/?name=mike' * @example * // search 参数超长 + 强制 history 模式返回 * filterUrlParams({ * url: 'https://igame.qq.com/?name=mike&__lxsdk_params=...(超长)', * limit: 600, * keepKey: ['name'], * forceHistoryMode: true, * }); * // => 'https://igame.qq.com/?name=mike' * @example * // hash 参数超长 * filterUrlParams({ * url: 'https://igame.qq.com/?name=mike#/?name=mike&__lxsdk_params=...(超长)', * limit: 600, * keepKey: ['name'], * }); * // => 'https://igame.qq.com/#/?name=mike' * @example * // 参数超长,并且支持识别路径 * filterUrlParams({ * url: 'https://igame.qq.com/?name=mike#/detail?name=mike&__lxsdk_params=...(超长)', * limit: 600, * keepKey: ['name'], * }); * // => 'https://igame.qq.com/#/detail?name=mike' */ export declare function filterUrlParams(params?: FilterParams): string;