// 解析工具 /** * 根据路径解析url参数 * @param url 待解析路径 * @return params 参数对象或是null */ export function parseUrl(url) { // url样式如:xxxxx.com/api?key1=value1&key2=value2 // 分割url中?前后字符串,有问号的表示有参数 const query = url.split('?') // 如果query长度大于1 表示有参数 if (query.length > 1) { const paramsObject = {} // 将参数字符串用&分割,key1=value1&key2=value2 const paramsStr = query[1].split('&') // 遍历所有参数 for (let i = 0; i < paramsStr.length; i++) { const paramStr = paramsStr[i] // 请求参数,key=value // 将参数的key和value分割 const pos = paramStr.indexOf('=') if (pos === -1) continue const key = paramStr.substring(0, pos) // 获得参数名 const value = paramStr.substring(pos + 1) // 获得参数值 paramsObject[key] = value } return paramsObject } else { return null } }