t-comm
Version:
专业、稳定、纯粹的工具库
43 lines (39 loc) • 960 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
function matchParams(rawPath, params) {
if (rawPath === void 0) {
rawPath = '';
}
if (params === void 0) {
params = {};
}
return rawPath.replace(/:(\w+)\???(?=$|\/)/g, function (a, b) {
if (params[b]) {
return params[b];
}
return '';
});
}
/**
* 小程序下,获取对应的 H5 路由信息
* @param {Object} route 路由信息
* @returns H5 Url
* @example
* ```ts
* getH5CurrentUrl(this.$route);
* ```
*/
function getH5CurrentUrl(route) {
var _a = route.name,
name = _a === void 0 ? '' : _a,
meta = route.meta,
params = route.params;
var _b = (meta || {}).rawPath,
rawPath = _b === void 0 ? [] : _b;
if (!Object.keys(params).length || !rawPath.length) {
return "/".concat(name);
}
return matchParams(rawPath[0], params);
}
exports.getH5CurrentUrl = getH5CurrentUrl;
exports.matchParams = matchParams;