/** 解析一个链接的 Query 返回一个对象 * Query 中无值字段会返回 true (`?test` -> `{ test: true }`) * */ export function getUrlQuery(url: string) { let index_q = url.indexOf("?") let urlQuery = index_q > -1 ? url.slice(index_q + 1) : "" const params = new URLSearchParams(urlQuery) let re: { [key: string]: string | boolean } = {} if (typeof params.forEach == "function") { params.forEach((value, key) => { re[key] = value === "" ? true : value }) return re } else { // 改用 for of 循环 for (const [key, value] of params) { re[key] = value === "" ? true : value } return re } }