diff --git a/src/utils/parseutils.js b/src/utils/parseutils.js new file mode 100644 index 0000000..d895fa8 --- /dev/null +++ b/src/utils/parseutils.js @@ -0,0 +1,31 @@ +// 解析工具 + +/** + * 根据路径解析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 + } +}