Spaces:
Paused
Paused
| function getQueryFromUrl(key, search) { | |
| try { | |
| const sArr = search.split('?'); | |
| let s = ''; | |
| if (sArr.length > 1) { | |
| s = sArr[1]; | |
| } else { | |
| return key ? undefined : {}; | |
| } | |
| const querys = s.split('&'); | |
| const result = {}; | |
| querys.forEach((item) => { | |
| const temp = item.split('='); | |
| result[temp[0]] = decodeURIComponent(temp[1]); | |
| }); | |
| return key ? result[key] : result; | |
| } catch (err) { | |
| // 除去search为空等异常 | |
| return key ? '' : {}; | |
| } | |
| } | |
| function changeUrlQuery(obj, baseUrl) { | |
| const query = getQueryFromUrl(null, baseUrl); | |
| let url = baseUrl.split('?')[0]; | |
| const newQuery = { ...query, ...obj }; | |
| let queryArr = []; | |
| Object.keys(newQuery).forEach((key) => { | |
| if (newQuery[key] !== undefined && newQuery[key] !== '') { | |
| queryArr.push(`${key}=${encodeURIComponent(newQuery[key])}`); | |
| } | |
| }); | |
| return `${url}?${queryArr.join('&')}`.replace(/\?$/, ''); | |
| } | |
| export { changeUrlQuery } |