diff --git a/packages/core/src/platform/builtInMixins/pageStatusMixin.js b/packages/core/src/platform/builtInMixins/pageStatusMixin.js index aa51624f4e..fbcf304b40 100644 --- a/packages/core/src/platform/builtInMixins/pageStatusMixin.js +++ b/packages/core/src/platform/builtInMixins/pageStatusMixin.js @@ -19,7 +19,11 @@ export default function pageStatusMixin (mixinType) { // 处理以上平台直接透传encode的结果,给到onload第二个参数供开发者使用 if (isObject(rawQuery)) { for (const key in rawQuery) { - decodedQuery[key] = decodeURIComponent(rawQuery[key]) + try { + decodedQuery[key] = decodeURIComponent(rawQuery[key]) + } catch (e) { + decodedQuery[key] = rawQuery[key] + } } } this.__mpxProxy.callHook(ONLOAD, [rawQuery, decodedQuery]) diff --git a/packages/core/src/platform/patch/getDefaultOptions.ios.js b/packages/core/src/platform/patch/getDefaultOptions.ios.js index 62770ce107..a3368d2761 100644 --- a/packages/core/src/platform/patch/getDefaultOptions.ios.js +++ b/packages/core/src/platform/patch/getDefaultOptions.ios.js @@ -318,7 +318,11 @@ function createInstance ({ propsRef, type, rawOptions, currentInject, validProps const rawQuery = props.route.params || {} if (isObject(rawQuery)) { for (const key in rawQuery) { - decodedQuery[key] = decodeURIComponent(rawQuery[key]) + try { + decodedQuery[key] = decodeURIComponent(rawQuery[key]) + } catch (e) { + decodedQuery[key] = rawQuery[key] + } } } proxy.callHook(ONLOAD, [rawQuery, decodedQuery])