encodeParamValue static method

String? encodeParamValue(
  1. dynamic h5ParamValue
)

将对象转化为web url可识别的字符串参数(对且仅对第一层转化)

h5ParamValue:要获取参数的对象。

返回web url可识别的字符串参数。

例如:{'shouldHideNavBar': true} 返回:"%7B%22shouldHideNavBar%22%3Atrue%7D"

Implementation

static String? encodeParamValue(dynamic h5ParamValue) {
  if (h5ParamValue == null) {
    return null;
  }

  late String h5ParamEncodeValue;
  if (h5ParamValue is String) {
    // h5ParamEncodeValue = h5ParamValue;
    h5ParamEncodeValue =
        Uri.encodeComponent(h5ParamValue); // 要编码,否则即使是字符串,但是含中文时候,也会出错
  } else {
    // String h5ParamParamString = h5ParamValue.toString();
    // String h5ParamParamString =
    //     FormatterUtil.convert(h5ParamValue, 0); // 使用此行来修复json字符串没有引号的问题
    String h5ParamParamString = jsonEncode(
        h5ParamValue); // 使用此行来修复json字符串没有引号的问题,且避免使用FormatterUtil.convert时候的换行问题
    h5ParamEncodeValue = Uri.encodeComponent(
        h5ParamParamString); // 要编码,否则url,在app中的webView无法识别(虽然在goole chrome或safari上可以识别)
  }

  return h5ParamEncodeValue;
}