收藏
回答

H5页面(通过调接口拿到加密 URL Scheme)跳转小程序,小程序如何拿到传过来的参数?

H5页面通过调接口拿到加密 URL Scheme地址(把路径和参数都传给后台,然后拿到的加密URL Scheme)。H5页面通过window.location.href打开该地址,也就是跳转到小程序,在小程序相应的页面 onLoad 中如何拿到传过来的参数。数据格式什么样儿的,需要解密吗?

因为小程序还没发布,但是URL Scheme跳转好像要求小程序必须先发布,这就陷入死循环了,有大佬以前做过吗?

// H5页面
let params = { path: 'pages/bindGiftCard/index', k: 'abcd......' };
const res = await apiGiftCardUrlscheme(params);
window.location.href = res;

// 小程序
onLoad((option) => {
    // 微信App扫码后H5进来
    // 情况1
    console.log(11, option.k);
    // 情况2:可能需要解密,才可以拿到参数
    ...
  });


最后一次编辑于  11-07
回答关注问题邀请回答
收藏

3 个回答

  • 小叶子
    小叶子
    11-07

    工具可以编译URL Scheme

    把接口生成的URL Scheme填到这里,就可以用工具先调试啦

    11-07
    有用
    回复 4
    • 听风吟
      听风吟
      11-07
      后台那边调接口去拿URL Scheme地址,但是微信那边是报错的,提示必须是线上的小程序,但是我们的小程序又没发布,所以现在是拿不到一个真实的加密URLSchem地址,没法调试现在
      11-07
      回复
    • 小叶子
      小叶子
      11-07回复听风吟
      那你可以用个现有的页面先调通,或者先创建一个空的页面发布也行,参数你打印出来看看啥样的就知道了
      11-07
      回复
    • 小叶子
      小叶子
      11-07回复听风吟
      我之前的做法一般是搞一个中转页面,所有scheme都先跳转到一个中转页,再重定向到目标页面,这样有新的页面就方便调试了
      11-07
      回复
    • 听风吟
      听风吟
      11-07回复小叶子
      是一个好法子,我们就跳转一个页面,就懒的搞中转页面
      11-07
      回复
  • showms
    showms
    11-07

    option.query.k这样就能取到

    11-07
    有用
    回复 1
    • 听风吟
      听风吟
      11-07
      后台是这么传的,query: 'k=abcdxxxxxxx',那小程序是取的话option.query(即拿到'k=abcdxxxxxxx')
      11-07
      回复
  • 正好时光
    正好时光
    11-07

    参数放到query中,小程序可以直接在onLoad(option)中拿到,不需要解密

    11-07
    有用
    回复 1
    • 听风吟
      听风吟
      11-07
      后台是这么传的,query: 'k=abcdxxxxxxx',那我小程序option拿到的数据格式是什么样儿的?option.k?
      11-07
      回复
登录 后发表内容