我并不确定这是否算是一个 BUG,只是它跟常规惯例的做法不一致。
onLaunch 的 query 参数从形式上跟一般网页 url 的 querystring 是一样的,但它并没有经过 url decode。
比如我启动的路径设置为 /pages/index/index?p=a%2Fb
那么:
onLaunch: function(args) {
console.log(args.query.p); // 此处预期为 'a/b',但实际结果为 'a%2Fb'
}
这样的话就存在一个问题,如果我需要设置参数 p 的值为 'a&b',应该怎么写呢?
那当我需要设置参数 p 的值为 'a&b' 时,启动入口的路径是不是要写成 /pages/index/index?p=a&b
可是这样的话,p 的值应该只是 'a' 吧?
你传入的参数没有必要进行 encode。