getAllParamsFromWebUrl static method

Map<String, dynamic>? getAllParamsFromWebUrl(
  1. String webUrl, {
  2. required bool paramToObjectIfOK,
})

获取指定web地址的所有参数

webUrl:要获取参数的地址。

paramToObjectIfOK:一个布尔值,指示是否将参数值转换为对象(如果可能)。PS:怕外部不知道此方法所以此处不设置默认值

返回包含地址参数的Map对象,其中参数名作为键,参数值作为值。

例如:https://www.baidu.com/?a=1&b=2 返回:{a: 1, b: 2}

Implementation

static Map<String, dynamic>? getAllParamsFromWebUrl(
  String webUrl, {
  required bool paramToObjectIfOK,
}) {
  var paramStartIndex = webUrl.indexOf('?');
  if (paramStartIndex == -1) {
    return null;
  }

  Map<String, dynamic> paramMap = {};
  var str = webUrl.substring(paramStartIndex + 1);
  var strs = str.split('&');

  for (var i = 0; i < strs.length; i++) {
    var keyValueComponent = strs[i].split('=');
    var key = keyValueComponent[0];
    String value = keyValueComponent[1];
    dynamic element = getValueFromWebParamValueString(
      value,
      paramToObjectIfOK: paramToObjectIfOK,
    );

    paramMap[key] = element;
  }

  return paramMap;
}