" @ohos.url 拼接参数有误"?

import url from '@ohos.url';

const LOGIN_REDIRECT_URL = "https://mis.diditaxi.com.cn/auth/index.php"

let params = router.getParams() as LoginParams;
let redirectUrlParams = new url.URLParams(LOGIN_REDIRECT_URL);
redirectUrlParams.append("platform", );
redirectUrlParams.append("client", params.client)
redirectUrlParams.append("login_mode", "oauth")

let result = redirectUrlParams.toString()

预期是 https://mis.diditaxi.com.cn/auth/index.php?platformia&login_mode=oauth
实际是 https%3A%2F%2Fmis.diditaxi.com.cn%2Fauth%2Findex.php=ia&login_mode=oauth

诉求:

1、api只对初始化的部分进行了encode,参数没有进行encode,希望行为上保持一致;

2、拼接参数的部分,不符合预期

阅读 730
1 个回答

解决方案:

对URLParams的理解不对,这个只是URL的查询参数

import url from '@ohos.url';

const LOGIN_REDIRECT_URL = "https://mis.diditaxi.com.cn/auth/index.php"

let params = router.getParams() as LoginParams;
let urlObject = url.URL.parseURL(LOGIN_REDIRECT_URL);
urlObject.params.append("platform");
urlObject.params.append("client", params.client)
urlObject.params.append("login_mode", "oauth")

let result = urlObject .toString()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题