收藏
回答

怎么分享的query丢失了?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug wx.onShareAppMessage 微信安卓客户端 7.0.12 Wechat Lib:2.10.4, 2021.2.4
    wx.onShareAppMessage(() => {
      var originUrl = ''
      if (this.gameInfo) {
        originUrl = this.gameInfo.originUrl
      }
      var query = `originUrl=${encodeURIComponent(originUrl)}`
      var rst = {
        title: 'xxxx',
        query
      }
      console.log(rst)
      return rst
    })

我通过这个代码去设置分享的参数query。然后点击右上角分享,分享给我自己。然后我自己代码,按理说应该获取到query参数。但是我拿到的query为空对象。而且获取到的scene也不对,scene案例说应该是走分享进来的scene。

  var options = wx.getLaunchOptionsSync()
  const originUrl = options.query && options.query.originUrl
  console.log(options)
  console.log(options.query)

输出的query为空对象{}。输出大概是这个样子:

Object { scene: 1001, query: {} ...}

这个scene也不太对。query也为空,我该怎么调试?

回答关注问题邀请回答
收藏

1 个回答

  • l cpp
    l cpp
    2021-03-30

    为了看的清楚,我简化了一下代码,还是获取不到query参数,我怀疑和我游戏的appid有关。因为我看不出来代码的问题。。。

    wx.showShareMenu({
        withShareTicket: true,
    })
    
    wx.onShareAppMessage(() => {
        return {
            query: "aa=bb",
            title: "test",
            success: (d) => {
                console.log("success", d);
            },
            fail: (err) => {
                console.log("why fail", err);
            }
        }
    })
    
    
    // get the info
    var option = wx.getLaunchOptionsSync();
    console.log("launch option: ", option);
    var query = option.query;
    console.log("query: ", query);
    if (typeof query != 'undefined') {
        console.log("query key length: ", Object.keys(query).length);
    }
    
    2021-03-30
    有用
    回复
登录 后发表内容
问题标签