t-comm
Version:
专业、稳定、纯粹的工具库
33 lines (28 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../tslib.es6-01322ba9.js');
var url_formatUrlParams = require('./format-url-params.js');
var url_resolveUrlParams = require('./resolve-url-params.js');
/**
* 拼接额外参数
* @param {string} url 地址
* @param {string} removeKeyArr 待添加的参数对象
* @returns 重新拼接的地址
* @example
* const url1 = extendUrlParams('http://www.test.com?a=1&b=2&c=3#/detail?d=4', { e: 5 }); // 'http://www.test.com/#/detail?a=1&b=2&c=3&d=4&e=5'
*/
function extendUrlParams(url, extParamsObj, forceHistoryMode) {
if (url === void 0) {
url = '';
}
if (extParamsObj === void 0) {
extParamsObj = {};
}
// 获取链接上的所有参数
var urlParamsObj = url_resolveUrlParams.resolveUrlParams(url);
// 合并传入的参数
var keepParamsObj = tslib_es6.__assign(tslib_es6.__assign({}, urlParamsObj), extParamsObj);
// 根据合并后的参数集合,重新拼接地址
return url_formatUrlParams.formatUrlParams(url, keepParamsObj, forceHistoryMode);
}
exports.extendUrlParams = extendUrlParams;