t-comm
Version:
专业、稳定、纯粹的工具库
41 lines (36 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var url_keepUrlParams = require('./keep-url-params.js');
require('./format-url-params.js');
require('./resolve-url-params.js');
/**
* 根据地址长度,进行过滤地址参数,允许指定保留特定参数
* @param {object} [params={ limit: 1024 }] 参数
* @param {number} params.url 待过滤地址,默认当前页面地址
* @param {number} params.limit 参数长度限制
* @param {array} params.keepKey 指定保留的参数,比如业务参数、框架参数(登录态、统计上报等)
*/
function filterUrlParams(params) {
if (params === void 0) {
params = {
url: window.location.href,
limit: 1000,
keepKey: []
};
}
var _a = params.url,
url = _a === void 0 ? window.location.href : _a,
_b = params.limit,
limit = _b === void 0 ? 1000 : _b,
_c = params.keepKey,
keepKeyArr = _c === void 0 ? [] : _c,
forceHistoryMode = params.forceHistoryMode;
// 不超过长度限制,不处理
var originUrl = url;
if (originUrl.length <= limit) {
return originUrl;
}
// 只保留特定参数进行拼接地址
return url_keepUrlParams.keepUrlParams(originUrl, keepKeyArr, forceHistoryMode);
}
exports.filterUrlParams = filterUrlParams;