encodeParamValue static method
将对象转化为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;
}