Flutter-webview-中文参数

///?userCode=xxx&avatarUrl=xxx&nickName=xxx
Future<String> _formatUrl(String oldUrl) async {
  if (oldUrl != null && oldUrl.isNotEmpty == true) {
    String _userCode;
    String _avatarUrl;
    String _nickName;
    UserInfoModel _user = await UserManager.getUserInfo();
    if (_user != null) {
      _userCode = _user?.resultData?.organization?.organizationId?.toString();
      _nickName = _user?.resultData?.organization?.organizationName;
      String _userHead = _user?.resultData?.user?.portraitUrl ?? "";
      if (_userHead.contains('https://wx.qlogo.cn/')) {
        _avatarUrl = _userHead;
      } else {
        _avatarUrl = ImgSize.getImgUrlBySize(_userHead);
      }
      String _suffix;
      if (oldUrl.contains("?")) {
        _suffix =
            '&userCode=$_userCode&avatarUrl=$_avatarUrl&nickName=${Uri.encodeComponent(_nickName)}';
      } else {
        _suffix =
            '?userCode=$_userCode&avatarUrl=$_avatarUrl&nickName=${Uri.encodeComponent(_nickName)}';
      }
      return '$oldUrl$_suffix';
    } else {
      return oldUrl;
    }
  } else {
    return oldUrl;
  }
}

中文需要用Uri.encodeComponent转码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容