// 解析工具

/**
 * 根据路径解析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
  }
}
