|
|
|
|
@ -21,7 +21,14 @@ export const url = {
|
|
|
|
|
* @returns {Record<string, any>} { x: 1, y: 2, z: 3 }
|
|
|
|
|
*/
|
|
|
|
|
getUrlToParams: (url: string = window.location.href): Record<string, any> => {
|
|
|
|
|
const urlParams = new URLSearchParams(url.split('?')[1]);
|
|
|
|
|
/**
|
|
|
|
|
* 匹配?与#之间的字符串,即url后面的参数
|
|
|
|
|
* 例1: http://127.0.0.1:8080/?x=1&y=2#/index
|
|
|
|
|
* 例2: http://127.0.0.1:8080/#/index?x=1&y=2
|
|
|
|
|
* 匹配上面两种格式的url参数(主要是#号位置不同导致的判断不同)
|
|
|
|
|
*/
|
|
|
|
|
const match = url.match(/\?(.+?)(?:#|$)/);
|
|
|
|
|
const urlParams = new URLSearchParams(match ? match[1] : '');
|
|
|
|
|
const params = {};
|
|
|
|
|
for (const [key, value] of urlParams.entries()) {
|
|
|
|
|
params[key] = value;
|
|
|
|
|
|