美文网首页
微信小程序的带参数分享:识别二维码与消息卡片

微信小程序的带参数分享:识别二维码与消息卡片

作者: boundless_鑫 | 来源:发表于2019-01-31 15:21 被阅读0次

    带参数分享是微信小程序经常需要用到的功能,但官方文档介绍的并不够详细,本文主要介绍两种常用的分享模式:扫描或识别二维码,消息卡片。


    一、扫描或识别二维码

    在扫描二维码之前,先说说生成二维码。通常二维码是从后台请求到的(微信不允许前台直接生成),以下是官方Api的“getWXACodeUnlimit”中的几个常用参数:

    1.access_token(必传):在官方API中的接口调用凭证,有详细介绍

    2.page:扫描二维码后跳转的页面,不能携带参数,可不传,默认跳主页面

    3.scene(必传):这个是重点,scene 字段的值会作为 query 参数传递给小程序

    4.is_hyaline:是否需要透明底色,默认是false,即白色背景的二维码

    5.width:默认是430px大小,取值范围是(280px-1280px)

    下面是关于二维码的一个示例:

    在生成二维码时,scene参数我传了“422_1_12_32”,参数不宜过长,这几个数字代表关键信息。

    扫描二维码后,在小程序的onLaunch方法中,输出一下参数(参数名为options):

    {"path":"pages/index","query":{"scene":"422_1_12_32"},"scene":1048,"referrerInfo":{}}

    随后,获取二维码中的参数:

    if (options.query.scene) {

        let theScene = decodeURIComponent(options.query.scene)

        let params = theScene.split('_')

    }

    如果不希望在onLaunch中处理参数,可以在指定页面的onLoad方法中获取:

    onLoad(options) {

        let scene = decodeURIComponent(options.scene)

    }


    二、消息卡片

    消息卡片不同于二维码,触发上图事件需要点击按钮:

    <button open-type="share" hover-class="none" id="1"></button>

    随后调用页面的onShareAppMessage方法:

    onShareAppMessage() {

          return {

            title: '红旗H5 2018款 30TD 智联享动版',

            path: '/pages/cars/carDetail?id=12&name=422',

            imageUrl: '图片路径'

          }

       }

    这里的path是指定跳转页面,可以传参,

    当用户点击消息卡片进入小程序时,在onLaunch()方法中,输出一下参数:

    {"path":"pages/cars/carDetail","query":{"id":"12","name":"422"},"scene":1007,"referrerInfo":{}}

    同样,在carDetail页面的onLoad方法中,输出一下参数:

    {id: "12", name: "422"}

    至此,参数已获取到,可以进行下一步操作了。


    相关文章

      网友评论

          本文标题:微信小程序的带参数分享:识别二维码与消息卡片

          本文链接:https://www.haomeiwen.com/subject/gbdksqtx.html