收藏
回答

小程序如何带页面参数转发?

请问小程序可以进行参数页转发吗?     如果可以如何设置

最后一次编辑于  2018-01-23  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • Yang
    Yang
    2018-01-24

    第一步:为当前页面设置onShareAppMessage事件。官网说明:

    • 只有定义了此事件处理函数,右上角菜单才会显示 “转发” 按钮

    • 此事件需要 return 一个 Object,用于自定义转发内容

    上面两句划重点。


    第二步:为onShareAppMessage事件添加逻辑处理。

    第三步:在小程序首页/默认启动页,获取分享者信息。


    直接上代码:

    第一步:(在app.js里定义一个公共函数。)

    //设置右上角分享

    setShareAppMessage: function (args) {

    //分享标题

    var title = args.title || "xxxxxxxx"

    //页面路径

    var path = args.path || "/pages/index/index?shareUserId=" + 123 + "&shareUserName=xxxx"

    if (args.sharefrom === 'button') {

    //来自页面内转发按钮

    console.log(res.target)

    }

    return {

    title: title,

    path: path,

    success: function (res) {

    // 转发成功

    if (typeof args.success == "function") {

    args.success(res);

    }

    },

    fail: function (res) {

    // 转发失败

    if (typeof args.fail == "function") {

    args.fail(res);

    }

    }

    }

    }


    第二步:(onShareAppMessage事件添加逻辑处理,也就是调用上面的公共函数

    /**

      * 用户点击右上角分享

      */

    onShareAppMessage: function (res) {

    //设置右上角分享

    return app.setShareAppMessage({

    //转发来源

    sharefrom: res.from

    })

    }


    第三步:(在小程序首页/默认启动页,获取分享者信息

    /**

      * 生命周期函数--监听页面加载

      */

    onLoad: function (options) {

    //获取分享人id

    var shareUserId = options.shareUserId || ''

    //获取分享人昵称

    var shareUserName = options.shareUserName || ''

    //判断分享人id是否为空

    if (shareUserId && shareUserName) {

    //显示消息框

    this.showToast("来自" + shareUserName + "的分享~", 2000)

    }

    }

    2018-01-24
    赞同
    回复