收藏
评论

onLaunch和onShow接口中qurey参数用法

官方文档中https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html

关于onLaunch和onShow接口中qurey参数的说明就一句话:

打开小程序的query


这让人摸不着头脑,不知道什么意思!坑啊


用法一:


添加新的编译模式,启动参数里面写上,形如:name=vendor&color=black 这样形式的字符串

然后点击确定按钮,你可以通过上面的onLaunch和onShow接口中qurey参数获得到这个值。其中query参数是一个Object类型,它会把上面的name=vendor&color=black 解析成对象 {name:'vendor', color='black'}。



用法二:

wx.onShareAppMessage(function () {
                console.log('on share app msg');
                // 用户点击了“转发”按钮
                return {
                    title: '转发标题',
                    query: "paramA=abc&test=value",
                }
            });

在分享中,添加字段query,它的值你可以定义形如name=vendor&color=black 这样的字符串。

分享到用户或者群之后,通过点击分享卡,进行小程序或者小游戏中时,这个参数就会通过上面的onLaunch和onShow接口中qurey参数获得到这个值。 同样,这个query值会解析成Object对象。



最后一次编辑于  2018-08-15
赞 2
收藏

2 个评论

  • 稀饭
    稀饭
    2018-10-30

    用法二用手机调试时,在onshow里打印query值是空的,

    console.log(JSON.stringify(wx.getLaunchOptionsSync().query)),不知道线上版会不会有问题?


    2018-10-30
    赞同
    回复 2
    • 龙印
      龙印
      2018-10-30

      这个最好确认下 哪里没有传入query参数。

      2018-10-30
      回复
    • 稀饭
      稀饭
      2018-10-30回复龙印

      和你用法2写的一样,只是把 query: "paramA=abc&test=value",改为query: "name=123",然后我一个手机转发小程序到另一个手机,另一个手机在调试中输出query为 {},讲道理要输出{name:123}的

      2018-10-30
      回复
  • KangKang
    KangKang
    2018-08-25

    之前使用path传递的路径转发后完全收不到,现在尝试你提供的方法在本地调试依然没用,期望上线可以运行。我这里的转发是指在群聊或个人转发,非页面内转发

    2018-08-25
    赞同
    回复