Skip to content

Commit bab6f51

Browse files
authored
feat(runtime): url search params 容错处理 (#15717) (#15982)
1 parent f852d5b commit bab6f51

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

packages/taro-runtime/src/bom/URLSearchParams.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,18 @@ export const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.
5151
for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {
5252
const value = pairs[i]
5353
const index = value.indexOf('=')
54-
if (index > -1) {
55-
appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))
56-
} else if (value.length) {
57-
appendTo(dict, decode(value), '')
54+
55+
// 针对不规范的 url 参数做容错处理,如:word=你%好
56+
try {
57+
if (index > -1) {
58+
appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))
59+
} else if (value.length) {
60+
appendTo(dict, decode(value), '')
61+
}
62+
} catch (err) {
63+
if (process.env.NODE_ENV !== 'production') {
64+
console.warn(`[Taro warn] URL 参数 ${value} decode 异常`)
65+
}
5866
}
5967
}
6068
} else {

0 commit comments

Comments
 (0)