NervJS/taro

参数中如果包含%,微信开发者工具(或百度开发者工具)无法decode参数,直接白屏报错。

KangXinzhi opened this issue · 4 comments

相关平台

微信小程序

小程序基础库: 3.4.3

使用框架: React

复现步骤

使用最新版本的taro脚手架生成项目。
使用默认模版配置页面

如果参数中不包含%正常
image

如果参数中包含%直接白屏报错
image

image image image

环境信息

👽 Taro v3.6.29


  Taro CLI 3.6.29 environment info:
    System:
      OS: macOS 13.5.2
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
      Yarn: 1.22.21 - /opt/homebrew/bin/yarn
      npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    npmPackages:
      @tarojs/cli: 3.6.29 => 3.6.29 
      @tarojs/components: 3.6.29 => 3.6.29 
      @tarojs/helper: 3.6.29 => 3.6.29 
      @tarojs/plugin-framework-react: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-alipay: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-h5: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-jd: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-qq: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-swan: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-tt: 3.6.29 => 3.6.29 
      @tarojs/plugin-platform-weapp: 3.6.29 => 3.6.29 
      @tarojs/react: 3.6.29 => 3.6.29 
      @tarojs/runtime: 3.6.29 => 3.6.29 
      @tarojs/shared: 3.6.29 => 3.6.29 
      @tarojs/taro: 3.6.29 => 3.6.29 
      @tarojs/taro-loader: 3.6.29 => 3.6.29 
      @tarojs/webpack5-runner: 3.6.29 => 3.6.29 
      babel-preset-taro: 3.6.29 => 3.6.29 
      eslint-config-taro: 3.6.29 => 3.6.29 
      react: ^18.0.0 => 18.3.1 

断点发现大概是这里无法使用decode解析中文加%的参数,例如你%好

image

URL Params 需要确保是符合规范的编码

URL Params 需要确保是符合规范的编码

就算不符合规范也不应该白屏阻塞吧,如果用微信小程序原生开发这种问题就不会白屏。 @koppthe

URL Params 需要确保是符合规范的编码

就算不符合规范也不应该白屏阻塞吧,如果用微信小程序原生开发这种问题就不会白屏。 @koppthe

这个确实,应该要跟小程序原生开发的体验保持一致,可以修复一下